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
e1bfec6fe2
add api_meta.js to frontend public
2025-06-19 23:40:57 +08:00
sijie.sun
dde7a4dff1
bps limit should throttle kcp packet
v2.3.2
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
tianxiayu007
327ccdcf38
installing by homebrew should use easytier-gui ( #1004 )
2025-06-18 11:06:26 +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
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
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
BlackLuny
707963c0d9
Web dual stack ( #953 )
...
* reimplement easytier-web dual stack
* add protocol check for dual stack listener current only support tcp and udp
2025-06-07 22:05:11 +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
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
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 )
v2.3.1
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
Wang Zeng
9f7ba8ab8f
fix(easytier-gui): restore window correctly when clicking tray icon while minimized ( #930 )
...
以前在最小化窗口时单击托盘图标会错误地切换任务栏图标的可见性。
这一改变实现了预期的行为:
- 当窗口最小化时:单击托盘将窗口恢复到原始状态
- 当窗口可见时:托盘单击最小化到托盘
- 当窗口隐藏时:单击托盘恢复窗口
该修复通过提供标准的托盘交互行为来增强用户体验。包括必要的事件处理窗口状态转换。
2025-06-04 16:33:06 +08:00
Mg Pig
e592e9f29a
节点信息组件添加隧道协议字段 ( #931 )
2025-06-04 09:22:58 +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
Mg Pig
b469f8197a
Supports customizing the API server address of the Web frontend through the --api-host parameter ( #913 )
2025-06-02 06:46:12 +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
Mg Pig
e75be7801f
easytier-web add websocket support ( #901 )
...
Co-authored-by: xzzpig <w2xzzig@hotmail.com >
2025-05-28 21:29:21 +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
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 >
v2.3.0
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
lzw-723
fc397c35c5
install script support openrc ( #868 )
2025-05-24 10:18:23 +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
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