Luna Yao
ffddc517e1
fix: listener parsing ( #2143 )
...
EasyTier Core / pre_job (push) Waiting to run
EasyTier Core / build_web (push) Blocked by required conditions
EasyTier Core / build (freebsd-13.2-x86_64, 13.2, ubuntu-24.04, x86_64-unknown-freebsd) (push) Blocked by required conditions
EasyTier Core / build (linux-aarch64, ubuntu-24.04-arm, aarch64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-arm, ubuntu-24.04, arm-unknown-linux-musleabi) (push) Blocked by required conditions
EasyTier Core / build (linux-armhf, ubuntu-24.04, arm-unknown-linux-musleabihf) (push) Blocked by required conditions
EasyTier Core / build (linux-armv7, ubuntu-24.04, armv7-unknown-linux-musleabi) (push) Blocked by required conditions
EasyTier Core / build (linux-armv7hf, ubuntu-24.04, armv7-unknown-linux-musleabihf) (push) Blocked by required conditions
EasyTier Core / build (linux-loongarch64, ubuntu-24.04, loongarch64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-mips, ubuntu-24.04, mips-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-mipsel, ubuntu-24.04, mipsel-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-riscv64, ubuntu-24.04, riscv64gc-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-x86_64, ubuntu-24.04, x86_64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (macos-aarch64, macos-latest, aarch64-apple-darwin) (push) Blocked by required conditions
EasyTier Core / build (macos-x86_64, macos-latest, x86_64-apple-darwin) (push) Blocked by required conditions
EasyTier Core / build (windows-arm64, windows-11-arm, aarch64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier Core / build (windows-i686, windows-latest, i686-pc-windows-msvc) (push) Blocked by required conditions
EasyTier Core / build (windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier Core / build_magisk (push) Blocked by required conditions
EasyTier Core / core-result (push) Blocked by required conditions
EasyTier GUI / pre_job (push) Waiting to run
EasyTier GUI / build-gui (linux-aarch64, aarch64-unknown-linux-gnu, ubuntu-24.04-arm, aarch64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier GUI / build-gui (linux-x86_64, x86_64-unknown-linux-gnu, ubuntu-24.04, x86_64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier GUI / build-gui (macos-aarch64, aarch64-apple-darwin, macos-latest, aarch64-apple-darwin) (push) Blocked by required conditions
EasyTier GUI / build-gui (macos-x86_64, x86_64-apple-darwin, macos-latest, x86_64-apple-darwin) (push) Blocked by required conditions
EasyTier GUI / build-gui (windows-arm64, aarch64-pc-windows-msvc, windows-11-arm, aarch64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier GUI / build-gui (windows-i686, i686-pc-windows-msvc, windows-latest, i686-pc-windows-msvc) (push) Blocked by required conditions
EasyTier GUI / build-gui (windows-x86_64, x86_64-pc-windows-msvc, windows-latest, x86_64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier GUI / gui-result (push) Blocked by required conditions
EasyTier Mobile / pre_job (push) Waiting to run
EasyTier Mobile / build-mobile (aarch64, aarch64-linux-android) (push) Blocked by required conditions
EasyTier Mobile / build-mobile (armv7, armv7-linux-androideabi) (push) Blocked by required conditions
EasyTier Mobile / build-mobile (i686, i686-linux-android) (push) Blocked by required conditions
EasyTier Mobile / build-mobile (x86_64, x86_64-linux-android) (push) Blocked by required conditions
EasyTier Mobile / mobile-result (push) Blocked by required conditions
Nix Check / check-full-shell (push) Waiting to run
EasyTier OHOS / cargo_fmt_check (push) Waiting to run
EasyTier OHOS / pre_job (push) Waiting to run
EasyTier OHOS / build-ohos (push) Blocked by required conditions
EasyTier Test / pre_job (push) Waiting to run
EasyTier Test / Run linters & check (push) Blocked by required conditions
EasyTier Test / Build test (push) Blocked by required conditions
EasyTier Test / Test (easytier) (push) Blocked by required conditions
EasyTier Test / Test (three_node) (push) Blocked by required conditions
EasyTier Test / Test (three_node::subnet_proxy_three_node_test) (push) Blocked by required conditions
EasyTier Test / test (push) Blocked by required conditions
Fixes a CLI listener parsing regression where url crate special-casing for ws/wss could misinterpret inputs like ws:11011, and adds coverage to prevent future regressions.
Changes:
Refactors listener parsing to avoid url::Url parsing for proto:port forms and to support additional shorthand inputs (port-only / IP-only / SocketAddr).
Centralizes “expand to all IpScheme variants” logic in a helper (gen_listeners) while preserving the “port=0 is dynamic” behavior.
Adds unit tests covering valid/invalid listener inputs and expansion behavior.
2026-04-21 23:45:22 +08:00
Debugger Chen
5cd0a3e846
feat: add upnp support ( #1449 )
2026-04-21 17:19:04 +08:00
Luna Yao
f4319c4d4f
ci(test): always check everything ( #2142 )
...
* ci(test): always check everything
* move Cargo.lock check to the last step
2026-04-21 10:08:27 +08:00
Luna Yao
0091a535d5
use mimalloc for FreeBSD ( #2144 )
2026-04-21 08:40:21 +08:00
Luna Yao
d7a5fb8d66
remove --no-deps from lock check ( #2134 )
2026-04-20 00:46:26 +08:00
KKRainbow
f63054e937
fix: resolve Android APK version fallback to 1.0 on CI ( #2131 )
2026-04-19 19:06:37 +08:00
KKRainbow
efc043abbb
bump version to v2.6.1 ( #2129 )
2026-04-19 16:49:45 +08:00
Mg Pig
40c6de8e31
fix(core): restrict implicit config merge to explicit config files ( #2127 )
v2.6.1
2026-04-19 10:39:04 +08:00
KKRainbow
2db655bd6d
fix: refresh ACL groups and enable TCP_NODELAY for WebSocket ( #2118 )
...
* fix: refresh ACL groups and enable TCP_NODELAY for WebSocket
* add remove_peers to remove list of peer id in ospf route
* fix secure tunnel for unreliable udp tunnel
* fix(web-client): timeout secure tunnel handshake
* fix(web-server): tolerate delayed secure hello
* fix quic endpoint panic
* fix replay check
2026-04-19 10:37:39 +08:00
Mg Pig
c49c56612b
feat(ui): add ACL graphical configuration interface ( #1815 )
2026-04-18 20:23:53 +08:00
Mg Pig
6ca074abae
feat(nix): 添加 rustfmt 和 clippy 到 Rust 工具链扩展 ( #2126 )
2026-04-18 20:23:26 +08:00
Luna Yao
84430055ab
remove hashbrown ( #2108 )
2026-04-18 11:06:34 +08:00
Mg Pig
432fcb3fc3
build(nix): add mold to the flake dev shell ( #2122 )
2026-04-18 09:06:45 +08:00
Luna Yao
fae32361f2
chore: update Rust to 1.95; replace cfg_if with cfg_select ( #2121 )
2026-04-17 23:41:31 +08:00
Luna Yao
bcb2e512d4
utils: move code to a dedicated mod; add AsyncRuntime ( #2072 )
2026-04-16 23:32:07 +08:00
Luna Yao
82ca04a8a7
proto(utils): add MessageModel & RepeatedMessageModel ( #2068 )
...
* add FromIterator, Extend, AsRef, AsMut, TryFrom<[Message]>
2026-04-15 19:40:09 +08:00
Luna Yao
2ef3b72224
proto: add some conversion for Url ( #2067 )
2026-04-15 19:39:24 +08:00
Luna Yao
6d319cba1d
tests(relay_peer_e2e_encryption): wait for the key of inst3 before ping test ( #2069 )
2026-04-15 19:39:00 +08:00
Luna Yao
3687519ef3
turn off ansi for file log ( #2110 )
...
Co-authored-by: KKRainbow <443152178@qq.com >
2026-04-15 19:38:27 +08:00
Luna Yao
3a4ac59467
log: change default log level of tests to WARNING ( #2113 )
2026-04-14 18:10:38 +08:00
Luna Yao
1cfc135df3
ci: remove -D warnings from test ( #2109 )
...
Co-authored-by: KKRainbow <443152178@qq.com >
2026-04-14 12:35:05 +08:00
KKRainbow
5b35c51da9
fix packet split on udp tunnel and avoid tcp proxy access rpc portal ( #2107 )
...
* distinct control / data when forward packets
* fix rpc split for udp tunnel
* feat(easytier-web): pass public ip in validate token webhook
* protect rpc port from subnet proxy
2026-04-13 11:03:09 +08:00
Luna Yao
ec7ddd3bad
fix: filter overlapped proxy cidrs in ProxyCidrsMonitor ( #2079 )
...
* feat(route): add async methods to list proxy CIDRs for IPv4 and IPv6
* refactor(ProxyCidrsMonitor): get proxy cidrs from list_proxy_cidrs
2026-04-12 22:18:54 +08:00
Luna Yao
6f3e708679
tunnel(bind): gather all bind logic to a single function ( #2070 )
...
* extract a Bindable trait for binding TcpSocket, TcpListener, and UdpSocket
2026-04-12 22:16:58 +08:00
Luna Yao
869e1b89f5
fix: remove log (file) when level is explicitly set to OFF ( #2083 )
...
* fix level filter for OFF
* remove unwrap of file appender creation
2026-04-12 22:16:30 +08:00
Luna Yao
9e0a3b6936
ci: rewrite build workflows ( #2089 )
2026-04-12 22:14:41 +08:00
Luna Yao
c6cb1a77d0
chore: clippy fix some code on Windows ( #2106 )
2026-04-12 22:13:58 +08:00
deddey
83010861ba
Optimize network interface configuration for macOS and FreeBSD to avoid hard-coded IP addresses ( #1853 )
...
Co-authored-by: KKRainbow <443152178@qq.com >
2026-04-12 21:00:59 +08:00
Luna Yao
daa53e5168
log: auto-init log for tests ( #2073 )
2026-04-12 13:04:21 +08:00
fanyang
51befdbf87
fix(faketcp): harden packet parsing against malformed frames ( #2103 )
...
Discard malformed fake TCP frames instead of panicking so OpenWrt
nodes can survive unexpected or truncated packets.
Also emit the correct IPv6 ethertype and cover the parser with
round-trip and truncation regression tests.
2026-04-12 13:02:23 +08:00
Luna Yao
8311b11713
refactor: remove NoGroAsyncUdpSocket ( #1867 )
2026-04-10 23:22:08 +08:00
Luna Yao
19c80c7b9c
cli: do not add offset when port = 0 ( #2085 )
2026-04-10 23:21:15 +08:00
Luna Yao
a879dd1b14
chore: update Rust to 2024 edition ( #2066 )
2026-04-10 00:22:12 +08:00
Luna Yao
a8feb9ac2b
chore: use Debug to print errors ( #2086 )
2026-04-09 09:45:55 +08:00
Luna Yao
c5fbd29c0e
ci: fix skip condition for draft pull requests in CI workflows ( #2088 )
...
* ci: run xxx-result only when pre_job is run successfully
* fix get-result steps
2026-04-09 09:45:04 +08:00
Luna Yao
26b1794723
ci: accecelerate pipeline ( #2078 )
...
* enable concurrency
pr
* do not run build on draft PRs
pr
* enable fail-fast for build workflows
2026-04-08 08:43:03 +08:00
Luna Yao
371b4b70a3
proto(utils): add TransientDigest trait ( #2071 )
2026-04-08 00:06:48 +08:00
Luna Yao
b2cc38ee63
chore(clippy): disallow some methods from itertools ( #2075 )
2026-04-07 16:27:33 +08:00
Luna Yao
79b562cdc9
drop peer_mgr in time ( #2064 )
v2.6.0
2026-04-06 11:31:05 +08:00
fanyang
e3f089251c
fix(ospf): mitigate route sync storm under connection flapping ( #2063 )
...
Addresses issue #2016 where nodes behind unstable networks
(e.g. campus firewalls) cause excessive traffic that can freeze
the remote node.
Two changes in peer_ospf_route.rs:
- Make do_sync_route_info only trigger reverse sync_now when
incoming data actually changed the route table or foreign
network state. The previous unconditional sync_now created
an A->B->A->B ping-pong cycle on every RPC exchange.
- Add exponential backoff (50ms..5s) to session_task retry loop.
The previous fixed 50ms retry produced ~20 RPCs/s during
sustained network instability.
2026-04-06 11:26:20 +08:00
fanyang
cf6dcbc054
Fix IPv6 TCP tunnel display formatting ( #1980 )
...
Normalize composite tunnel display values before rendering peer and
debug output so IPv6 tunnel types no longer append `6` to the port.
- Preserve prefixes like `txt-` while converting tunnel schemes to
their IPv6 form.
- Recover malformed values such as `txt-tcp://...:110106` into
`txt-tcp6://...:11010`.
- Reuse the normalized remote address display in CLI debug output.
2026-04-05 22:12:55 +08:00
fanyang
2cf2b0fcac
feat(cli): implement connector add/remove, drop peer stubs ( #2058 )
...
Implement the previously stubbed connector add/remove CLI commands
using PatchConfig RPC with InstanceConfigPatch.connectors, and
remove the peer add/remove stubs that had incorrect semantics.
2026-04-05 13:56:17 +08:00
dependabot[bot]
aa0cca3bb6
build(deps): bump quinn-proto in /easytier-contrib/easytier-ohrs ( #2059 )
...
Bumps [quinn-proto](https://github.com/quinn-rs/quinn ) from 0.11.13 to 0.11.14.
- [Release notes](https://github.com/quinn-rs/quinn/releases )
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14 )
---
updated-dependencies:
- dependency-name: quinn-proto
dependency-version: 0.11.14
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-05 13:16:33 +08:00
KKRainbow
fb59f01058
fix: reconcile webhook-managed configs and make disable_p2p more intelligent ( #2057 )
...
* reconcile infra configs on webhook validate
* make disable_p2p more intelligent
* fix stats
2026-04-04 23:41:57 +08:00
Luna Yao
e91a0da70a
refactor: listener/connector protocol abstraction ( #2026 )
...
* fix listener protocol detection
* replace IpProtocol with IpNextHeaderProtocol
* use an enum to gather all listener schemes
* rename ListenerScheme to TunnelScheme; replace IpNextHeaderProtocols with socket2::Protocol
* move TunnelScheme to tunnel
* add IpScheme, simplify connector creation
* format; fix some typos; remove check_scheme_...;
* remove PROTO_PORT_OFFSET
* rename WSTunnel.. -> WsTunnel.., DNSTunnel.. -> DnsTunnel..
2026-04-04 10:55:58 +08:00
Luna Yao
9cc617ae4c
ci: build rpm package ( #2044 )
...
* add rpm to ci
* rename build_filter to build-filter
* use prepare-pnpm action
2026-04-04 10:32:08 +08:00
韩嘉乐
e4b0f1f1bb
Rename libeasytier_ohrs.so to libeasytier_release.so when build release package ( #2056 )
...
Rename shared library file for release.
2026-04-04 10:29:37 +08:00
Luna Yao
443c3ca0b3
fix: append address of reverse proxy to remote_addr ( #2034 )
...
* append address of reverse proxy to remote_addr
* validate proxy address in test
2026-03-30 16:48:23 +08:00
Luna Yao
55a0e5952c
chore: use cfg_aliases for mobile ( #2033 )
2026-03-30 16:38:39 +08:00
KKRainbow
1dff388717
bump version to v2.6.0 ( #2039 )
2026-03-30 15:50:07 +08:00