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
8311b11713
refactor: remove NoGroAsyncUdpSocket ( #1867 )
2026-04-10 23:22:08 +08:00
Luna Yao
a879dd1b14
chore: update Rust to 2024 edition ( #2066 )
2026-04-10 00:22:12 +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
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
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
d4c1b0e867
fix: read X-Forwarded-For from HTTP header of WS/WSS ( #2019 )
2026-03-28 22:20:46 +08:00
Tunglies
fe4dff5df0
perf: simplify method signatures and reduce clone across multiple files ( #1663 )
2025-12-09 16:47:57 +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
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
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
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
kevin
81490d0662
enable sni for tls client ( #691 )
...
* enable sni for tls client
* update test case
* fix public_ip parse bug
2025-03-19 01:15:34 +08:00
sijie.sun
d0a3a40a0f
fix bugs
...
add timeout for wss try_accept
public server should show stats
use default values for flags
bump version to 2.0.0
2024-09-29 17:49:14 +08:00
sijie.sun
6d7edcd486
fix connect failed after setup one of sockets fails
2024-09-18 23:15:08 +08:00
Sijie.Sun
1b03223537
use customized rpc implementation, remove Tarpc & Tonic ( #348 )
...
This patch removes Tarpc & Tonic GRPC and implements a customized rpc framework, which can be used by peer rpc and cli interface.
web config server can also use this rpc framework.
moreover, rewrite the public server logic, use ospf route to implement public server based networking. this make public server mesh possible.
2024-09-18 21:55:28 +08:00
Sijie.Sun
c1b725e64e
websocket support bind addr ( #129 )
2024-06-02 21:48:16 +08:00
sijie.sun
1b1d76de99
introduce websocket tunnel
2024-05-11 23:29:55 +08:00