Luna Yao
9c6c210e89
fix: disable SO_EXCLUSIVEADDRUSE on Windows ( #2180 )
2026-04-30 19:48:54 +08:00
Luna Yao
d5c4700d32
utils: replace defer, ContextGuard, DetachableTask with guarden crate ( #2163 )
2026-04-27 18:29:46 +08:00
Luna Yao
eb3b5aae51
utils: add DetachableTask & ContextGuard ( #2138 )
2026-04-25 18:24:36 +08:00
Luna Yao
5a1668c753
refactor: remove ScopedTask ( #2125 )
...
* replace ScopedTask with AbortOnDropHandle
2026-04-25 15:20:25 +08:00
Luna Yao
820d9095d3
replace AsyncRuntime with simpler CancellableTask ( #2136 )
2026-04-25 10:29:53 +08:00
Luna Yao
b4666be696
fix: disable SO_REUSEADDR & enable SO_EXCLUSIVEADDRUSE on Windows ( #2128 )
2026-04-25 00:37:34 +08:00
Luna Yao
f7ea78d4f0
lower max_udp_payload_size to 1200 ( #2156 )
2026-04-24 21:20:37 +08:00
Luna Yao
ffddc517e1
fix: listener parsing ( #2143 )
...
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
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
Luna Yao
84430055ab
remove hashbrown ( #2108 )
2026-04-18 11:06:34 +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 and KKRainbow
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 and KKRainbow
1cfc135df3
ci: remove -D warnings from test ( #2109 )
...
Co-authored-by: KKRainbow <443152178@qq.com >
2026-04-14 12:35:05 +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
Luna Yao
daa53e5168
log: auto-init log for tests ( #2073 )
2026-04-12 13:04:21 +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 )
2026-04-06 11:31:05 +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
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
Luna Yao
61c741f887
add BoxExt trait ( #2036 )
2026-03-30 13:25:53 +08:00
Luna Yao
b71a2889ef
suppress clippy warnings when no feature flags are enabled ( #2028 )
2026-03-29 11:02:23 +08:00
Luna Yao
d4c1b0e867
fix: read X-Forwarded-For from HTTP header of WS/WSS ( #2019 )
2026-03-28 22:20:46 +08:00
Luna Yao
b5f475cd4c
filter overlapped proxy cidr ( #2024 )
2026-03-28 09:40:05 +08:00
Luna Yao
eaa4d2c7b8
test: use taiki-e/install-action for cargo-hack ( #2020 )
2026-03-28 00:07:59 +08:00
Luna Yao
e160d9b048
ci: remove aes-gcm from check ( #1925 )
2026-03-27 22:48:22 +08:00
Luna Yao
8e4dc508bb
test: improve test_txt_public_stun_server with timeout and retry mechanism ( #2014 )
2026-03-26 09:32:07 +08:00
Luna Yao
e2684a93de
refactor: use strum on EncryptionAlgorithm, use Xor as default when AesGcm not available ( #1923 )
2026-03-25 18:42:34 +08:00
Luna Yao
77966916c4
cargo: add used features for windows-sys ( #1924 )
2026-03-17 14:10:50 +08:00
Luna Yao
5f31583a84
refactor: 使用 tracing 输出日志 ( #1856 )
...
* change all println to tracing
2026-03-04 09:52:23 +08:00
Luna Yao
b6e292cce3
ci: use shared key for build workflow ( #1868 )
2026-02-04 09:48:55 +08:00
Luna Yao
aebb7facfa
drop permit reserved by poll_reserve ( #1858 )
2026-02-03 11:14:11 +08:00
Luna Yao
cd2cf56358
refactor: handle quic proxy internally instead of use external udp port ( #1743 )
...
* deprecate quic_listen_port, add disable_relay_quic and enable_relay_foreign_network_quic
* add set_src_modified to TcpProxyForWrappedSrcTrait
* prioritize quic over kcp
2026-02-02 11:53:40 +08:00
Luna Yao
acd7c85ff6
ci: speed up test with matrix ( #1830 )
...
* add an action to install pnpm packages
* add an action to prepare build environment
* rewrite test workflow, using composite actions and matrix
2026-01-30 22:21:27 +08:00
Luna Yao and Copilot
cdedaf3f63
refactor(quic): remove quinn encryption ( #1831 )
...
* use quinn-plaintext
* remove server_cert in QUICTunnelListener
* remove some customized transport config
* leave max_concurrent_bidi_streams as default
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-30 10:21:59 +08:00
Luna Yao and Sijie.Sun
d2efbbef04
refactor: change magicdns to internal redirect ( #1428 )
...
To resolve issue #1419 , DNS request packets are read directly and responses are sent back internally instead of being forwarded to the listening port.
The DNS service on fake_ip (100.100.100.101) no longer supports DNS-over-TCP.
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn >
2025-10-02 20:19:12 +08:00