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
Sijie.Sun and GitHub
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 and GitHub
076f6cd965
Merge pull request #93 from wuyumin/yumin-dev
...
update files for compiler
2024-05-08 22:29:45 +08:00
Sijie.Sun and GitHub
2d394acc47
Merge pull request #90 from m1m1sha/feat/custom-hostname
...
Feat/custom hostname
2024-05-08 21:44:01 +08:00
Sijie.Sun and GitHub
c3df9ea7fa
Merge pull request #84 from m1m1sha/perf/gui-front-perf
...
Optimize the GUI front-end project structure
2024-05-08 00:25:20 +08:00
Sijie.Sun and GitHub
14df3d3075
mips support wireguard ( #87 )
2024-05-07 23:14:29 +08:00
Sijie.Sun and GitHub
8440eb842b
fix bugs and improve user experiance ( #86 )
...
* correctly set mtu, and allow set mtu manually
* communicate between enc and non-enc should not panic
* allow loading cfg from file
* allow change file log level dynamically
2024-05-07 00:38:05 +08:00
Sijie.Sun and GitHub
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 and GitHub
714667fdce
Update rust.yml ( #76 )
...
fix [PR from fork cannot use github secret directly](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#using-secrets-in-a-workflow )
2024-05-05 11:06:39 +08:00
Sijie.Sun and GitHub
3a5332e31d
use mimalloc for mips/mipsel ( #71 )
2024-05-04 00:26:57 +08:00
Sijie.Sun and GitHub
61d5e38cc9
Update README.md ( #70 )
2024-05-03 21:50:48 +08:00
Sijie.Sun and GitHub
3763c959db
Merge pull request #68 from KKRainbow/mips
...
Add mips / mipsel support
- mips do not support wireguard.
- mips use aes-gcm crates instead of ring crates for encryption
2024-05-03 17:28:10 +08:00
Sijie.Sun and GitHub
ebbed97ed5
bump version in Carto.toml to v1.0.0 ( #67 )
2024-05-03 07:57:05 +08:00
Sijie.Sun and GitHub
d8446778cc
update readme ( #65 )
...
add picture of gui
2024-04-29 21:50:58 +08:00
Sijie.Sun and GitHub
70dee329d1
fix crash bugs ( #64 )
2024-04-29 21:02:05 +08:00
Sijie.Sun and GitHub
6595c2837e
fix win multi network ( #63 )
2024-04-28 23:21:58 +08:00
Sijie.Sun and GitHub
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 and GitHub
fcc73159b3
support encryption ( #60 )
2024-04-27 13:44:59 +08:00
Sijie.Sun and GitHub
69651ae3fd
Perf improve ( #59 )
...
* improve perf
* fix forward
2024-04-26 23:02:07 +08:00
Sijie.Sun and GitHub
096af6aa45
fix tun device on mac ( #58 )
2024-04-26 21:19:47 +08:00
Sijie.Sun and GitHub
57c9f11371
adapt tun device to zerocopy ( #57 )
2024-04-25 23:25:37 +08:00
Sijie.Sun and GitHub
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 and GitHub
39021d7b1b
fix gui minor-bugs ( #54 )
...
1. cannot persist locale setting.
2. set forcus after show from tray icon
2024-04-21 10:00:01 +08:00
Sijie.Sun and GitHub
0ddcda1b31
introduce gui based on tauri ( #52 )
2024-04-14 23:29:34 +08:00
Sijie.Sun and GitHub
50e14798d6
fix ring tunnel cannot close ( #51 )
2024-04-07 11:35:22 +08:00
Sijie.Sun and GitHub
727ef37ae4
add client gui for easytier ( #50 )
2024-04-06 22:44:30 +08:00
Sijie.Sun and GitHub
4eb7efe5fc
use workspace, prepare for config server and gui ( #48 )
2024-04-04 10:33:53 +08:00
Sijie.Sun and GitHub
bb4ae71869
bump easytier version to 0.1.2 ( #45 )
2024-04-03 23:14:23 +08:00