# Route - sing-box
The universal proxy platform.
Author: nekohasekai

Skip to content

# Route

Changes in sing-box 1.14.0

default_http_client
find_neighbor
dhcp_lease_files

Changes in sing-box 1.12.0

default_domain_resolver
geoip
geosite

Changes in sing-box 1.11.0

default_network_strategy
default_network_type
default_fallback_network_type
default_fallback_delay

Changes in sing-box 1.8.0

rule_set
geoip
geosite

### Structure

    {
      "route": {
        "rules": [],
        "rule_set": [],
        "final": "",
        "auto_detect_interface": false,
        "override_android_vpn": false,
        "default_interface": "",
        "default_mark": 0,
        "find_process": false,
        "find_neighbor": false,
        "dhcp_lease_files": [],
        "default_http_client": "",
        "default_domain_resolver": "", // or {}
        "default_network_strategy": "",
        "default_network_type": [],
        "default_fallback_network_type": [],
        "default_fallback_delay": "",

        // Removed

        "geoip": {},
        "geosite": {}
      }
    }

You can ignore the JSON Array [] tag when the content is only one item

### Fields

#### 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.

#### find_process

Only supported on Linux, Windows, and macOS.

Enable process search for logging when no `process_name`, `process_path`, `package_name`, `user` or `user_id` rules exist.

#### find_neighbor

Since sing-box 1.14.0

Only supported on Linux and macOS.

Enable neighbor resolution for logging when no `source_mac_address` or `source_hostname` rules exist.

See Neighbor Resolution for setup.

#### dhcp_lease_files

Since sing-box 1.14.0

Only supported on Linux and macOS.

Custom DHCP lease file paths for hostname and MAC address resolution.

Automatically detected from common DHCP servers (dnsmasq, odhcpd, ISC dhcpd, Kea) if empty.

#### default_http_client

Since sing-box 1.14.0

Tag of the default HTTP Client used by remote rule-sets.

If empty and `http_clients` is defined, the first HTTP client is used.

#### default_domain_resolver

Since sing-box 1.12.0

See Dial Fields for details.

Can be overridden by `outbound.domain_resolver`.

#### default_network_strategy

Since sing-box 1.11.0

See Dial Fields for details.

Takes no effect if `outbound.bind_interface`, `outbound.inet4_bind_address` or `outbound.inet6_bind_address` is set.

Can be overridden by `outbound.network_strategy`.

Conflicts with `default_interface`.

#### default_network_type

Since sing-box 1.11.0

See Dial Fields for details.

#### default_fallback_network_type

Since sing-box 1.11.0

See Dial Fields for details.

#### default_fallback_delay

Since sing-box 1.11.0

See Dial Fields for details.