mirror of
https://github.com/SagerNet/sing-box.git
synced 2024-11-16 15:12:21 +08:00
145 lines
2.7 KiB
Markdown
145 lines
2.7 KiB
Markdown
|
### 结构
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"outbounds": [
|
|||
|
{
|
|||
|
"type": "wireguard",
|
|||
|
"tag": "wireguard-out",
|
|||
|
|
|||
|
"server": "127.0.0.1",
|
|||
|
"server_port": 1080,
|
|||
|
"local_address": [
|
|||
|
"10.0.0.1",
|
|||
|
"10.0.0.2/32"
|
|||
|
],
|
|||
|
"private_key": "YNXtAzepDqRv9H52osJVDQnznT5AM11eCK3ESpwSt04=",
|
|||
|
"peer_public_key": "Z1XXLsKYkYxuiYjJIkRvtIKFepCYHTgON+GwPq7SOV4=",
|
|||
|
"pre_shared_key": "31aIhAPwktDGpH4JDhA8GNvjFXEf/a6+UaQRyOAiyfM=",
|
|||
|
"mtu": 1408,
|
|||
|
"network": "tcp",
|
|||
|
|
|||
|
"detour": "upstream-out",
|
|||
|
"bind_interface": "en0",
|
|||
|
"bind_address": "0.0.0.0",
|
|||
|
"routing_mark": 1234,
|
|||
|
"reuse_addr": false,
|
|||
|
"connect_timeout": "5s",
|
|||
|
"tcp_fast_open": false,
|
|||
|
"domain_strategy": "prefer_ipv6",
|
|||
|
"fallback_delay": "300ms"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
!!! warning ""
|
|||
|
|
|||
|
默认安装不包含 WireGuard, 参阅 [安装](/zh/#installation).
|
|||
|
|
|||
|
### WireGuard 字段
|
|||
|
|
|||
|
#### server
|
|||
|
|
|||
|
==必填==
|
|||
|
|
|||
|
服务器地址
|
|||
|
|
|||
|
#### server_port
|
|||
|
|
|||
|
==必填==
|
|||
|
|
|||
|
服务器端口
|
|||
|
|
|||
|
#### local_address
|
|||
|
|
|||
|
==必填==
|
|||
|
|
|||
|
接口的 IPv4/IPv6 地址或地址段的列表您
|
|||
|
|
|||
|
要分配给接口的 IP(v4 或 v6)地址列表(可以选择带有 CIDR 掩码)。
|
|||
|
|
|||
|
#### private_key
|
|||
|
|
|||
|
==必填==
|
|||
|
|
|||
|
WireGuard 需要 base64 编码的公钥和私钥。 这些可以使用 wg(8) 实用程序生成:
|
|||
|
|
|||
|
```shell
|
|||
|
wg genkey
|
|||
|
echo "private key" || wg pubkey
|
|||
|
```
|
|||
|
|
|||
|
#### peer_public_key
|
|||
|
|
|||
|
==必填==
|
|||
|
|
|||
|
WireGuard 对等公钥。
|
|||
|
|
|||
|
#### pre_shared_key
|
|||
|
|
|||
|
WireGuard 预共享密钥。
|
|||
|
|
|||
|
#### mtu
|
|||
|
|
|||
|
WireGuard MTU。 如果为空,将使用 1408。
|
|||
|
|
|||
|
#### network
|
|||
|
|
|||
|
启用的网络协议
|
|||
|
|
|||
|
`tcp` 或 `udp`。
|
|||
|
|
|||
|
默认所有。
|
|||
|
|
|||
|
### 拨号字段
|
|||
|
|
|||
|
#### detour
|
|||
|
|
|||
|
上游出站的标签。
|
|||
|
|
|||
|
启用时,其他拨号字段将被忽略。
|
|||
|
|
|||
|
#### bind_interface
|
|||
|
|
|||
|
要绑定到的网络接口。
|
|||
|
|
|||
|
#### bind_address
|
|||
|
|
|||
|
要绑定的地址。
|
|||
|
|
|||
|
#### routing_mark
|
|||
|
|
|||
|
!!! error ""
|
|||
|
|
|||
|
仅支持 Linux.
|
|||
|
|
|||
|
设置 netfilter 路由标记
|
|||
|
|
|||
|
#### reuse_addr
|
|||
|
|
|||
|
重用监听地址
|
|||
|
|
|||
|
#### connect_timeout
|
|||
|
|
|||
|
连接超时,采用 golang 的 Duration 格式。
|
|||
|
|
|||
|
持续时间字符串是一个可能有符号的序列十进制数,每个都有可选的分数和单位后缀, 例如 "300ms"、"-1.5h" 或 "2h45m"。
|
|||
|
有效时间单位为 "ns"、"us"(或 "µs")、"ms"、"s"、"m"、"h"。
|
|||
|
|
|||
|
#### domain_strategy
|
|||
|
|
|||
|
可选值:`prefer_ipv4` `prefer_ipv6` `ipv4_only` `ipv6_only`.
|
|||
|
|
|||
|
如果设置,服务器域名将在连接前解析为 IP。
|
|||
|
|
|||
|
如果为空,将使用 `dns.strategy`。
|
|||
|
|
|||
|
#### fallback_delay
|
|||
|
|
|||
|
在生成 RFC 6555 快速回退连接之前等待的时间长度。
|
|||
|
也就是说,是在假设之前等待 IPv6 成功的时间量如果设置了 "prefer_ipv4",则 IPv6 配置错误并回退到 IPv4。
|
|||
|
如果为零,则使用 300 毫秒的默认延迟。
|
|||
|
|
|||
|
仅当 `domain_strategy` 为 `prefer_ipv4` 或 `prefer_ipv6` 时生效。
|