patterniha and Claude Opus 5.5
266df8c644
TUN inbound: Document autoOutboundsInterface binding and other recent changes in README
...
Covers XTLS/Xray-core#7173 (a connection that cannot be bound fails
instead of leaving unbound), #7214 (IPv4-only and IPv6-only outbound
interfaces on Windows), #7230 (IPV6_BOUND_IF on macOS), and also #7130
(built-in TCP/IP stack), #6874 (IPv6 disabled system-wide on Windows),
#6811 (an existing Wintun adapter is reused) and #6883 (the iOS fd is
duplicated). #7092 and autoSystemWfpBlockLeak were already covered.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 23:38:34 +03:30
patterniha and Claude Opus 5.5
f2f292c90c
TUN inbound: Support "tcp/port" and "udp/port" in autoSystemWfpBlockLeak on Windows; "dns" covers DoT and DoQ as well
...
"dns" in autoSystemWfpBlockLeak only blocked port 53 outside the TUN, plus
the DNS Client service on Windows 11 and Server 2022 and later, so other
programs' DNS over TLS (TCP 853) and DNS over QUIC (UDP 853) could still
leave outside the TUN.
autoSystemWfpBlockLeak now takes:
- "tcp/<port>", "udp/<port>": connections to that port may only go through
the TUN (or come from Xray itself).
- "windnsclient": Windows' DNS Client service may only connect through the
TUN, except for mDNS and LLMNR. As before, this only applies from Windows
11 and Server 2022 on, where the service may use DoH or DoT to any port;
earlier versions only query port 53.
- "dns": stands for "udp/53", "tcp/53", "windnsclient", "tcp/853" and
"udp/853".
- "misconfigtun": unchanged.
Values are case-insensitive, deduplicated, and anything else, such as
"tcp/0" or "icmp/1", is rejected. Keeping the system's DNS inside the TUN,
with "udp/53", "tcp/53" or "windnsclient", needs dns to be set, as "dns"
did; ports like 853 alone do not. Each port gets its own permit-through-TUN
and block filters with a protocol condition, where port 53 used to have one
for both protocols, and the log lists what is blocked, e.g. "[tun] blocked
outside the TUN: udp/53, tcp/53, tcp/853, udp/853, windnsclient".
Tested on Windows 11 with a Wintun adapter as the outside interface: with
"tcp/853", "udp/853", "tcp/7215" and "udp/7216", those are blocked outside
the TUN over IPv4 and IPv6, while tcp/7216, udp/7215 and 443 are not, port
853 works through the TUN, Xray's own connections to port 853 still leave
outside it, and nothing is blocked after Xray stops.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 14:52:11 +03:30
78b5a6ec5c
GitHub Action CI: Enforce stricter checks on generated protobuf files ( #7263 )
...
https://github.com/XTLS/Xray-core/pull/7263#issuecomment-6447862934
https://github.com/XTLS/Xray-core/pull/7263#issuecomment-6484719865
https://github.com/XTLS/Xray-core/pull/7263#issuecomment-6485805671
---------
Co-authored-by: Fangliding <Fangliding.fshxy@outlook.com >
2026-10-29 02:34:47 +00:00
6a4274ab75
TUN inbound: autoOutboundsInterface should not set IP_BOUND_IF on IPv6 sockets on Darwin (mainly macOS) ( #7230 )
...
Fixes https://github.com/XTLS/Xray-core/issues/7228
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 20:34:40 +00:00
3071fbfa25
Sockopt: Handle single-family interface binding on Windows, including TUN inbound's autoOutboundsInterface ( #7214 )
...
And https://github.com/XTLS/Xray-core/pull/7214#issuecomment-6329118637
https://github.com/XTLS/Xray-core/pull/7201#issuecomment-6314453444
Fixes https://github.com/XTLS/Xray-core/issues/7160#issuecomment-6246944012
---------
Co-authored-by: patterniha <71074308+patterniha@users.noreply.github.com >
2026-10-28 10:15:58 +00:00
Artem Lytkin and GitHub
557657b576
TUN inbound: Read large TCP segments straight into Xray-core's buffers on Linux ( #7179 )
...
https://github.com/XTLS/Xray-core/pull/7130#issuecomment-6119897360
https://github.com/XTLS/Xray-core/pull/7156#issuecomment-6205035216
https://github.com/XTLS/Xray-core/pull/7179#issuecomment-6250145934
2026-10-21 11:49:36 +00:00
fe2ae23f42
Sockopt: Cancel dialing after failed to bind interface, external controllers included such as TUN inbound's ( #7173 )
...
https://github.com/XTLS/Xray-core/pull/7161#issuecomment-6185101741
Fixes https://github.com/XTLS/Xray-core/issues/7160#issuecomment-6200788453
---------
Co-authored-by: Gleb <a1212gleb@gmail.com >
2026-10-16 06:37:52 +00:00
Artem Lytkin and GitHub
8703fdb101
WireGuard, MASQUE proxies: Use Xray-core's built-in lightweight TCP/IP stack instead of gVisor as well ( #7156 )
...
https://github.com/XTLS/Xray-core/pull/7130#issuecomment-6116258188
https://github.com/XTLS/Xray-core/pull/7130#issuecomment-6120742739
https://github.com/XTLS/Xray-core/pull/7130#issuecomment-6137264458
https://github.com/XTLS/Xray-core/pull/7156#issuecomment-6202933664
https://github.com/XTLS/Xray-core/pull/7156#issuecomment-6203239736
2026-10-15 23:38:14 +00:00
brookwko and RPRX
1dd2a0bd3c
TUN inbound: Support autoSystemDnsToGateway on FreeBSD as well ( #7123 )
...
https://github.com/XTLS/Xray-core/issues/6454#issuecomment-5859521287
https://github.com/XTLS/Xray-core/pull/6691#issuecomment-5445818753
https://github.com/XTLS/Xray-core/pull/6773 & https://github.com/XTLS/Xray-core/pull/6853
2026-10-12 02:48:59 +00:00
Artem Lytkin and RPRX
70ef97d564
TUN inbound: Use Xray-core's built-in lightweight TCP/IP stack instead of gVisor ( #7130 )
...
https://github.com/XTLS/Xray-core/pull/6771#issuecomment-5752154561
https://github.com/XTLS/Xray-core/pull/6795#issuecomment-6095740152
https://github.com/XTLS/Xray-core/pull/7130#issuecomment-6116258188
2026-10-12 02:18:56 +00:00
8989adfd3f
TUN inbound: Handle weak host send and forwarding on the outbound interface on Windows ( #7092 )
...
https://github.com/XTLS/Xray-core/issues/6776#issuecomment-5994046421
https://github.com/XTLS/Xray-core/issues/6776#issuecomment-5994796106
Closes https://github.com/XTLS/Xray-core/issues/6776
Closes https://github.com/XTLS/Xray-core/issues/6872
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 05:49:28 +00:00
Hossin Asaadi and GitHub
1a60fc78ff
TUN inbound: Duplicate the iOS tunnel file descriptor ( #6883 )
...
https://github.com/XTLS/Xray-core/pull/6883#issuecomment-6008368575
2026-10-08 05:14:14 +00:00
nSQUICK and GitHub
1e08d48d88
TUN inbound: Start on Windows when IPv6 is disabled system-wide ( #6874 )
...
https://github.com/XTLS/Xray-core/pull/6874#issuecomment-5989986544
2026-10-05 07:26:00 +00:00
Denis and GitHub
08775afd65
WireGuard inbound: Reduce memory held by idle UDP flows ( #6856 )
...
https://github.com/XTLS/Xray-core/pull/6856#issuecomment-5870639238
2026-10-05 01:56:36 +00:00
1f304916bd
TUN inbound: Add autoSystemWfpBlockLeak on Windows (blocks "dns" and "misconfigtun" IPv4/IPv6 traffic leaks outside the TUN); Rename autoSystemDNS to autoSystemDnsToGateway on Linux (and change some behaviors) ( #6853 )
...
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5899791359
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5901287980
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5903680113
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5904123488
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5904647772
https://github.com/XTLS/Xray-core/pull/6853#issuecomment-5905047424
Fixes https://github.com/XTLS/Xray-core/issues/6454#issuecomment-5863800676
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-30 06:26:16 +00:00
7b8ade3ec5
TUN inbound: Only close the UDP connection that actually finished ( #6814 )
...
https://github.com/XTLS/Xray-core/pull/6814#pullrequestreview-5324536423
---------
Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com >
2026-09-27 21:06:19 +00:00
Artem Lytkin and GitHub
5dda894e29
TUN inbound: Reuse existing Wintun adapter by name on Windows again ( #6811 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6780
2026-09-27 20:39:17 +00:00
youugiuhiuh and GitHub
47a2c2ffdc
TUN inbound: Add autoSystemDNS on Linux (to TUN's gateway) ( #6773 )
...
https://github.com/XTLS/Xray-core/issues/6454#issuecomment-4931311976
https://github.com/XTLS/Xray-core/pull/6773#issuecomment-5755516423
https://github.com/XTLS/Xray-core/pull/6807#issuecomment-5807844210
2026-09-27 20:07:53 +00:00
LjhAUMEM and RPRX
efc9e6da62
WireGuard outbound: Remove remoteDNS' "local" mode and domainStrategy ( #6771 )
...
https://github.com/XTLS/Xray-core/issues/6567#issuecomment-5660953757
https://github.com/XTLS/Xray-core/pull/6771#issuecomment-5751826982
https://github.com/XTLS/Xray-core/pull/6771#issuecomment-5751831637
2026-09-20 19:07:51 +00:00
c412e77a9b
TUN inbound: Preserve UDP packet destinations with traffic stats ( #6747 )
...
https://github.com/XTLS/Xray-core/pull/6747#issuecomment-5647964551
---------
Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com >
2026-09-12 20:09:35 +00:00
LjhAUMEM and GitHub
c7245c0336
TUN inbound: Refine Windows support ( #6478 )
...
https://github.com/XTLS/Xray-core/pull/6478#issuecomment-5489052152
2026-09-08 02:51:35 +00:00
brookwko and GitHub
c1958dba04
TUN inbound: Support autoSystemRoutingTable and autoOutboundsInterface on FreeBSD as well ( #6691 )
...
https://github.com/XTLS/Xray-core/pull/6691#issuecomment-5445818753
Closes https://github.com/XTLS/Xray-core/issues/5594#issuecomment-4789101025
2026-08-27 22:32:45 +00:00
Jidos and GitHub
aa3d6589da
TUN inbound: Wait() blocks via kqueue instead of busy-spinning on Darwin ( #6580 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6579
2026-08-26 21:29:58 +00:00
Jasper344612 and GitHub
1d8eb81d70
TUN inbound: Add desc config for Windows ("Wintun" by default) ( #6486 )
...
https://github.com/XTLS/Xray-docs-next/pull/872#issuecomment-4936055488
2026-07-17 22:21:33 +00:00
0bafca9486
Stats: Fix GetOrRegister*() races ( #6468 )
...
Fixes https://github.com/XTLS/Xray-core/pull/6467#issue-4856851059
---------
Co-authored-by: Joshua Su <i@joshua.su >
2026-07-10 20:34:27 +00:00
yiguodev and GitHub
0495b17650
TUN inbound: Refine gateway and autoSystemRoutingTable on macOS ( #6434 )
...
https://github.com/XTLS/Xray-core/pull/6434#issuecomment-4885521586
2026-07-07 00:28:50 +00:00
yiguodev and GitHub
65f6f0a43b
TUN inbound: Refine gateway and autoSystemRoutingTable on Linux ( #6398 )
...
https://github.com/XTLS/Xray-core/pull/6398#issuecomment-4880261591
2026-07-04 02:25:15 +00:00
Jasper344612 and GitHub
3263ae9255
TUN inbound: Fix autoOutboundsInterface on Linux ( #6413 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6412
2026-07-04 01:38:25 +00:00
yiguodev and GitHub
dda2b10c9d
TUN inbound: Add traffic counters; Metrics: Rely on instance ( #6349 )
...
https://github.com/XTLS/Xray-core/pull/6349#issuecomment-4775121300
2026-06-24 12:00:22 +00:00
Jasper344612 and GitHub
241aa38ac0
TUN inbound: Support autoSystemRoutingTable and autoOutboundsInterface on macOS and Linux as well ( #6366 )
...
https://github.com/XTLS/Xray-core/pull/6366#issuecomment-4788510365
2026-06-24 11:06:00 +00:00
e7e9254630
TUN inbound: Avoid panic on nil RemoteAddr due to quickly closed connection ( #6365 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6364#issuecomment-4778262075
---------
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com >
2026-06-23 11:37:21 +00:00
Жора Змейкин and RPRX
9cd9382e3d
TUN inbound: Support env XRAY_TUN_FD on Linux as well ( #6338 )
...
https://github.com/XTLS/Xray-core/pull/6338#issuecomment-4770945163
2026-06-22 17:38:36 +00:00
LjhAUMEM and GitHub
da21a8f77f
TUN & WireGuard inbounds: Ignore b.UDP's domain when receiving it from outbound ( #6285 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6279
2026-06-09 20:53:55 +00:00
风扇滑翔翼 and GitHub
3239d21168
TUN inbound: autoOutboundsInterface bypasses loopback addresses ( #6276 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6269
2026-06-09 09:40:55 +00:00
风扇滑翔翼 and GitHub
06b4931743
TUN inbound: Start TUN by AlwaysOnInboundHandler ( #6275 )
...
Fixes https://github.com/XTLS/Xray-core/issues/6274
2026-06-09 09:22:33 +00:00
𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 and GitHub
d43a808ea5
GitHub Action CI: Add Go source file format check ( #6090 )
...
https://github.com/XTLS/Xray-core/pull/6057#issuecomment-4364819830
And https://github.com/XTLS/Xray-core/pull/6149#issuecomment-4546876261
2026-05-29 15:04:59 +00:00
LjhAUMEM and GitHub
52cf9ef5d6
TUN inbound: Better "autoOutboundsInterface": "auto" ( #6035 )
...
https://github.com/XTLS/Xray-core/pull/6035#issuecomment-4336755860
Fixes https://github.com/XTLS/Xray-core/issues/6030
2026-05-02 12:18:25 +00:00
yiguodev and GitHub
2fff03720d
TUN inbound: Reply fake pong to ICMP ping ( #6015 )
...
https://github.com/XTLS/Xray-core/pull/6015#issuecomment-4321525342
2026-05-01 22:51:42 +00:00
风扇滑翔翼 and GitHub
3691741440
Chore: Use buf.New() instead of buf.NewWithSize() ( #5946 )
...
https://github.com/XTLS/Xray-core/pull/5941#issuecomment-4252905907
https://github.com/XTLS/Xray-core/pull/5946#issuecomment-4253919073
2026-04-15 16:57:51 +00:00
6780045550
TUN inbound: Add FreeBSD support ( #5891 )
...
And reverts "refactor `mtu` to support setting IPv4/v6 separately" https://github.com/XTLS/Xray-core/pull/5891#issuecomment-4245677624
And fixes `autoOutboundsInterface` on Windows https://github.com/XTLS/Xray-core/pull/5887#issuecomment-4251719900
---------
Co-authored-by: LjhAUMEM <llnu14702@gmail.com >
2026-04-15 12:40:19 +00:00
LjhAUMEM and GitHub
5c3d639c09
Chore: Use buf.NewWithSize() ( #5941 )
2026-04-15 12:11:51 +00:00
LjhAUMEM and GitHub
806b8dc27d
TUN inbound: Add gateway, dns, autoSystemRoutingTable, autoOutboundsInterface for Windows ( #5887 )
...
And refactor `mtu` to support setting IPv4/v6 separately
Example: https://github.com/XTLS/Xray-core/pull/5887#issue-4198837696
2026-04-13 13:38:10 +00:00
Rynnya and Fangliding
6a1a13b797
TUN inbound: Closable by AlwaysOnInboundHandler ( #5860 )
...
https://github.com/XTLS/Xray-core/pull/5860#issuecomment-4193477738
2026-04-07 16:32:06 +08:00
LjhAUMEM and GitHub
4c3020ca6f
TUN inbound: Fix UDP FullCone NAT ( #5888 )
...
Fixes https://github.com/XTLS/Xray-core/issues/5845
2026-04-05 12:59:22 +00:00
风扇滑翔翼 and GitHub
85f1234863
TUN inbound: Generate deterministic GUID on Windows ( #5811 )
...
Closes https://github.com/XTLS/Xray-core/issues/5810
2026-03-19 10:18:07 +00:00
RPRX and GitHub
d14767d4f3
Chore: Generate *.pb.go files with protoc v6.33.5
...
Download https://github.com/protocolbuffers/protobuf/releases/tag/v33.5
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.0
(Xray-core/) go run ./infra/vprotogen
2026-02-03 09:34:02 +00:00
Evozi Team and GitHub
c3af657c0e
TUN inbound: Add iOS support ( #5612 )
...
And https://github.com/XTLS/Xray-core/pull/5612#issuecomment-3799070838
2026-01-26 12:43:10 +00:00
Owersun and GitHub
5173e5c15d
TUN inbound: Enhance Darwin interface support ( #5598 )
...
* Proxy: TUN: Enhance Darwin interface support.
- reduce number of actions done to create/configure the interface in the system
- assign synthetic static link-local ipv4/ipv6 addresses to the interface, that are required by the OS for the routing to work
- make tun_darwin_endpoint be implemented significantly more similar to tun_windows_enpoint, preparing them for potential unification
* Proxy: TUN: Unify Darwin/Windows endpoint, which are now extremely similar, into one GVisorEndpoint.
Making darwin/windows tun implement GVisorDevice with simple readpacket/writepacket methods that GVisorEndpoint untilise
2026-01-25 18:19:05 +00:00
ki and GitHub
445c0d456c
TUN inbound: Disable RACK/TLP recovery to fix connection stalls ( #5600 )
...
https://github.com/XTLS/Xray-core/issues/5599#issuecomment-3794495254
Fixes https://github.com/XTLS/Xray-core/issues/5599
2026-01-24 12:39:07 +00:00
e813a3744f
TUN inbound: Cancel ctx when handling is done ( #5565 )
...
https://github.com/XTLS/Xray-core/pull/5565#issuecomment-3777939907
---------
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com >
2026-01-21 12:58:30 +00:00