github.com/sagernet/sing-box@v1.2.7/docs/configuration/shared/dial.md (about)

     1  ### Structure
     2  
     3  ```json
     4  {
     5    "detour": "upstream-out",
     6    "bind_interface": "en0",
     7    "inet4_bind_address": "0.0.0.0",
     8    "inet6_bind_address": "::",
     9    "routing_mark": 1234,
    10    "reuse_addr": false,
    11    "connect_timeout": "5s",
    12    "tcp_fast_open": false,
    13    "udp_fragment": false,
    14    "domain_strategy": "prefer_ipv6",
    15    "fallback_delay": "300ms"
    16  }
    17  ```
    18  
    19  ### Fields
    20  
    21  | Field                                                                                                                | Available Context |
    22  |----------------------------------------------------------------------------------------------------------------------|-------------------|
    23  | `bind_interface` /`*bind_address` /`routing_mark` /`reuse_addr` / `tcp_fast_open`/ `udp_fragment` /`connect_timeout` | `detour` not set  |
    24  
    25  #### detour
    26  
    27  The tag of the upstream outbound.
    28  
    29  #### bind_interface
    30  
    31  The network interface to bind to.
    32  
    33  #### inet4_bind_address
    34  
    35  The IPv4 address to bind to.
    36  
    37  #### inet6_bind_address
    38  
    39  The IPv6 address to bind to.
    40  
    41  #### routing_mark
    42  
    43  !!! error ""
    44  
    45      Only supported on Linux.
    46  
    47  Set netfilter routing mark.
    48  
    49  #### reuse_addr
    50  
    51  Reuse listener address.
    52  
    53  #### tcp_fast_open
    54  
    55  Enable TCP Fast Open.
    56  
    57  #### udp_fragment
    58  
    59  Enable UDP fragmentation.
    60  
    61  #### connect_timeout
    62  
    63  Connect timeout, in golang's Duration format.
    64  
    65  A duration string is a possibly signed sequence of
    66  decimal numbers, each with optional fraction and a unit suffix,
    67  such as "300ms", "-1.5h" or "2h45m".
    68  Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    69  
    70  #### domain_strategy
    71  
    72  One of `prefer_ipv4` `prefer_ipv6` `ipv4_only` `ipv6_only`.
    73  
    74  If set, the requested domain name will be resolved to IP before connect.
    75  
    76  | Outbound | Effected domains         | Fallback Value                            |
    77  |----------|--------------------------|-------------------------------------------|
    78  | `direct` | Domain in request        | Take `inbound.domain_strategy` if not set | 
    79  | others   | Domain in server address | /                                         |
    80  
    81  #### fallback_delay
    82  
    83  The length of time to wait before spawning a RFC 6555 Fast Fallback connection.
    84  That is, is the amount of time to wait for connection to succeed before assuming
    85  that IPv4/IPv6 is misconfigured and falling back to other type of addresses.
    86  If zero, a default delay of 300ms is used.
    87  
    88  Only take effect when `domain_strategy` is set.