sijie.sun
24213a874a
make http connector timeout longer
...
http response may be slow, make its timeout longer.
2025-03-07 22:17:23 +08:00
sijie.sun
673c34cf5a
http redirector
2025-02-21 11:51:13 +08:00
sijie.sun
2050ed78d0
remove some dep
2025-02-21 11:51:13 +08:00
sijie.sun
dd5b00faf4
bump version to v2.2.2
2025-02-10 08:47:18 +08:00
Sijie.Sun
4aea0821dd
forward original peer info in ospf route ( #589 )
...
prost doesn't support unknown field, and these info may be lost when
they go through a old version node.
2025-01-27 20:38:22 +08:00
Sijie.Sun
08546925cc
fix tests ( #588 )
...
fix proxy_three_node_disconnect_test and hole_punching_symmetric_only_random
2025-01-27 15:17:47 +08:00
Sijie.Sun
9d76b86f49
fix bugs ( #561 )
...
1. if peers disconnected before stop session, may crash at the assert.
2. bind_device flag should take effect on manual connector.
2025-01-12 00:16:38 +08:00
Sijie.Sun
bb0ccca3e5
allow manually specify public address of listeners ( #556 )
2025-01-10 09:25:14 +08:00
Sijie.Sun
4bb72b5606
fix rpc packet route before first route info exchange ( #516 )
...
* fix rpc packet route before first route info exchange
* fix install script
* update config server help
2024-12-19 09:25:25 +08:00
Sijie.Sun
c4d8ea4fec
refactor sym to cone punch ( #515 )
2024-12-18 23:56:47 +08:00
Sijie.Sun
a78b759741
feat/web (Patchset 2) ( #444 )
...
This patch implement a restful server without any auth.
usage:
```bash
# run easytier-web, which acts as an gateway and registry for all easytier-core
$> easytier-web
# run easytier-core and connect to easytier-web with a token
$> easytier-core --config-server udp://127.0.0.1:22020/fdsafdsa
# use restful api to list session
$> curl -H "Content-Type: application/json" -X GET 127.0.0.1:11211/api/v1/sessions
[{"token":"fdsafdsa","client_url":"udp://127.0.0.1:48915","machine_id":"de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f"}]%
# use restful api to run a network instance
$> curl -H "Content-Type: application/json" -X POST 127.0.0.1:11211/api/v1/network/de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f -d '{"config": "listeners = [\"udp://0.0.0.0:12344\"]"}'
# use restful api to get network instance info
$> curl -H "Content-Type: application/json" -X GET 127.0.0.1:11211/api/v1/network/de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f/65437e50-b286-4098-a624-74429f2cb839
```
2024-10-26 00:04:22 +08:00
Sijie.Sun
2c017e0fc5
improve hole punch ( #403 )
...
* fix duplicated peer id (again)
* improve udp hole punch
1. always try cone punch for any nat type, tolerate fault stun type.
2. serializing all sym punch request, including server side.
2024-10-10 00:07:42 +08:00
Sijie.Sun
e344372616
fix cone-to-cone punch ( #401 )
2024-10-09 22:39:06 +08:00
Sijie.Sun
1e836501a8
serialize all sym hole punch ( #390 )
2024-10-07 23:04:49 +08:00
Sijie.Sun
d4e59ffc40
fix listener may have no mapped addr ( #389 )
2024-10-07 12:15:20 +08:00
Sijie.Sun
37ceb77bf6
nat4-nat4 punch ( #388 )
...
this patch optimize the udp hole punch logic:
1. allow start punch hole before stun test complete.
2. add lock to symmetric punch, avoid conflict between concurrent hole punching task.
3. support punching hole for predictable nat4-nat4.
4. make backoff of retry reasonable
2024-10-06 22:49:18 +08:00
sijie.sun
ba3da97ad4
fix ipv6 direct connector not work
2024-10-03 11:56:10 +08:00
sijie.sun
c7895963e4
rollback some parameters
2024-09-29 23:17:46 +08:00
sijie.sun
bd60cfc2a0
add feature flag to ospf route
2024-09-21 20:54:19 +08:00
Sijie.Sun
1b03223537
use customized rpc implementation, remove Tarpc & Tonic ( #348 )
...
This patch removes Tarpc & Tonic GRPC and implements a customized rpc framework, which can be used by peer rpc and cli interface.
web config server can also use this rpc framework.
moreover, rewrite the public server logic, use ospf route to implement public server based networking. this make public server mesh possible.
2024-09-18 21:55:28 +08:00
Sijie.Sun
f07b3ee9c6
fix punching task leak ( #298 )
...
the punching task creator doesn't check if the task is already
running, and may create many punching task to same peer node.
this patch also improve hole punching by checking hole punch packet
even if punch rpc is failed.
2024-08-31 14:37:34 +08:00
3RDNature
6964fb71fc
Add a setting "disable_udp_hole_punch" to disable UDP hole punch function ( #291 )
...
It can solve #289 tentative.
Co-authored-by: 3rdnature <root@natureblog.net >
2024-08-29 11:34:30 +08:00
Sijie.Sun
54c6418f97
only add necessary conn to alive urls ( #277 )
...
too many alive conns may cause high cpu usage and lagged broadcast
recv.
2024-08-25 11:12:01 +08:00
Sijie.Sun
b6fb7ac962
add two cmd line option ( #241 )
...
1. disable_p2p: only using specified peers to relay packets.
2. relay_all_peer_rpc: allow relay route info for networks not in whitelist
2024-08-10 00:26:54 +08:00
sijie.sun
b4fbcd8d80
use random ip from dns record instead of only first one
2024-08-04 23:42:33 +08:00
sijie.sun
0da09ec605
add network whitelist for public relay node
2024-08-03 15:39:04 +08:00
sijie.sun
d5bc15cf7a
fix session_task and session mismatch
2024-08-03 13:11:44 +08:00
Sijie.Sun
858ade2eee
Android Support ( #166 )
...
1. Add vpnservice tauri plugin for android.
2. add workflow for android.
3. Easytier Core support android, allow set tun fd.
2024-07-15 00:03:55 +08:00
Sijie.Sun
34f832bbad
make tun dependency optional ( #142 )
...
* remove log crates
* remove udp/raw of smoltcp
* make tun as optional dependancy, compile for freebsd works
2024-06-11 09:09:32 +08:00
Sijie.Sun
8aa57ebc22
support no tun mode ( #141 )
2024-06-10 10:27:24 +08:00
Sijie.Sun
f9e6264f31
fix upx and udp conn counter ( #131 )
...
* fix upx in workflow
* fix udp conn counter
2024-06-04 18:50:30 +08:00
Sijie.Sun
c1b725e64e
websocket support bind addr ( #129 )
2024-06-02 21:48:16 +08:00
Sijie.Sun
abf9d23d52
improve hole punching and stun test ( #124 )
...
* implement new stun test algorithm, do test faster and provide more info
* support punching for symmetric
2024-06-02 07:20:57 +08:00
sijie.sun
1b1d76de99
introduce websocket tunnel
2024-05-11 23:29:55 +08:00
Sijie.Sun
7d3b8e42fe
move reconn task join into select! ( #88 )
...
if join_next stuck, may miss global event and cause panic
2024-05-09 18:51:58 +08:00
Sijie.Sun
e5b537267e
bug fix and improve ( #81 )
...
1. fix manual connector do not retry if dns resolve failed.
2. allow not creating tun device if no virtual ipv4 is assigned.
2024-05-05 16:18:05 +08:00
sijie.sun
873851e6d0
mips
2024-05-03 17:09:46 +08:00
sijie.sun
d8033a77b9
support use ipv6
2024-04-28 22:24:24 +08:00
sijie.sun
a3e85a1270
tunnel support ipv6
2024-04-28 22:24:24 +08:00
Sijie.Sun
66b3241be7
fix handshake dead lock, clean old code ( #61 )
...
* fix handshake dead lock
* remove old code
2024-04-27 16:27:42 +08:00
Sijie.Sun
fcc73159b3
support encryption ( #60 )
2024-04-27 13:44:59 +08:00
Sijie.Sun
69651ae3fd
Perf improve ( #59 )
...
* improve perf
* fix forward
2024-04-26 23:02:07 +08:00
Sijie.Sun
3467890270
zero copy tunnel ( #55 )
...
make tunnel zero copy, for better performance. remove most of the locks in io path.
introduce quic tunnel
prepare for encryption
2024-04-24 23:12:46 +08:00
Sijie.Sun
4eb7efe5fc
use workspace, prepare for config server and gui ( #48 )
2024-04-04 10:33:53 +08:00