Skip to content

Dial Fields

Changes in sing-box 1.12.0

domain_resolver
domain_strategy

Structure

{
  "detour": "upstream-out",
  "bind_interface": "en0",
  "inet4_bind_address": "0.0.0.0",
  "inet6_bind_address": "::",
  "routing_mark": 1234,
  "reuse_addr": false,
  "connect_timeout": "5s",
  "tcp_fast_open": false,
  "tcp_multi_path": false,
  "udp_fragment": false,
  "domain_resolver": "", // or {}
  "network_strategy": "default",
  "network_type": [],
  "fallback_network_type": [],
  "fallback_delay": "300ms",

  // Deprecated
  "domain_strategy": "prefer_ipv6"
}

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

Fields

detour

The tag of the upstream outbound.

If enabled, all other fields will be ignored.

bind_interface

The network interface to bind to.

inet4_bind_address

The IPv4 address to bind to.

inet6_bind_address

The IPv6 address to bind to.

routing_mark

Only supported on Linux.

Set netfilter routing mark.

reuse_addr

Reuse listener address.

tcp_fast_open

Enable TCP Fast Open.

tcp_multi_path

Go 1.21 required.

Enable TCP Multi Path.

udp_fragment

Enable UDP fragmentation.

connect_timeout

Connect timeout, in golang's Duration format.

A duration 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".

domain_resolver

outbound DNS rule items are deprecated and will be removed in sing-box 1.14.0, so this item will be required for outbound/endpoints using domain name in server address since sing-box 1.14.0.

Set domain resolver to use for resolving domain names.

This option uses the same format as the route DNS rule action without the action field.

Setting this option directly to a string is equivalent to setting server of this options.

Outbound/Endpoints Effected domains
direct Domain in request
others Domain in server address

network_strategy

Since sing-box 1.11.0

Only supported in graphical clients on Android and Apple platforms with auto_detect_interface enabled.

Strategy for selecting network interfaces.

Available values:

  • default (default): Connect to default network or networks specified in network_type sequentially.
  • hybrid: Connect to all networks or networks specified in network_type concurrently.
  • fallback: Connect to default network or preferred networks specified in network_type concurrently, and try fallback networks when unavailable or timeout.

For fallback, when preferred interfaces fails or times out, it will enter a 15s fast fallback state (Connect to all preferred and fallback networks concurrently), and exit immediately if preferred networks recover.

Conflicts with bind_interface, inet4_bind_address and inet6_bind_address.

network_type

Since sing-box 1.11.0

Only supported in graphical clients on Android and Apple platforms with auto_detect_interface enabled.

Network types to use when using default or hybrid network strategy or preferred network types to use when using fallback network strategy.

Available values: wifi, cellular, ethernet, other.

Device's default network is used by default.

fallback_network_type

Since sing-box 1.11.0

Only supported in graphical clients on Android and Apple platforms with auto_detect_interface enabled.

Fallback network types when preferred networks are unavailable or timeout when using fallback network strategy.

All other networks expect preferred are used by default.

fallback_delay

Since sing-box 1.11.0

Only supported in graphical clients on Android and Apple platforms with auto_detect_interface enabled.

The length of time to wait before spawning a RFC 6555 Fast Fallback connection.

For domain_strategy, is the amount of time to wait for connection to succeed before assuming that IPv4/IPv6 is misconfigured and falling back to other type of addresses.

For network_strategy, is the amount of time to wait for connection to succeed before falling back to other interfaces.

Only take effect when domain_strategy or network_strategy is set.

300ms is used by default.

domain_strategy

Deprecated in sing-box 1.12.0

domain_strategy is merged to domain_resolver in sing-box 1.12.0.

Available values: prefer_ipv4, prefer_ipv6, ipv4_only, ipv6_only.

If set, the requested domain name will be resolved to IP before connect.

Outbound Effected domains Fallback Value
direct Domain in request Take inbound.domain_strategy if not set
others Domain in server address /