liusen373
0427b48d75
Allows to modify Easytier's mapped listener at runtime via RPC ( #1107 )
...
* Add proto definition
* Implement and register the corresponding rpc service
* Parse command line parameters and call remote rpc service
---------
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn >
2025-07-17 20:37:05 +08:00
Jiangqiu Shen
0b729b99e7
add options to generate completions ( #1103 )
...
* add options to generate completions
use clap-complete crate to generate completions scripts: easytier-core --generate fish > ~/.config/fish/completions/easytier-core.fish
---------
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn >
2025-07-17 20:35:49 +08:00
Sijie.Sun
940238f158
socks5 and port forwarding ( #1118 )
2025-07-17 10:09:25 +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
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
DavHau
d0cfc49806
Add support for IPv6 within VPN ( #1061 )
...
* add flake.nix with nix based dev shell
* add support for IPv6
* update thunk
---------
Co-authored-by: sijie.sun <sijie.sun@smartx.com >
2025-07-04 23:43:30 +08:00
韩嘉乐
01e491ec07
support ohos ( #974 )
...
* support ohos
---------
Co-authored-by: FrankHan <2777926911@qq.com >
2025-07-02 09:44:45 +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
Mg Pig
760a1e6306
fix rpc_portal_whitelist from config file not working ( #1042 )
2025-06-23 00:50:41 +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
liusen373
95e4e5a931
Implement custom fmt::Debug for some prost_build generated structs
...
Currently implemented for:
1. common.Ipv4Addr
2. common.Ipv6Addr
3. common.UUID
2025-06-21 14:56:28 +08:00
sijie.sun
dde7a4dff1
bps limit should throttle kcp packet
2025-06-19 22:53:41 +08:00
Sijie.Sun
40601bd05b
add bps limiter ( #1015 )
...
* add token bucket
* remove quinn-proto
2025-06-19 21:15:04 +08:00
chenxudong2020
72d5ed908e
quic uses the bbr congestion control algorithm ( #1010 )
2025-06-18 23:17:52 +08:00
liusen373
72673a9d52
Add is_hole_punched flag to PeerConn ( #1001 )
2025-06-18 12:14:57 +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
Mg Pig
ed162c2e66
Add conversion method from TomlConfigLoader to NetworkConfig to enhance configuration experience ( #990 )
...
* add method to create NetworkConfig from TomlConfigLoader
* allow web export/import toml config file and gui edit toml config
* Extract the configuration file dialog into a separate component and allow direct editing of the configuration file on the web
2025-06-15 23:41:42 +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
0bab14cd72
use bulk compress instead of streaming to reduce mem usage ( #985 )
2025-06-14 14:55:48 +08:00
Mg Pig
b407cfd9d4
Fixed the issue where the GUI would panic after using InstanceManager ( #982 )
...
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn >
2025-06-14 13:06:53 +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
Mg Pig
8ddd153022
easytier-core支持多配置文件 ( #964 )
...
* 将web和gui允许多网络实例逻辑抽离到NetworkInstanceManager中
* easytier-core支持多配置文件
* FFI复用instance manager
* 添加instance manager 单元测试
2025-06-11 23:17:09 +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
BlackLuny
ecebbecd3b
add check for rpc packet fix #963 ( #969 )
2025-06-09 19:35:29 +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
Kiva
ec56c0bc45
feat: allow using --proxy-forward-by-system together with --enable-exit-node ( #957 )
2025-06-07 22:27:57 +08:00
Mg Pig
20a6025075
Added RPC portal whitelist function, allowing only local access by default to enhance security ( #929 )
2025-06-07 22:05:47 +08:00
Kiva
3c7837692e
fix(vpn-portal): wireguard peer table should be kept if the client roamed to another endpoint address ( #954 )
2025-06-07 21:19:03 +08:00
Sijie.Sun
f890812577
kcp connect retry ( #952 )
2025-06-07 12:24:11 +08:00
Zisu Zhang
d34a51739f
Update default_port and sni logic to improve reverse proxy reachability ( #947 )
2025-06-07 08:19:31 +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
chenxudong2020
3fb172b4d2
Modify SNI logic: always use "localhost" as SNI to avoid IP blocking ( #934 )
2025-06-05 11:56:07 +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
FuturePrayer
b5dfc7374c
add private mode ( #897 )
...
---------
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn >
2025-06-02 06:47:17 +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
Mg Pig
d7c3179c6e
easytier-cli部分命令支持json输出 ( #882 )
...
* add cli options to json output
* add cli verbose output in json format for some sub command
- easytier-cli -v peer list
- easytier-cli -v peer list-foreign
- easytier-cli -o json peer list-foreign
- easytier-cli -v peer list-global-foreign
- easytier-cli -o json peer list-global-foreign
- easytier-cli -v route list
- easytier-cli -v connector
- easytier-cli -o json connector
- easytier-cli -o json stun
- easytier-cli -v proxy
- easytier-cli -v node info
---------
Co-authored-by: xzzpig <w2xzzig@hotmail.com >
2025-05-25 23:28:12 +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
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
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