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
KKRainbow
1d89ddbb16
Add lazy P2P demand tracking and need_p2p override ( #2003 )
...
- add lazy_p2p so nodes only start background P2P for peers that actually have recent business traffic
- add need_p2p so specific peers can still request eager background P2P even when other nodes enable lazy mode
- cover the new behavior with focused connector/peer-manager tests plus three-node integration tests that verify relay-to-direct route transition
2026-03-23 09:38:57 +08:00
KKRainbow
22b4c4be2c
fix: guard macos-ne feature with target_os = "macos" in cfg expressions ( #1962 )
...
All 13 occurrences of `any(target_os = "ios", feature = "macos-ne")` are
replaced with `any(target_os = "ios", all(target_os = "macos", feature = "macos-ne"))`.
Previously, enabling `macos-ne` on non-macOS platforms (e.g. `--all-features`
on Linux) would incorrectly compile macOS/mobile-specific code paths, causing
build failures or wrong runtime behavior.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-05 00:06:21 +08:00
Chenx Dust
7a26640c26
feat: support macOS Network Extension ( #1902 )
...
* feat: support macOS Network Extension
* fix: disable macOS NE feature in cargo hack check
2026-02-14 14:54:36 +08:00
Chenx Dust
e1cbd07d1f
feat: separate zstd and faketcp into features ( #1861 )
...
* feat: separate faketcp into a feature
* fix: no need to initialize out_len
* feat: separate zstd into a feature
* clippy: remove unnecessary cast, because for unix size_t always equals usize
2026-02-03 11:12:33 +08:00
Chenx Dust
b590700540
feat: support unix socket tunnel (for ios) ( #1779 )
...
Co-authored-by: Page Chen <pagechen04@gmail.com >
2026-01-11 16:37:32 +08:00
Chenx Dust
48c5c23f9b
feat: support compile for iOS ( #1777 )
2026-01-11 16:36:58 +08:00
KKRainbow
c19cd1bff3
add tcp hole punching ( #1713 )
...
add tcp hole punching and tcp stun test
2025-12-28 21:35:30 +08:00
KKRainbow
28cd6da502
Add fake tcp tunnel (experimental) ( #1673 )
...
support faketcp to avoid tcp-over-tcp problem.
linux/macos/windows are supported.
better to be used in internet env, the maximum
performance is majorly limited by windivert/raw socket.
2025-12-25 00:10:32 +08:00
Mg Pig
6bb2fd9a15
feat(core): Refactor IDN and URL handling logic ( #1533 )
...
* feat(core): Refactor IDN and URL handling logic
* feat(tests): add dual_convert option for URL serialization in IDN tests
2025-11-03 22:15:40 +08:00
Sijie.Sun
13c2e72871
fix incorrect config check ( #1086 )
2025-07-06 14:20:49 +08:00
韩嘉乐
01e491ec07
support ohos ( #974 )
...
* support ohos
---------
Co-authored-by: FrankHan <2777926911@qq.com >
2025-07-02 09:44:45 +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
e130c3f2e4
when gather v6 bind addrs should only rely on v6 range ( #707 )
2025-03-21 22:40:26 +08:00
Sijie.Sun
b46a200f8d
connector should set bind addrs correctly ( #696 )
2025-03-19 10:47:43 +08:00
sijie.sun
03b55b61e7
support txt/srv record
2025-03-08 12:56:23 +08:00
sijie.sun
673c34cf5a
http redirector
2025-02-21 11:51:13 +08:00
sijie.sun
2050ed78d0
remove some dep
2025-02-21 11:51:13 +08:00
Sijie.Sun
bb0ccca3e5
allow manually specify public address of listeners ( #556 )
2025-01-10 09:25:14 +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
858ade2eee
Android Support ( #166 )
...
1. Add vpnservice tauri plugin for android.
2. add workflow for android.
3. Easytier Core support android, allow set tun fd.
2024-07-15 00:03:55 +08:00
Sijie.Sun
8aa57ebc22
support no tun mode ( #141 )
2024-06-10 10:27:24 +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
sijie.sun
873851e6d0
mips
2024-05-03 17:09:46 +08:00
Sijie.Sun
66b3241be7
fix handshake dead lock, clean old code ( #61 )
...
* fix handshake dead lock
* remove old code
2024-04-27 16:27:42 +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
Sijie.Sun
4eb7efe5fc
use workspace, prepare for config server and gui ( #48 )
2024-04-04 10:33:53 +08:00