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
Tunglies
fe4dff5df0
perf: simplify method signatures and reduce clone across multiple files ( #1663 )
2025-12-09 16:47:57 +08:00
Sijie.Sun
cc8f35787e
release dashmap memory ( #1485 )
2025-10-18 12:48:04 +08:00
Sijie.Sun
56fd6e4ab6
fix wireguard listener ( #1382 )
...
* listen both v4 and v6 for wireguard portal
* fix panic when getting udp local addr
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-17 23:45:05 +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
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
b46a200f8d
connector should set bind addrs correctly ( #696 )
2025-03-19 10:47:43 +08:00
Sijie.Sun
e948dbfcc1
Feat/web (Patchset 4) ( #460 )
...
support basic functions in frontend
1. create/del network
2. inspect network running status
2024-11-08 23:33:17 +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
1609c97574
fix panic when wireguard tunnel encounter udp recv error ( #299 )
2024-09-02 09:37:34 +08:00
Sijie.Sun
8aa57ebc22
support no tun mode ( #141 )
2024-06-10 10:27:24 +08:00
Sijie.Sun
6efbb5cb3d
minor fixed ( #120 )
...
1. fix mtu, always set by ourselves and use smaller value
2. wireguard connector should return tunnel after receive packet
2024-05-18 18:04:06 +08:00
m1m1sha
0af32526f7
🐞 fix: 修复nightly错误 ( https://github.com/KKRainbow/EasyTier/issues/74 ) ( #75 )
...
* 🐞 fix: 修复 1.80 nightly 编译错误错误
TODO: need fork boringtun and publish to crates.io before publishing easytier
issues: https://github.com/KKRainbow/EasyTier/issues/74
2024-05-05 11:46:10 +08:00
sijie.sun
577cef131b
fix wireguard deadlock
2024-04-28 22:24:24 +08:00
sijie.sun
b3717d974b
ipv6 set v6 only when bind
2024-04-28 22:24:24 +08:00
sijie.sun
3a965efab2
allow tunnel listener alloc port after listen
2024-04-28 22:24:24 +08:00
sijie.sun
a3e85a1270
tunnel support ipv6
2024-04-28 22:24:24 +08:00
Sijie.Sun
fcc73159b3
support encryption ( #60 )
2024-04-27 13:44:59 +08:00
Sijie.Sun
69651ae3fd
Perf improve ( #59 )
...
* improve perf
* fix forward
2024-04-26 23:02:07 +08:00
Sijie.Sun
3467890270
zero copy tunnel ( #55 )
...
make tunnel zero copy, for better performance. remove most of the locks in io path.
introduce quic tunnel
prepare for encryption
2024-04-24 23:12:46 +08:00