Route
Structure
{
"route": {
"geoip": {},
"geosite": {},
"rules": [],
"rule_set": [],
"final": "",
"auto_detect_interface": false,
"override_android_vpn": false,
"default_interface": "en0",
"default_mark": 233,
"udp_disable_domain_unmapping": false,
"stop_always_resolve_udp": false,
"concurrent_dial": false,
"keep_alive_interval": "15s"
}
}
Fields
Key | Format |
---|---|
geoip |
GeoIP |
geosite |
Geosite |
rules
List of Route Rule
rule_set
Since sing-box 1.8.0
List of rule-set
final
Default outbound tag. the first outbound will be used if empty.
auto_detect_interface
Only supported on Linux, Windows and macOS.
Bind outbound connections to the default NIC by default to prevent routing loops under tun.
Takes no effect if outbound.bind_interface
is set.
override_android_vpn
Only supported on Android.
Accept Android VPN as upstream NIC when auto_detect_interface
enabled.
default_interface
Only supported on Linux, Windows and macOS.
Bind outbound connections to the specified NIC by default to prevent routing loops under tun.
Takes no effect if auto_detect_interface
is set.
default_mark
Only supported on Linux.
Set routing mark by default.
Takes no effect if outbound.routing_mark
is set.
stop_always_resolve_udp
If not set, the requested domain name will be resolved to IP before routing when the inbound stream is udp.
If domain_strategy
is not in effect, domain will be resolved with dns.rules
.
concurrent_dial
If not set, every dial will be triple-concurrently. The fastest connection opened will be returned.
keep_alive_interval
The period between TCP keep-alives. 15s
will be used if empty.
A period string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".