Sijie.Sun and GitHub
55a39491cb
feat/kcp ( #580 )
...
* support proxy tcp stream with kcp to improve experience of tcp over udp
* update rust version
* make subnet proxy route metrics lower in windows.
2025-01-26 00:41:15 +08:00
Sijie.Sun and GitHub
1194ee1c2d
fix peer manager stuck when sending large peer rpc ( #572 )
2025-01-17 06:50:21 +08:00
Sijie.Sun and GitHub
c23b544c34
tcp accept should retry when encoutering some kinds of error ( #565 )
...
* tcp accept should retry when encoutering some kinds of error
bump version to v2.1.2
* persistent temporary machine id
2025-01-14 08:55:48 +08:00
Sijie.Sun and GitHub
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 and GitHub
bb0ccca3e5
allow manually specify public address of listeners ( #556 )
2025-01-10 09:25:14 +08:00
Sijie.Sun and GitHub
306817ae9a
allow listener retry listen ( #554 )
2025-01-09 00:01:41 +08:00
Sijie.Sun and GitHub
d2ec60e108
batch recv for udp proxy ( #552 )
2025-01-07 23:52:18 +08:00
Sijie.Sun and GitHub
e016aeddeb
optimize pingpong conn close condition ( #549 )
...
if received some packets from peer, only close conn after enough
rounds of pingpong
2025-01-07 22:42:57 +08:00
Sijie.Sun and GitHub
a4419a31fd
fix peer rpc compatibility issue ( #548 )
...
every rpc packet should contains descriptor if sent to old version et.
2025-01-06 23:30:56 +08:00
Sijie.Sun and GitHub
34e4e907a9
bump version to v2.1.1 ( #533 )
2024-12-24 10:40:57 -05:00
Sijie.Sun and GitHub
2f4a097787
fix android ( #531 )
2024-12-23 19:38:32 -05:00
Sijie.Sun and GitHub
f3de00be37
support pause a network ( #528 )
2024-12-23 09:29:59 +08:00
Sijie.Sun and GitHub
4cf61f0d4a
fix web show dup entry for same machine ( #526 )
2024-12-21 11:51:01 -05:00
Sijie.Sun and GitHub
4e5915f98e
save api host in local storage ( #523 )
2024-12-21 01:29:54 +08:00
Sijie.Sun and GitHub
870eca9e9f
optimize easytier-web ( #522 )
...
1. use default compress level for tower_http. the best level consume
lots of memory
2. add more help message and command line arg.
2024-12-21 01:27:39 +08:00
Sijie.Sun and GitHub
25ed41caf5
use correct config server url ( #519 )
2024-12-20 00:21:22 +08:00
Sijie.Sun and GitHub
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 and GitHub
c4d8ea4fec
refactor sym to cone punch ( #515 )
2024-12-18 23:56:47 +08:00
Sijie.Sun and GitHub
aed54f7318
support respond stun request in udp tunnel ( #484 )
...
we can use this to help the hole punching. (getting public mapped address stablely)
2024-11-20 23:45:06 +08:00
Sijie.Sun and GitHub
86600c6315
version 2.1.0 ( #482 )
2024-11-19 23:46:02 +08:00
Sijie.Sun and GitHub
3f47f37470
fix high cpu usage when client proto mismatch ( #481 )
...
before this patch, invalid packat received by tunnel reader may cause a dead loop in handshake.
2024-11-19 21:36:09 +08:00
Sijie.Sun and GitHub
1324e6163e
move toast to bottom right ( #478 )
2024-11-16 21:36:16 +08:00
Sijie.Sun and GitHub
89093167c6
fix autocomplete not show dropdown ( #477 )
2024-11-16 21:31:19 +08:00
Sijie.Sun and GitHub
15ad92aef2
fix no relay not work in local network ( #476 )
2024-11-16 14:36:17 +08:00
Sijie.Sun and GitHub
6cdea38284
support compress for rpc and tun data ( #473 )
...
* support compress for rpc and tun data
* add compression layer to easytier-web
2024-11-16 11:23:18 +08:00
Sijie.Sun and GitHub
4fc3ff8ce8
gui use frontend-lib, fix memory leak ( #467 )
2024-11-10 23:03:40 +08:00
Sijie.Sun and GitHub
88e6de9d7e
make all frontend functions works ( #466 )
2024-11-10 11:06:58 +08:00
Sijie.Sun and GitHub
e948dbfcc1
Feat/web (Patchset 4) ( #460 )
...
support basic functions in frontend
1. create/del network
2. inspect network running status
2024-11-08 23:33:17 +08:00
Sijie.Sun and GitHub
8aca5851f2
feat/web: Patchset 3 ( #455 )
...
https://apifox.com/apidoc/shared-ceda7a60-e817-4ea8-827b-de4e874dc45e
implement all backend API
2024-11-02 15:13:19 +08:00
Sijie.Sun and GitHub
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 and GitHub
0bf42c53cc
Feat/web (PatchSet 1) ( #436 )
...
* move rpc-build out of easytier dir and make it a independant project
* easytier core use launcher
* fix flags not print on launch
* allow launcher not fetch node info
* abstract out peer rpc impl
* fix arm gui ci. see https://github.com/actions/runner-images/pull/10807
* add easytier-web crate
* fix manual_connector test case
2024-10-19 18:10:02 +08:00
Sijie.Sun and GitHub
2134bc9139
fix icmp/udp subnet proxy not work with public server relay ( #431 )
2024-10-17 00:22:42 +08:00
Sijie.Sun and GitHub
d87a440c04
fix 202 bugs ( #418 )
...
* fix peer rpc stop working because of mpsc tunnel close unexpectedly
* fix gui:
1. allow set network prefix for virtual ipv4
2. fix android crash
3. fix subnet proxy cannot be set on android
2024-10-13 11:59:16 +08:00
Sijie.Sun and GitHub
d2291628e0
mpsc tunnel may be stuck by slow tcp stream, should not panic for this ( #406 )
...
* mpsc tunnel may be stuck by slow tcp stream, should not panic for this
* disallow node connect to self
2024-10-11 00:12:14 +08:00
Sijie.Sun and GitHub
7ab8cad1af
allow use ipv4 address in any cidr ( #404 )
2024-10-10 10:28:48 +08:00
Sijie.Sun and GitHub
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 and GitHub
e344372616
fix cone-to-cone punch ( #401 )
2024-10-09 22:39:06 +08:00
Sijie.Sun and GitHub
63821e56bc
fix udp buffer size, avoid packet loss ( #399 )
...
also bump version to 2.0.2
2024-10-08 22:01:15 +08:00
Sijie.Sun and GitHub
1be64223c8
ensure dst have session when we are initiator ( #398 )
...
* ensure dst have session when we are initiator
* bump version to 2.0.1
2024-10-08 21:05:46 +08:00
Sijie.Sun and GitHub
a08a8e7f4c
update gui dep to resolve mem leak ( #394 )
2024-10-08 09:21:47 +08:00
Sijie.Sun and GitHub
1e836501a8
serialize all sym hole punch ( #390 )
2024-10-07 23:04:49 +08:00
Sijie.Sun and GitHub
d4e59ffc40
fix listener may have no mapped addr ( #389 )
2024-10-07 12:15:20 +08:00
Sijie.Sun and GitHub
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 and GitHub
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 and GitHub
096ed39d23
fix udp proxy disconn unexpectedly ( #321 )
2024-09-11 23:46:26 +08:00
Sijie.Sun and GitHub
1609c97574
fix panic when wireguard tunnel encounter udp recv error ( #299 )
2024-09-02 09:37:34 +08:00
Sijie.Sun and GitHub
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
Sijie.Sun and GitHub
2058dbc470
fix wg client hang after some time ( #297 )
...
wg portal doesn't know client disconnect causing msg overstocked in queue, make
entire peer packet process pipeline hang.
2024-08-31 12:44:12 +08:00
Sijie.Sun and GitHub
2b7ff0efc5
bump version to v1.2.3 and update readme ( #280 )
2024-08-25 13:45:18 +08:00
Sijie.Sun and GitHub
5833541a6e
set correct route cost for peers relayed by public server ( #279 )
2024-08-25 12:27:00 +08:00
Sijie.Sun and GitHub
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 and GitHub
fc9aac42b4
fix release.yml, just skip zip gui & mobile artifect ( #276 )
2024-08-25 00:45:14 +08:00
Sijie.Sun and GitHub
89b43684d8
add complete support for freebsd ( #275 )
...
add tun & websocket & wireguard support on freebsd
2024-08-25 00:44:45 +08:00
Sijie.Sun and GitHub
833e7eca22
add command to show local node info ( #271 )
2024-08-23 11:50:11 +08:00
Sijie.Sun and GitHub
b7d85ad2ff
update rust-i18n to v3.1.2 ( #269 )
2024-08-21 11:00:13 +08:00
Sijie.Sun and GitHub
8793560e12
fix i18n, revert rust-i18n to v3.0.1 ( #267 )
2024-08-20 00:38:59 +08:00
Sijie.Sun and Sijie.Sun
28ae9c447a
Update Dockerfile to fix timezone
2024-08-17 00:00:32 +08:00
Sijie.Sun and GitHub
29806b899a
add draft release github action ( #246 )
2024-08-13 00:06:12 +08:00
Sijie.Sun and GitHub
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 and GitHub
232165eff3
fix bugs ( #236 )
2024-08-08 22:03:22 +08:00
Sijie.Sun and GitHub
2bc4dd8c53
Update install_rust.sh ( #237 )
2024-08-08 20:07:22 +08:00
Sijie.Sun and GitHub
5f0d71b0fe
check trigger user for docker action ( #219 )
2024-08-04 00:37:58 +08:00
Sijie.Sun and GitHub
4fea3a60d6
update last_updated of peer info to local now ( #211 )
...
time between peers may not be synced, using peer last_updated time may cause peer info being cleared incorrectly
2024-08-02 00:48:31 +08:00
Sijie.Sun and GitHub
7a2bc52ae0
fix network to network without masquerade ( #207 )
2024-08-01 01:27:23 +08:00
Sijie.Sun and GitHub
5451b52daa
allow set routes manually and disable propagated routes ( #191 )
2024-07-24 22:45:55 +08:00
Sijie.Sun and GitHub
fc9812dd54
fix crash on old version android (<= 9) ( #183 )
...
* fix crash on old version android (<= 9)
* fix listener select
2024-07-19 23:55:11 +08:00
Sijie.Sun and GitHub
8858492fb4
fix vpn close when getting new subnet route ( #179 )
2024-07-18 08:48:45 +08:00
Sijie.Sun and GitHub
5987528f59
optimize android gui ( #174 )
...
make chips input more friendly
2024-07-15 22:55:10 +08:00
Sijie.Sun and GitHub
a03fc04b1b
set route correctly in android ( #172 )
2024-07-15 00:57:19 +08:00
Sijie.Sun and GitHub
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 and GitHub
4938e3ed2b
migrate to tauri2 ( #159 )
...
migrate gui to tauri2
2024-07-08 23:18:10 +08:00
Sijie.Sun and GitHub
537f6ecf78
fix smoltcp tcp proxy ( #157 )
...
1. allow smoltcp proxy with dhcp ip
2. fix smoltcp not work without no tun.
2024-07-07 22:08:50 +08:00
Sijie.Sun and GitHub
24143cbf1c
add verbose cli mode; add list foreign network ( #156 )
2024-07-07 16:51:20 +08:00
Sijie.Sun and GitHub
513e4cacc9
add more debug info for route ( #155 )
...
1. use info log for sync_route_info
2. allow dump route info with cli tool.
3. dump route info every 60s
2024-07-07 15:40:46 +08:00
Sijie.Sun and GitHub
7cfa850d4c
GUI: support change log level when running ( #153 )
2024-07-06 17:18:13 +08:00
Sijie.Sun and GitHub
571d4a6e8f
fix bug in dhcp ( #152 )
...
1. fix dhcp not retry if tun device init failed.
2. forbid dhcp use default ip when no peer.
2024-07-06 14:22:11 +08:00
Sijie.Sun and GitHub
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 and GitHub
8aa57ebc22
support no tun mode ( #141 )
2024-06-10 10:27:24 +08:00
Sijie.Sun and GitHub
fede35cca4
correctly handle ip fragment for udp/icmp proxy ( #137 )
...
icmp/udp proxy do not rely on kernel net stack, but currently not handle ip fragmentation correctly.
this patch add ip resembler to merge fragmented ip packet for udp/icmp proxy
2024-06-09 22:59:50 +08:00
Sijie.Sun and GitHub
70ad81f7bd
only upx on linux ( #134 )
2024-06-05 21:00:30 +08:00
Sijie.Sun and GitHub
b43c078152
fix udp proxy not work when being exit node ( #133 )
2024-06-05 08:08:55 +08:00
Sijie.Sun and GitHub
6e77e6b5e7
support start on reboot ( #132 )
...
* move launcher to eastier lib
* support auto start after reboot
2024-06-04 23:06:10 +08:00
Sijie.Sun and GitHub
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 and GitHub
df17a7bb68
bugfix before release 11x ( #130 )
...
* use correct i18n hook
* fix peer rpc panic
make sure server use correct transact id
* fix dhcp
recreate tun device after ip changed
* use upx correctly
* compile arm & armv7
* prepare to release v1.1.0
2024-06-03 23:07:44 +08:00
Sijie.Sun and GitHub
c1b725e64e
websocket support bind addr ( #129 )
2024-06-02 21:48:16 +08:00
Sijie.Sun and GitHub
360691276c
support win7 and reduce win mem usage ( #128 )
2024-06-02 14:07:21 +08:00
Sijie.Sun and GitHub
f1e9864d08
make release bin smaller ( #127 )
2024-06-02 09:15:40 +08:00
Sijie.Sun and GitHub
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 and GitHub
bdbb1f02d6
Update Cargo.lock ( #122 )
2024-05-22 00:36:16 +08:00
Sijie.Sun and GitHub
f64f58e2ae
support exit node ( #121 )
...
support exit node, proxy all traffic via one of node
NOTE: this patch has not implemented automatically route management.
2024-05-18 20:32:42 +08:00
Sijie.Sun and GitHub
6efbb5cb3d
minor fixed ( #120 )
...
1. fix mtu, always set by ourselves and use smaller value
2. wireguard connector should return tunnel after receive packet
2024-05-18 18:04:06 +08:00
Sijie.Sun and GitHub
bad6a5946a
fix run with config, update readme ( #118 )
2024-05-17 22:00:11 +08:00
Sijie.Sun and GitHub
7532a7c1b2
command line improvement ( #115 )
...
make -l easy to use:
-l wg wss
-l wg:12345
-l 12345
make -r use random port
2024-05-16 20:16:09 +08:00
Sijie.Sun and GitHub
f665de9b18
allow peer rpc split packet, so tunnel mtu can be small ( #116 )
2024-05-16 08:18:35 +08:00
Sijie.Sun and GitHub
d5bf041834
some minor fix ( #113 )
...
1. fix ospf route panic if no ipv4 assigned.
2. should refetch global peer latency map every 60s
3. remove regex dep because it's too large and unnecessary.
2024-05-15 09:21:20 +08:00
Sijie.Sun and GitHub
65ac991d1c
(Tyr) fix flashing console window on windows ( #105 )
...
add requireAdmin in app manist
2024-05-11 12:02:15 +08:00
Sijie.Sun and GitHub
2deb867678
move shared codes in workflows to script ( #103 )
2024-05-10 22:56:00 +08:00
Sijie.Sun and GitHub
e023c05440
Merge pull request #102 from EasyTier/fix-gui-workflow
...
rename workflow job name for gui
2024-05-10 22:39:23 +08:00
Sijie.Sun and GitHub
72701c9eb3
start tcp proxy after tun device created ( #94 )
...
on win 10, tcp proxy listener created before tun device may not accept
conn from tun dev.
2024-05-10 21:40:50 +08:00
Sijie.Sun and GitHub
b1153378c9
fix icmp proxy on MacOS ( #101 )
...
1. MacOS doesn't fill length field in ip header when recving from raw
socket
2. Fix udp & icmp subnet proxy not work when no p2p connection.
2024-05-10 21:40:29 +08:00