2dust
eacf8b0784
Reuse inbound config and fix tun sniffing flag
...
https://github.com/2dust/v2rayN/issues/9921
2026-08-08 20:36:18 +08:00
DHR60 and 2dust
eff584597f
Add custom outbound support ( #9817 )
...
* Add custom outbound support
* Add test
* Add inner fmt support
* Full config to outbounds
* Rename to `Outbound`
* AI optimized
* Fix
* Add bind interface placeholder
---------
Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com >
2026-08-05 14:25:16 +08:00
Tylerrrkd
e1e6c5ddb0
Fix infinite TUN routing loop on traffic to the TUN's own addresses ( #9897 )
...
* Restore the silently dropped embedded TUN routing rules
tun_singbox_rules declares "network": "udp" as a bare string, but
Rule4Sbox.network is a List<string>. System.Text.Json therefore throws on
the very first rule, and JsonUtils.Deserialize swallows it and returns
default. GenRouting only checks for null before AddRange, so the whole
embedded rule set is dropped without a trace.
Both rules it carries have thus never reached a generated config: the
NetBIOS/mDNS reject and the multicast reject. The mismatch predates the
sing-box 1.12 migration - the template has used the string form since the
rules file was introduced.
- declare network as an array so the template matches Rule4Sbox
* Drop traffic addressed to the TUN's own addresses
With auto_route the TUN steals the default route, so a packet whose
destination is the TUN interface's own address is handed to sing-box instead
of being looped back by the kernel. Routing then matches ip_is_private and
sends it to `direct`, whose interface is auto-detected as the TUN again, so
the packet is written straight back into the TUN and re-enters routing. The
loop never terminates and pins a CPU core.
Seen in the wild on macOS: a WebRTC client offered the TUN's own
fc00::172:18:0:1 ULA as an ICE candidate and the resulting STUN
connectivity checks sustained ~8k packets/s out of the interface at 800%
CPU, 21 GB written to the TUN over five hours - against 3 GB read, the
asymmetry that gives the loop away.
Nothing legitimate is addressed to those addresses, so reject them before
any outbound rule can match. Use method "drop" rather than the default
ICMP unreachable, whose destination would be the looping address itself.
- reject the TUN inbound's own addresses, taken from the generated inbound
so the two cannot drift apart
2026-08-05 10:35:37 +08:00
2dust
dc216c2b02
Rename TunIp to TunIP
2026-07-26 21:07:36 +08:00
2dust
e749b81ecf
Add configurable TUN IPv4/IPv6 addresses
...
https://github.com/2dust/v2rayN/issues/9810
2026-07-24 10:13:08 +08:00
DHR60
a37772f12b
Fakeip ( #9786 )
...
* Add fakeip range
* Xray fakedns
2026-07-18 17:47:14 +08:00
DHR60
f55d8b2565
Sync xray ( #9708 )
...
* Sync xray fragment
* Sync xray freedom domainStrategy
* Add Strategy4ProxyDial
2026-07-16 18:55:06 +08:00
DHR60
09ea4890a7
Fix ( #9771 )
2026-07-16 17:37:17 +08:00
DHR60
74ab7ad097
Add ProtectCoreTypeList ( #9756 )
...
* Add ProtectCoreTypeList
* Add process path restrictions
2026-07-15 17:32:07 +08:00
dr mike
bf376a8fac
fix(hysteria2): emit https server_url for sing-box realm outbound ( #9642 )
...
sing-box requires realm.server_url as a full URL (https://host:port ).
Bare host:port caused "missing host in realm server_url" on import.
Also forward stun_servers and clear ResolveRealm success message.
Fixes #9635
2026-06-28 11:05:41 +08:00
DHR60
ef46f4e7e6
Hysteria Realm & Gecko ( #9516 )
...
* Hysteria Realm
* Core config
* Fix
* Fix
* Add Gecko support
2026-06-22 20:52:47 +08:00
DHR60
ce380b861c
Node check ( #9603 )
2026-06-20 10:09:27 +08:00
2dust
00903d3531
Verify if sendThrough is a local address.
...
https://github.com/2dust/v2rayN/issues/9562
2026-06-19 18:09:18 +08:00
DHR60
e6d08c2db1
Code clean ( #9482 )
2026-06-06 11:20:06 +08:00
DHR60
27b8f889fe
Tail Fragmentation ( #9476 )
2026-06-05 19:45:49 +08:00
DHR60 and 2dust
0d5169e4cd
Remove global AllowInsecure and MuxEnabled ( #9473 )
...
* Remove global AllowInsecure
* Remove global MuxEnabled
* Fix core config
* Centralize AllowInsecure handling
* Warn insecure configuration
---------
Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com >
2026-06-05 15:31:23 +08:00
2dust
ce8caa89a4
Add Route Exclude Address setting and UI for sing-box tun
...
https://github.com/2dust/v2rayN/issues/9456
2026-06-04 15:55:09 +08:00
DHR60
bc3cbb4277
Fix ( #9325 )
...
* Fix
* Rename tun tag
2026-05-17 18:52:42 +08:00
VinnyTheFemboy and 2dust
212071681d
Fix bind interface handling in desktop and sing-box ( #9258 )
...
* Fix desktop bind interface setting
* Fix sing-box bind interface config
* Update CoreConfigSingboxServiceTests.cs
---------
Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com >
2026-05-08 19:34:25 +08:00
VinnyTheFemboy
f5059f1165
Fix sing-box TUN custom config inbound ( #9259 )
2026-05-08 19:12:09 +08:00
DHR60
f073b14fcc
Add PR test ( #9244 )
...
* Add pr test
* Fix
2026-05-06 15:35:53 +08:00
DHR60
1a44af33d0
Wireguard ( #9241 )
...
* Adjust mtu
* Add Wireguard PresharedKey
* WireGuard config import
* AI opt
* Opt
2026-05-06 15:35:10 +08:00
DHR60
8450f2e420
Add bind interface ( #9222 )
2026-05-04 14:38:32 +08:00
DHR60
37ef25cbfe
Fix ( #9235 )
...
* Perf routing
* GeoPrefix move to Global
* Fix negative rules
* Fix
2026-05-03 16:09:47 +08:00
DHR60
0fac18ba95
Fix ( #9230 )
2026-05-02 19:01:51 +08:00
DHR60
90b055e364
Remove legacy sing-box dns compatibility ( #9163 )
2026-04-20 18:58:56 +08:00
DHR60 and 2dust
9f0ef36cc0
Refactor Transport ( #9004 )
...
* Refactor transport
* Rename tcp to raw
* Fix
* Fix
Fix raw http ui
Fill xhttp default mode
Fix share uri
Remove RawHost
Fix singbox tcp http path
Fix vmess share uri
* Tidy Resx
* Fix
* Rename TransportExtra to TransportExtraItem
---------
Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com >
2026-04-16 20:21:10 +08:00
DHR60
494b35c1f7
Add xray tun support ( #9063 )
...
* Add xray tun support
* Revert mtu list
2026-04-16 19:17:44 +08:00
DHR60
3cb2869920
Fix ( #9110 )
2026-04-15 19:06:03 +08:00
DHR60
dea143b20d
Add sing-box ua ( #9087 )
...
* Add sing-box ua
* Add curl and fix
2026-04-13 10:58:40 +08:00
DHR60
6b07ca63a0
Add sing-box send-through ( #9081 )
...
* Add sing-box send-through
* Perf resx
2026-04-12 09:25:17 +08:00
DHR60
49f65579aa
Replace protect-ss with protect-socks ( #9052 )
2026-04-11 19:45:23 +08:00
nirvanalinlei
b3102b34b3
修复 sing-box TUN 模式下 relay 出站的 mux 问题 ( #9018 )
...
* Fix sing-box selector generation for dynamic group tags
* 修复 TUN 模式下 DNS 失败及 Windows 提权重启后 TUN 状态丢失
* 按上游意见回滚 TUN 提权时保留启用状态的改动
2026-04-02 20:47:34 +08:00
nirvanalinlei
695a073cd6
Fix sing-box selector generation for dynamic group tags ( #9015 )
2026-03-30 20:12:36 +08:00
DHR60
c61b023ab3
Allow enable legacy process name tun protect ( #9005 )
2026-03-29 14:44:04 +08:00
DHR60
ad11a7e6a5
Support new hysteria2 stream settings ( #8908 )
...
* Support new hysteria2 stream settings
* Fix
* Sync
2026-03-24 11:24:42 +08:00
DHR60
92c8c1463c
Fix ( #8985 )
2026-03-24 11:24:26 +08:00
DHR60
661affd6a5
Tag add remark ( #8980 )
2026-03-23 09:12:14 +08:00
DHR60
14c5b92423
Fix edge case ( #8979 )
2026-03-23 09:11:33 +08:00
DHR60
194c240243
Add ICMP routing ( #8894 )
2026-03-21 19:55:34 +08:00
DHR60
db9fe9c5ea
Fix ( #8972 )
2026-03-21 19:47:04 +08:00
DHR60
bbfd93f5a3
Add sing-box ech query server name ( #8869 )
2026-03-21 16:55:43 +08:00
DHR60
04783ecf44
Add NaiveProxy support ( #8819 )
...
* Add UoT support
* Add NaiveProxy support
* Fix
2026-03-21 16:54:36 +08:00
2dust
26f65dd3b2
Code cleanup: pattern matching and minor fixes
2026-03-10 17:19:21 +08:00
DHR60
b8f7cc0768
Fix hosts matching ( #8890 )
...
* Fix hosts matching
* Fix hosts resolve rule
* Fix
2026-03-04 20:13:06 +08:00
DHR60
c9df9a0001
Fix ( #8868 )
2026-03-01 19:44:44 +08:00
DHR60
56f1794e47
Fix DNS rule ( #8866 )
2026-03-01 18:38:16 +08:00
DHR60
9f6237fb21
Speedtest respect user-set core type ( #8856 )
...
* Respect user-set core type
* Allow test group
2026-03-01 16:11:40 +08:00
DHR60
ad07f281c7
Fix routing ( #8849 )
...
Fix
2026-02-27 11:04:00 +08:00
2dust
7931058342
Centralize active network info retrieval
2026-02-26 17:34:57 +08:00