机场博客JICHANGBOKE.ORG

sing-box 内核是什么,配置长什么样

作者 塔台君发布 约 3 分钟读完

sing-box 是 SagerNet 维护的开源代理内核,读一份 JSON 配置,顶层分成 inbounds、outbounds、route、dns 几块。它和 Clash 系的 YAML 完全不通用,机场要单独提供 sing-box 格式的订阅。

机场用户中心里常见的情况是,订阅按钮有好几个,Clash 一个,V2Ray 一个,运气好的话还有一个写着 sing-box。它们指向的是同一个账号,内容却完全不同。把 Clash 那条链接粘进 sing-box 客户端,多半得到一句解析失败。

原因在配置格式。这件事从两边的文件开头就能看出来。

一份 sing-box 配置的骨架

sing-box 读 JSON。官方文档给的顶层结构是这样几个键。

{
  "log": {},
  "dns": {},
  "ntp": {},
  "inbounds": [],
  "outbounds": [],
  "route": {},
  "experimental": {}
}

inbounds 是本机开的口子,比如混合代理端口或者 TUN 网卡。outbounds 放节点,机场的每一条线路在这里是一个对象。route 放分流规则。dns 单独一块。experimental 里放实验性功能。文档里还列了 certificateendpointsservices 等几项,日常订阅里用不到。

对照一下 Mihomo 那边,节点在 proxies,策略组在 proxy-groups,规则在 rules,层级和名字对不上任何一项。所以机场要生成两份订阅,转换工具做的也是把一种翻译成另一种。

outbounds 里一条节点的写法

同一条 VLESS 节点,sing-box 的写法把 TLS 相关的东西全收进一个对象。

{
  "outbounds": [
    {
      "type": "vless",
      "tag": "hk01",
      "server": "hk01.example.com",
      "server_port": 443,
      "uuid": "00000000-0000-4000-8000-000000000000",
      "flow": "xtls-rprx-vision",
      "tls": {
        "enabled": true,
        "server_name": "www.example-target.com",
        "utls": { "enabled": true, "fingerprint": "chrome" },
        "reality": {
          "enabled": true,
          "public_key": "PUBLIC-KEY-FROM-YOUR-PROVIDER",
          "short_id": "a1b2c3d4"
        }
      }
    }
  ]
}

几处拼法值得记一下。端口叫 server_port 不叫 port,标识叫 tag 不叫 name,Shadowsocks 的类型要写全称 shadowsocks 而不是 ssREALITY 那几个参数在这里是 tls.reality 下面的两项,浏览器指纹在 tls.utls 里。

outbounds 里还能放两种不带服务器的对象。selector 是手动选节点的组,urltest 是按延迟自动挑,作用相当于 Clash 那边的策略组。

分流规则单独放在 route 里

Clash 把规则写成一行行逗号分隔的文本,sing-box 的规则是一个个 JSON 对象,放在 route.rules 里。

{
  "route": {
    "rules": [],
    "rule_set": [],
    "final": "",
    "auto_detect_interface": false
  }
}

final 指的是所有规则都没命中时走哪个出站,文档说明留空就用第一个出站,作用相当于 Clash 规则表最后那条 MATCHrule_set 是 1.8.0 版加的,用来引用外部的规则集合,机场和规则作者提供的分流规则包大多做成这种形式,配置里只留一个引用地址,内容由内核自己去拉。

auto_detect_interface 值得单独说一句。它让内核在 Linux、Windows 和 macOS 上自动绑定默认网卡,用途是避免流量绕回自己形成死循环。开 TUN 模式的时候这一项通常是要打开的,安卓上还有一项 override_android_vpn,用来让系统里另一个 VPN 当上游网络。

它对新协议跟得比较快

官网首页列的出站协议里,机场会用到的有 Shadowsocks、VMess、VLESS、Trojan、Hysteria、Hysteria2、TUIC、AnyTLS、ShadowTLS、Snell 几种,另外还有 WireGuard、SSH、Tor 这些不常出现在订阅里的。六种常见机场协议它全认。

AnyTLS 是个例子。这个协议 2025 年 2 月才公开,sing-box 在 2025 年 8 月 4 日的 v1.12.0 里就加了进来,出站字段包括 password 和三个控制空闲会话的项,细节在 AnyTLS 那篇里。

发版节奏也跟得紧。2026 年 8 月 31 日出 v1.14.0,9 月 15 日出 v1.14.1,上半年 1.12 和 1.13 两条支线经常隔几天就发一个修订版。本站 2026 年 9 月 18 日核对时,最新正式版是 v1.14.1。仓库建于 2022 年 6 月 30 日,核对当天星标 3.8 万。

许可证是 GPLv3 或更新版本,版权写的是 2022 年 nekohasekai。后面还跟了一句,未经事先同意,任何衍生作品不得使用本应用的名称或暗示与其存在关联。

谁在用这个内核

官方自己出客户端。文档站的客户端页分三类,安卓一个,苹果平台一个,覆盖 iOS、macOS 和 tvOS,Windows 与 Linux 合用一个桌面客户端。它们和命令行内核在同一个仓库统一发版,版本号一致。

同一页上有一条提醒值得读。原文的意思是,有些第三方项目声称使用 sing-box 或者拿它当卖点,官网没有收录这些项目,理由是这类项目的维护者主要图的是拉用户,即便提供了好用的客户端功能,代码质量通常不高,还带广告。

本站客户端库到 2026 年 9 月 18 日核对时收了 80 款,标注用 sing-box 的只有 4 款,官方客户端HiddifyKaring,以及已经停更的 NekoRay。同一份库里用 Mihomo 的有 34 款。这个差距解释了为什么很多机场只做 Clash 格式的订阅。

iOS 用户要多留意一步。本站查到官方那款应用 2026 年 6 月从 App Store 下架过一次,几周后重新上架,名称和开发者账号都换了,核对时在架的名字是 sing-box MT。装之前认一下开发者信息里的 nekohasekai 字样。

还有一处和 Clash 的交集

experimental 下面有一块叫 Clash API,字段是 external_controllerexternal_uisecretdefault_mode。开了之后,sing-box 会开一个 RESTful 接口,那些原本给 Clash 写的网页面板可以连上来管理节点。

这一块的存在说明了内核与界面的分工有多松。代理内核是什么那篇里讲过,图形客户端靠这类本地接口指挥内核,接口的形状一样,界面就能通用。文档在这里提醒过一句,接口监听在 0.0.0.0 上时一定要设 secret。

想试 sing-box 的人,顺序可以这样。先确认机场有没有 sing-box 格式的订阅,没有就先别折腾。有的话,手机上直接装官方客户端最省事,电脑上如果已经用惯了 Clash 系,留着原来那套也没什么损失,两边能连的节点基本一样。

常见问题

机场只给 Clash 订阅,能用 sing-box 吗

直接导入多半不行。两边的配置格式不一样,Clash 用 YAML,节点在 proxies 下面,sing-box 用 JSON,节点在 outbounds 里。先去机场用户中心看有没有 sing-box 格式的链接,没有就问客服。另一条路是用能转换格式的客户端,转换质量看客户端自己。

sing-box 官方客户端有哪几个

官网列了三类,安卓一个,苹果平台一个,覆盖 iOS、macOS 和 tvOS,Windows 与 Linux 合用一个桌面客户端。它们和命令行内核在同一个仓库发版,版本号一致。官网同时提醒,有些第三方项目拿 sing-box 当卖点,官网并没有收录它们。

sing-box 支持哪些协议

官网列的出站协议包括 Shadowsocks、VMess、VLESS、Trojan、Hysteria、Hysteria2、TUIC、AnyTLS、ShadowTLS、Snell、WireGuard、SSH 等,另有 Selector 和 URLTest 这类用来选节点的虚拟出站。机场常发的六种协议它都认,新协议跟得也比较快。

sing-box 内核最新是什么版本

本站 2026 年 9 月 18 日核对发布页时,最新正式版是 9 月 15 日的 v1.14.1,v1.14.0 发布于 8 月 31 日。它的小版本发得很密,2026 年上半年 1.12 和 1.13 两条支线经常隔几天就出一个修订版。用官方客户端的人跟着应用商店更新就行。

来源

sing-box代理内核SagerNet订阅格式

接着读