Skip to content

入站

inbounds 是监听服务的数组。与 Xray-core 不同,这里没有嵌套的 settings 块:每个条目都是扁平对象 — 下面的 type / tag 信封加上所选类型自身的字段,合并在同一层级。先解码信封,再把剩余键解码到为 type 注册的选项结构体中,未知字段会被拒绝。

信封

字段类型默认值允许值描述
typestringtun | redirect | tproxy | direct | socks | http | mixed | shadowsocks | vmess | trojan | naive | shadowtls | vless | anytls | hysteria | tuic | hysteria2入站类型。决定对象其余部分解码到哪个选项结构体。未注册的值会在启动时报 "unknown inbound type"。
tagstring该入站的唯一名称。被路由规则(inbound)与日志行引用。

源码: option/inbound.go:18-22 · 锚定版本 v1.13.15 (3708fa1)

各类型字段见协议页面:TUNRedirect 与 TProxyDirectHTTP 与 SOCKS(含 mixed)、ShadowsocksVMessTrojanNaiveVLESSAnyTLSHysteria2TUIC

共享监听字段(ListenOptions

每个基于套接字的入站都内嵌 ListenOptions;这些字段与信封处于同一扁平层级。

字段类型默认值允许值描述
listen*badoption.Addr绑定地址,如 "::" 或 "127.0.0.1"。
listen_portuint16监听端口。
bind_interfacestring监听器绑定的网络接口。
routing_markFwMark在监听套接字上设置的 SO_MARK(fwmark)。仅 Linux。
reuse_addrboolfalsetrue | false在监听器上设置 SO_REUSEADDR。
netnsstring监听所在的网络命名空间(名称或路径)。仅 Linux。
disable_tcp_keep_aliveboolfalsetrue | false对已接受的连接关闭 TCP keep-alive。
tcp_keep_alivebadoption.Duration开始发送探测前的 keep-alive 空闲时长。时长字符串,如 "15m"。
tcp_keep_alive_intervalbadoption.Durationkeep-alive 探测之间的间隔。时长字符串。
tcp_fast_openboolfalsetrue | false在监听器上启用 TCP Fast Open。
tcp_multi_pathboolfalsetrue | false启用 Multipath TCP(需要平台上的 Go MPTCP 支持)。
udp_fragment*boolfalsetrue | false允许分片超过 MTU 的 UDP 数据包,而不是丢弃。
udp_timeoutUDPTimeoutCompatUDP NAT 表项的空闲超时。时长字符串;实际默认值取决于嗅探到的协议。
detourstring把已接受的连接直接转入另一个入站(按其 tag 寻址)。
proxy_protocolbool已废弃并移除:PROXY protocol 头支持已不存在;设置它会报错。
proxy_protocol_accept_no_headerbool与 proxy_protocol 一同废弃并移除。

源码: option/inbound.go:66-88 · 锚定版本 v1.13.15 (3708fa1)

最简示例

json
{
  "inbounds": [
    {
      "type": "mixed",
      "tag": "mixed-in",
      "listen": "127.0.0.1",
      "listen_port": 2080
    }
  ]
}

说明

  • 严格反序列化同样作用于入站条目内部:任何字段名拼写错误都是启动错误,不会被静默忽略。
  • 旧版嗅探字段(sniffsniff_override_destinationsniff_timeoutdomain_strategyudp_disable_domain_unmapping)在 1.11.0 废弃并在 1.13.0 移除 — 提供它们会报错并指向 rule actions 迁移文档。嗅探现在位于路由规则中。
  • shadowsocksr 仍被注册,但只是一个报错的占位:ShadowsocksR 支持已在 sing-box 1.6.0 移除。
  • hysteriatuichysteria2 需要带 with_quic 标签的构建(官方发布的二进制包含它)。

跨内核说明

  • Xray-core 把协议字段嵌套在 settings 对象中,嗅探按入站配置。见 Xray 入站
  • mihomo 使用独立的根键(portsocks-portmixed-port…)加上 listeners 列表。见 HTTP 与 SOCKSRedirect 与 TProxy

源码: option/inbound.go:18-22 · v1.13.15 (3708fa1)

由 Argsment 出品的 Core Tutorial