Sijie.Sun
971ef82679
fix data not encrypted when no tun is enabled ( #1435 )
2025-10-01 11:16:24 +08:00
Sijie.Sun
e9b4dbce6e
use cargo ndk in jni build script ( #1424 )
2025-09-28 23:18:51 +08:00
Sijie.Sun
f5ba5bb146
show traffic stats chart in web/gui ( #1410 )
2025-09-25 13:43:11 +08:00
Sijie.Sun
7a694257d9
add test for ipv6 wireguard vpn portal ( #1408 )
2025-09-25 08:24:56 +08:00
Sijie.Sun
67abf4446d
fix socks5 panic ( #1409 )
2025-09-25 08:24:50 +08:00
Sijie.Sun
7035a3fef4
fix firewall rule not specify interface ( #1407 )
2025-09-25 00:11:26 +08:00
Sijie.Sun
4445916ba7
fix open log dir not work on gui ( #1403 )
2025-09-21 23:17:31 +08:00
Sijie.Sun
a102a8bfc7
fix macos bind failed when addr is v6 ( #1398 )
2025-09-21 21:47:03 +08:00
Sijie.Sun
c9e8c35e77
fix log dir not work; fix stun config from file not work; ( #1393 )
2025-09-20 00:20:08 +08:00
Sijie.Sun
1a1be8138a
bump version to v2.4.4 ( #1386 )
2025-09-18 19:49:10 +08:00
Sijie.Sun
e06e8a9e8a
allow enable log with cli, limit log size ( #1384 )
...
* impl logger rpc
* use size based appender
* add log args
2025-09-18 16:35:12 +08:00
Sijie.Sun and Copilot
56fd6e4ab6
fix wireguard listener ( #1382 )
...
* listen both v4 and v6 for wireguard portal
* fix panic when getting udp local addr
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-17 23:45:05 +08:00
Sijie.Sun
215db09925
avoid packets sending to non-exist peer causing route loop ( #1378 )
2025-09-17 09:52:53 +08:00
Sijie.Sun
802d3f78d7
distinct v6 and v4 tunnel in gui and cli ( #1373 )
2025-09-16 07:24:31 +08:00
Sijie.Sun
3593035eb9
fix networksetup timeout on some machine ( #1372 )
2025-09-15 23:33:43 +08:00
Sijie.Sun
757d76c9da
fix stun server list empty when config is from web ( #1371 )
2025-09-15 22:52:58 +08:00
Sijie.Sun
b540ec3f46
improve uptime ( #1365 )
2025-09-13 19:14:13 +08:00
Sijie.Sun
5c90431876
fix smoltcp attempt to subtract sequence numbers with underflow ( #1360 )
2025-09-13 15:03:04 +08:00
Sijie.Sun
793889c3b7
fix ospf ipv4 map error when ipv4 conflicted and changed ( #1359 )
2025-09-13 08:48:50 +08:00
Sijie.Sun
eb42086f9c
set correct route policy for udp/icmp ( #1361 )
2025-09-13 08:48:37 +08:00
Sijie.Sun
d0efc40efb
fix foreign network direct conn with mapped listeners ( #1363 )
2025-09-13 08:48:12 +08:00
Sijie.Sun
18bd178bbd
update readme to fix script installation command ( #1341 )
2025-09-06 17:02:31 +08:00
Sijie.Sun
b750faa66f
add android jni ( #1340 )
2025-09-06 13:49:42 +08:00
Sijie.Sun
ef3309814d
fix cli add port forward failed if initial forward list is empty ( #1324 )
2025-09-02 22:03:57 +08:00
Sijie.Sun
2145ef40b9
fix ospf route panic ( #1304 )
2025-08-27 13:22:29 +08:00
Sijie.Sun
a3806e0190
fix set ipv6 mtu may cause tun init error ( #1300 )
2025-08-27 09:57:32 +08:00
Sijie.Sun
0ceb58586b
fix keepalive on accepted tcp proxy connection ( #1302 )
2025-08-26 23:30:30 +08:00
Sijie.Sun
719a1fe7cf
bump version to 2.4.3 ( #1296 )
2025-08-26 12:22:08 +08:00
Sijie.Sun
671b8d5a0c
fix quic transport ( #1293 )
2025-08-26 08:37:31 +08:00
Sijie.Sun
3299a77da3
make magic dns domain check robust ( #1288 )
2025-08-24 18:24:42 +08:00
Sijie.Sun
0804fd6632
retry create tun device if it closed ( #1279 )
2025-08-24 15:25:09 +08:00
Sijie.Sun
ea76114d50
fix kcp not work as expect ( #1285 )
2025-08-24 14:33:11 +08:00
Sijie.Sun
5b7384fddd
disable nat4 hole punch ( #1277 )
2025-08-22 23:33:21 +08:00
Sijie.Sun
2e7e0088dd
Revise QQ group details in README_CN.md ( #1274 )
2025-08-22 12:52:01 +08:00
Sijie.Sun
d23366ea84
Update QQ Group contact information in README ( #1275 )
2025-08-22 12:51:50 +08:00
Sijie.Sun
839a28a3d5
avoid panic on smoltcp socket accept ( #1272 )
2025-08-21 09:30:51 +08:00
Sijie.Sun
9c6d1dabdf
fix dead lock in tokio smoltcp ( #1270 )
2025-08-21 00:16:11 +08:00
Sijie.Sun
e6ec7f405c
introduce uptime monitor for easytier public nodes ( #1250 )
2025-08-20 22:59:44 +08:00
Sijie.Sun
fa3e208668
fix panic of std::Instant overflow ( #1243 )
2025-08-15 22:54:58 +08:00
Sijie.Sun and Copilot
d9bcbd9b31
fix proxy traffic not count into traffic ( #1229 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-14 00:05:12 +08:00
Sijie.Sun
a511abb613
fix docker file ( #1219 )
2025-08-11 18:09:16 +08:00
Sijie.Sun
1eec27b5ff
bump version to 2.4.2 ( #1218 )
2025-08-11 09:03:13 +08:00
Sijie.Sun
1de7777a71
fix quic transport panic ( #1216 )
2025-08-11 08:30:59 +08:00
Sijie.Sun
975ca8bd9c
Update docker workflow ( #1217 )
...
1. push all supported platform
2. support unstable tag
2025-08-10 23:36:50 +08:00
Sijie.Sun
e43537939a
clippy all codes ( #1214 )
...
1. clippy code
2. add fmt and clippy check in ci
2025-08-10 22:56:41 +08:00
Sijie.Sun
8ffc2f12e4
optimize the condition of enabling kcp ( #1210 )
2025-08-09 16:16:09 +08:00
Sijie.Sun
8cdb27d43d
add stats metrics ( #1207 )
...
support new cli command `easytier-cli stats`
It's useful to find out which components are consuming bandwidth.
2025-08-09 00:06:35 +08:00
Sijie.Sun
efa17a7c10
fix dead loop in direct connecto if disable-p2p is enabled in dst ( #1206 )
2025-08-08 22:30:39 +08:00
Sijie.Sun
6d14e9e441
fix jemalloc prof feature ( #1201 )
2025-08-08 17:54:39 +08:00
Sijie.Sun
9eddb4b072
fix readme assets ( #1182 )
2025-08-01 23:58:01 +08:00
Sijie.Sun
4fca0f40fe
update readme ( #1181 )
2025-08-01 23:52:27 +08:00
Sijie.Sun
43b9e6e6e9
fix macos elevate ( #1177 )
2025-08-01 09:36:10 +08:00
Sijie.Sun
583c768f40
fix exit code when error occcurs ( #1173 )
2025-07-30 23:05:22 +08:00
Sijie.Sun
3d610c0f0f
Some Improvements ( #1172 )
...
1. do not exit when dns query failed on et startup.
2. do not send secret digest to client when secret mismatch.
2025-07-29 23:05:38 +08:00
Sijie.Sun
2ec88da823
cli for port forward and tcp whitelist ( #1165 )
2025-07-29 09:30:47 +08:00
Sijie.Sun
7dc5988620
avoid udp hole punch go through tun ( #1155 )
2025-07-26 14:39:03 +08:00
Sijie.Sun
354a4e1d7b
fix acl not work with kcp&quic ( #1152 )
2025-07-26 14:38:10 +08:00
Sijie.Sun
5409c5bbe7
port range should not be converted to single port ( #1154 )
2025-07-26 14:13:13 +08:00
Sijie.Sun
33ff9554cd
need encrypt rpc if dst is in peer map ( #1151 )
2025-07-25 22:28:47 +08:00
Sijie.Sun
975b4e7664
support loongarch ( #1146 )
2025-07-25 01:53:49 +08:00
Sijie.Sun
1f6a715939
releases/v2.4.0 ( #1145 )
...
* bump version to v2.4.0
* update tauri.
* allow try direct connect to public server
2025-07-25 00:16:15 +08:00
Sijie.Sun
8e7a8de5e5
Implement ACL ( #1140 )
...
1. get acl stats
```
./easytier-cli acl stats
AclStats:
Global:
CacheHits: 4
CacheMaxSize: 10000
CacheSize: 5
DefaultAllows: 3
InboundPacketsAllowed: 2
InboundPacketsTotal: 2
OutboundPacketsAllowed: 7
OutboundPacketsTotal: 7
PacketsAllowed: 9
PacketsTotal: 9
RuleMatches: 2
ConnTrack:
[src: 10.14.11.1:57444, dst: 10.14.11.2:1000, proto: Tcp, state: New, pkts: 1, bytes: 60, created: 2025-07-24 10:13:39 +08:00, last_seen: 2025-07-24 10:13:39 +08:00]
Rules:
[name: 'tcp_whitelist', prio: 1000, action: Allow, enabled: true, proto: Tcp, ports: ["1000"], src_ports: [], src_ips: [], dst_ips: [], stateful: true, rate: 0, burst: 0] [pkts: 2, bytes: 120]
```
2. use tcp/udp whitelist to block unexpected traffic.
`sudo ./easytier-core -d --tcp-whitelist 1000`
3. use complete acl ability with config file:
```
[[acl.acl_v1.chains]]
name = "inbound_whitelist"
chain_type = 1
description = "Auto-generated inbound whitelist from CLI"
enabled = true
default_action = 2
[[acl.acl_v1.chains.rules]]
name = "tcp_whitelist"
description = "Auto-generated TCP whitelist rule"
priority = 1000
enabled = true
protocol = 1
ports = ["1000"]
source_ips = []
destination_ips = []
source_ports = []
action = 1
rate_limit = 0
burst_limit = 0
stateful = true
```
2025-07-24 22:13:45 +08:00
Sijie.Sun
4f53fccd25
fix bugs ( #1138 )
...
1. avoid dns query hangs the thread
2. avoid deadloop when stun query failed because of no ipv4 addr.
3. make quic input error non-fatal.
4. remove ring tunnel from connection map to avoid mem leak.
5. limit listener retry count.
2025-07-21 23:18:38 +08:00
Sijie.Sun
876d550f68
reduce memory usage ( #1133 )
...
Large memory usage comes from:
Mimalloc hold large thread cache, causing abort 13M+ usage.
QUIC endpoint occupy 3M when GRO is enabled.
Smoltcp 64 tcp listener use 2MB.
2025-07-20 19:15:28 +08:00
Sijie.Sun
2660ed5fda
try create tun device if not exist ( #1131 )
2025-07-19 22:56:19 +08:00
Sijie.Sun
50c6f5ae6c
add windows firewall for tun interface ( #1130 )
...
allow all icmp/tcp/udp on tun interface.
2025-07-19 20:38:44 +08:00
Sijie.Sun
85f0091056
fix latency first route of public server ( #1129 )
2025-07-19 18:16:53 +08:00
Sijie.Sun
e25cd9be37
add disable ipv6 option to gui/web ( #1127 )
2025-07-19 11:07:57 +08:00
Sijie.Sun
1fb5ca9475
update issue template ( #1126 )
2025-07-18 23:50:02 +08:00
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