Sijie.Sun
7f3a9c021c
close peer conn if remote addr is from virtual network ( #1123 )
2025-07-18 03:29:48 +08:00
Sijie.Sun
940238f158
socks5 and port forwarding ( #1118 )
2025-07-17 10:09:25 +08:00
Sijie.Sun
3f6c7ba1d2
update readme ( #1102 )
2025-07-10 00:34:34 +08:00
Sijie.Sun
13c2e72871
fix incorrect config check ( #1086 )
2025-07-06 14:20:49 +08:00
Sijie.Sun
3c65594030
smoltcp use larger tx/rx buf size ( #1085 )
...
* smoltcp use larger tx/rx buf size
* fix direct conn check
2025-07-06 10:53:01 +08:00
Sijie.Sun
f85b031402
handle close peer conn correctly ( #1082 )
2025-07-06 09:16:13 +08:00
Sijie.Sun
ac3e994682
contributing.md ( #1084 )
2025-07-06 00:08:21 +08:00
Sijie.Sun
139f6b3c4c
exclude ohos from workspace ( #1080 )
2025-07-05 18:44:37 +08:00
Sijie.Sun
a4bb555fac
use winapi to config ip and route (remove dep on netsh) ( #1079 )
...
On some windows machines can not execut netsh.
Also this avoid black cmd window when using gui.
2025-07-05 16:50:09 +08:00
Sijie.Sun
bf021a9ead
update gui placeholder text ( #1062 )
2025-06-27 08:29:44 +08:00
Sijie.Sun
70e69a382e
allow set multithread count ( #1056 )
2025-06-26 02:19:33 +08:00
Sijie.Sun
cd26d9f669
fix mem leak of token bucket ( #1055 )
2025-06-26 02:19:26 +08:00
Sijie.Sun
4fd0253e99
fix cargo install failure ( #1054 )
2025-06-25 21:55:44 +08:00
Sijie.Sun
ebab70ca3b
add geo info for in web device list ( #1052 )
2025-06-25 09:03:47 +08:00
Sijie.Sun
ae4a158e36
web improve ( #1047 )
2025-06-24 09:09:52 +08:00
Sijie.Sun
fded8b1de0
limit max conn count in foreign network manager ( #1041 )
2025-06-22 19:11:27 +08:00
Sijie.Sun
762d5cd392
blacklist the peers which disable p2p in hole-punching client ( #1038 )
2025-06-22 14:39:24 +08:00
Sijie.Sun
40601bd05b
add bps limiter ( #1015 )
...
* add token bucket
* remove quinn-proto
2025-06-19 21:15:04 +08:00
Sijie.Sun
8c2f96d1aa
allow set machine uid with command line ( #1009 )
2025-06-18 11:02:29 +08:00
Sijie.Sun
34ba0bc95b
add keepalive option for quic proxy ( #1008 )
...
avoid connection loss when idle
2025-06-17 23:39:56 +08:00
Sijie.Sun
40b5fe9a54
support quic proxy ( #993 )
...
QUIC proxy works like kcp proxy, it can proxy TCP streams and transfer data with QUIC.
QUIC has better congestion algorithm (BBR) for network with both high loss rate and high bandwidth.
QUIC proxy can be enabled by passing `--enable-quic-proxy` to easytier in the client side. The proxy status can be viewed by `easytier-cli proxy`.
2025-06-15 19:43:45 +08:00
Sijie.Sun
5a98fac395
Update core.yml,use upx4.2.4 ( #991 )
2025-06-14 23:04:55 +08:00
Sijie.Sun
0bab14cd72
use bulk compress instead of streaming to reduce mem usage ( #985 )
2025-06-14 14:55:48 +08:00
Sijie.Sun
25dcdc652a
support mapping subnet proxy ( #978 )
...
- **support mapping subproxy network cidr**
- **add command line option for proxy network mapping**
- **fix Instance leak in tests.
2025-06-14 11:42:45 +08:00
Sijie.Sun
950cb04534
remove macos default route on utun device ( #976 )
2025-06-12 22:24:34 +08:00
Sijie.Sun
c07d1286ef
internal stun server should use xor mapped addr ( #975 )
2025-06-12 08:09:59 +08:00
Sijie.Sun
870353c499
fix ospf route ( #970 )
...
- **fix deadlock in ospf route introducd by #958 **
- **use random peer id for foreign network entry, because ospf route algo need peer id change after peer info version reset. this may interfere route propagation and cause node residual**
- **allow multiple nodes broadcast same network ranges for subnet proxy**
- **bump version to v2.3.2**
2025-06-11 09:44:03 +08:00
Sijie.Sun
f39fbb2ce2
ipv4-peerid table should use peer with least hop ( #958 )
...
sometimes route table may not be updated in time, so some dead nodes are still showing in the peer list.
when generating ipv4-peer table, we should avoid these dead devices overrides the entry of healthy nodes.
2025-06-08 11:28:59 +08:00
Sijie.Sun
f890812577
kcp connect retry ( #952 )
2025-06-07 12:24:11 +08:00
Sijie.Sun
47f3efe71b
Create LICENSE ( #951 )
2025-06-07 10:56:54 +08:00
Sijie.Sun
6d88b10b14
remove LICENSE ( #950 )
2025-06-07 10:39:42 +08:00
Sijie.Sun
a6773aa549
zstd should reuse ctx to avoid huge mmap cost ( #941 )
2025-06-06 08:59:06 +08:00
Sijie.Sun
0314c66635
some improvements ( #939 )
...
1. ospf route conn map should also use version
2. treat nopat as cone
2025-06-05 22:49:57 +08:00
Sijie.Sun
96fc19b803
fix minor bugs ( #936 )
...
1. update upx to v5.0.1 to avoid mips bug.
2. use latest mimalloc.
3. fix panic in ospf route
4. potential residual conn.
2025-06-05 11:55:44 +08:00
Sijie.Sun
4608bca998
improve performance of route generation ( #914 )
...
this may fix following problem:
1. cpu 100% when large number of nodes in network.
2. high cpu usage when large number of foreign networks.
3. packet loss when new node enters/exits.
4. old routes not cleand and show as an obloleted entry.
2025-06-02 20:12:27 +08:00
Sijie.Sun
0a38a8ef4a
fix musl download fail in ci action ( #902 )
...
https://github.com/orgs/community/discussions/27906
musl.cc banned microsoft ips
this patch replace musl.cc with https://github.com/cross-tools/musl-cross
2025-05-29 09:35:32 +08:00
Sijie.Sun
6c49bb1865
rename magisk kill.sh to action.sh ( #893 )
2025-05-27 09:32:40 +08:00
Sijie.Sun
f9c24bc205
fix bugs ( #892 )
...
1. traffic stats not work.
2. magisk zip malformat
2025-05-27 09:28:28 +08:00
Sijie.Sun
b0fd37949a
fix direct connector only select one listener ( #875 )
2025-05-25 13:56:08 +08:00
Sijie.Sun
29994b663a
v6 hole punch ( #873 )
...
Some devices have ipv6 but don't allow input connection, this patch add hole punching for these devices.
- **add v6 hole punch msg to udp tunnel**
- **send hole punch packet when do ipv6 direct connect**
2025-05-24 22:57:33 +08:00
Sijie.Sun
0f2b214918
fix web test ( #872 )
2025-05-24 01:22:25 +08:00
Sijie.Sun
fec885c427
fix token mismatch when using web ( #871 )
2025-05-24 00:36:00 +08:00
Sijie.Sun
5a2fd4465c
fix dns query ( #864 )
...
1. dns resolver should be global unique so dns cache can work. avoid dns query influence hole punching.
2. when system dns failed, fallback to hickory dns.
2025-05-23 10:34:28 +08:00
Sijie.Sun and Your Name
83d1ecc4da
bump version to v2.3.0 ( #859 )
...
also some improvements:
1. add magic dns option in gui.
2. allow icmp proxy fail on android
3. when no_tun is enabled, android do not start vpn service
Co-authored-by: Your Name <you@example.com >
2025-05-18 16:45:39 +08:00
Sijie.Sun
7c6daf7c56
Magic DNS and easytier-web improvements ( #856 )
...
1. dns add macos system config
2. allow easytier-web serve dashboard and api in same port
2025-05-18 16:34:35 +08:00
Sijie.Sun
28fe6257be
magic dns ( #813 )
...
This patch implements:
1. A dns server that handles .et.net. zone in local and forward all other queries to system dns server.
2. A dns server instance which is a singleton in one machine, using one specific tcp port to be exclusive with each other. this instance is responsible for config system dns and run the dns server to handle dns queries.
3. A dns client instance that all easytier instance will run one, this instance will try to connect to dns server instance, and update the dns record in the dns server instance.
this pr only implements the system config for windows. linux & mac will do later.
2025-05-16 09:24:24 +08:00
Sijie.Sun
99430983bc
Update README.md ( #846 )
...
Add deepwiki badge
2025-05-12 21:39:55 +08:00
Sijie.Sun
d758a4958f
fix panic cause segment fault ( #843 )
...
1. backtrace may fail on some platform such as armv7, should do it last in panic hook.
2. stun should not panic when bind v6 failed.
2025-05-11 21:34:24 +08:00
Sijie.Sun
2675cf2d00
bump hickory-dns version to v0.25.2 ( #839 )
2025-05-11 08:46:31 +08:00
Sijie.Sun
72be46e8fa
allow tcp port forward use kcp ( #838 )
2025-05-11 00:48:34 +08:00
Sijie.Sun
b5f60f843d
set web assets base dir from env ( #793 )
2025-04-19 22:56:20 +08:00
Sijie.Sun
6bdfb8b01f
generate split js/css when building web ( #792 )
2025-04-19 22:38:56 +08:00
Sijie.Sun
ef1d81a2a1
introduce ffi for easytier ( #791 )
2025-04-19 21:01:51 +08:00
Sijie.Sun
75f7865769
fix gui memory leak ( #768 )
...
* upgrade primevue
* use card instead of panel
2025-04-10 10:02:04 +08:00
Sijie.Sun
01e3ad99ca
optimize memory issues ( #767 )
...
* optimize memory issues
1. introduce jemalloc support, which can dump current memory usage
2. reduce the GlobalEvent broadcaster memory usage.
3. reduce tcp & udp tunnel memory usage
TODO: if peer conn tunnel hangs, the unbounded channel of peer rpc
may consume lots of memory, which should be improved.
* select a port from 15888+ when port is 0
2025-04-09 23:05:49 +08:00
Sijie.Sun
b38991a14e
Merge branch 'main' into perf/fixed-default-rpc-port
2025-04-06 13:09:06 +08:00
Sijie.Sun
c142db301a
port forward ( #736 )
...
* support tcp port forward
* support udp port forward
* command line option for port forward
2025-04-01 09:59:53 +08:00
Sijie.Sun
e130c3f2e4
when gather v6 bind addrs should only rely on v6 range ( #707 )
2025-03-21 22:40:26 +08:00
Sijie.Sun
67cff12c76
fix gui compile ( #701 )
2025-03-20 00:55:14 +08:00
Sijie.Sun
d880dfbbca
bump version to v2.2.4 ( #697 )
2025-03-19 17:23:15 +08:00
Sijie.Sun
b46a200f8d
connector should set bind addrs correctly ( #696 )
2025-03-19 10:47:43 +08:00
Sijie.Sun
23f69ce6a4
improve direct connector ( #685 )
...
* support ipv6 stun
* show interface and public ip in cli node info
* direct conn should keep trying unless already direct connected
* peer should use conn with smallest latency
* deprecate ipv6_listener, use -l instead
2025-03-17 10:46:14 +08:00
Sijie.Sun
0318f55322
add serde default to NetworkConfig ( #675 )
...
* add serde default to NetworkConfig
* set base z-index of event-dialog
2025-03-12 10:36:54 +08:00
Sijie.Sun
5449eabf2a
Update docker.yml
2025-02-10 12:47:12 +08:00
Sijie.Sun
8b89a037e8
fix tcp incoming failure when kcp proxy is enabled ( #601 )
2025-02-06 09:08:34 +08:00
Sijie.Sun
1e821a03fe
netlink route add should be exclusive ( #596 )
2025-02-04 23:01:13 +08:00
Sijie.Sun
66051967fe
fix self peer route info not exist when starting ( #595 )
2025-02-04 21:35:14 +08:00
Sijie.Sun
a63778854f
use netlink instead of shell cmd to config ip ( #593 )
2025-02-03 15:13:50 +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
d0f26d9303
bump version to 2.2.0 ( #586 )
2025-01-26 23:45:50 +08:00
Sijie.Sun
2a5d5ea4df
make kcp proxy compitible with old version ( #585 )
...
* fix kcp not work with smoltcp
* check if dst kcp input is enabled
2025-01-26 16:22:10 +08:00
Sijie.Sun
b69b122c8d
add options to gui to enable kcp ( #583 )
...
* add test to kcp
* add options to gui to enable kcp
2025-01-26 13:31:20 +08:00
Sijie.Sun
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
1194ee1c2d
fix peer manager stuck when sending large peer rpc ( #572 )
2025-01-17 06:50:21 +08:00
Sijie.Sun
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
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
306817ae9a
allow listener retry listen ( #554 )
2025-01-09 00:01:41 +08:00
Sijie.Sun
d2ec60e108
batch recv for udp proxy ( #552 )
2025-01-07 23:52:18 +08:00
Sijie.Sun
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
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
34e4e907a9
bump version to v2.1.1 ( #533 )
2024-12-24 10:40:57 -05:00
Sijie.Sun
2f4a097787
fix android ( #531 )
2024-12-23 19:38:32 -05:00
Sijie.Sun
f3de00be37
support pause a network ( #528 )
2024-12-23 09:29:59 +08:00
Sijie.Sun
4cf61f0d4a
fix web show dup entry for same machine ( #526 )
2024-12-21 11:51:01 -05:00
Sijie.Sun
4e5915f98e
save api host in local storage ( #523 )
2024-12-21 01:29:54 +08:00
Sijie.Sun
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
25ed41caf5
use correct config server url ( #519 )
2024-12-20 00:21:22 +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
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
86600c6315
version 2.1.0 ( #482 )
2024-11-19 23:46:02 +08:00
Sijie.Sun
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
1324e6163e
move toast to bottom right ( #478 )
2024-11-16 21:36:16 +08:00
Sijie.Sun
89093167c6
fix autocomplete not show dropdown ( #477 )
2024-11-16 21:31:19 +08:00
Sijie.Sun
15ad92aef2
fix no relay not work in local network ( #476 )
2024-11-16 14:36:17 +08:00
Sijie.Sun
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
4fc3ff8ce8
gui use frontend-lib, fix memory leak ( #467 )
2024-11-10 23:03:40 +08:00
Sijie.Sun
88e6de9d7e
make all frontend functions works ( #466 )
2024-11-10 11:06:58 +08:00