!!! error ""
Only supported on Linux, Windows and macOS.
{
"type": "tun",
"tag": "tun-in",
"interface_name": "tun0",
"inet4_address": "172.19.0.1/30",
"inet6_address": "fdfe:dcba:9876::1/126",
"mtu": 9000,
"auto_route": true,
"strict_route": true,
"endpoint_independent_nat": false,
"stack": "system",
"include_uid": [
0
],
"include_uid_range": [
"1000-99999"
],
"exclude_uid": [
1000
],
"exclude_uid_range": [
"1000-99999"
],
"include_android_user": [
0,
10
],
"include_package": [
"com.android.chrome"
],
"exclude_package": [
"com.android.captiveportallogin"
],
... // Listen Fields
}
!!! note ""
You can ignore the JSON Array [] tag when the content is only one item
!!! warning ""
If tun is running in non-privileged mode, addresses and MTU will not be configured automatically, please make sure the settings are accurate.
Virtual device name, automatically selected if empty.
==Required==
IPv4 prefix for the tun interface.
IPv6 prefix for the tun interface.
The maximum transmission unit.
Set the default route to the Tun.
!!! error ""
To avoid traffic loopback, set `route.auto_detect_interface` or `route.default_interface` or `outbound.bind_interface`
!!! note "Use with Android VPN"
By default, VPN takes precedence over tun. To make tun go through VPN, enable `route.override_android_vpn`.
Enforce strict routing rules in Linux when auto_route
is enabled:
It prevents address leaks and makes DNS hijacking work on Android and Linux with systemd-resolved, but your device will not be accessible by others.
!!! info ""
This item is only available on the gvisor stack, other stacks are endpoint-independent NAT by default.
Enable endpoint-independent NAT.
Performance may degrade slightly, so it is not recommended to enable on when it is not needed.
UDP NAT expiration time in seconds, default is 300 (5 minutes).
TCP/IP stack.
Stack | Description | Status |
---|---|---|
system (default) | Sometimes better performance | recommended |
gVisor | Better compatibility, based on google/gvisor | recommended |
LWIP | Based on eycorsican/go-tun2socks | upstream archived |
!!! warning ""
gVisor and LWIP stacks is not included by default, see [Installation](/#installation).
!!! error ""
UID rules are only supported on Linux and require auto_route.
Limit users in route. Not limited by default.
Limit users in route, but in range.
Exclude users in route.
Exclude users in route, but in range.
!!! error ""
Android user and package rules are only supported on Android and require auto_route.
Limit android users in route.
Common user | ID |
---|---|
Main | 0 |
Work Profile | 10 |
Limit android packages in route.
Exclude android packages in route.
See Listen Fields for details.