机场推荐DEPARTURES · 2026

sing-box 使用教程:全平台图形客户端、远程配置导入与配置要点

本页目录(9)
  1. sing-box 是什么
  2. sing-box 官方图形客户端与下载渠道
  3. 机场订阅怎么导入 sing-box
  4. sing-box 配置要点:看懂这几块就够了
  5. 版本升级时最容易踩的坑
  6. 新手推荐的上手路线
  7. sing-box 常见问题排查
  8. 常见问题
  9. 相关教程

一句话结论:sing-box 是一个通用代理内核,官方为 Android、Apple 平台和 Windows / Linux 都提供了图形客户端。它只认自己的 JSON 配置,所以使用前先确认机场提供 sing-box 订阅;导入方式是“远程配置 + 自动更新”,遇到报错优先检查版本是否匹配。

这篇 sing-box 使用教程不会教你从零手写一份几百行的配置,而是解决实际用机场时最常遇到的三个问题:该装哪个官方客户端、机场订阅怎么导入、配置里哪些地方最容易出错。如果你只是想“导入订阅就能用”,Clash 系客户端可能更合适,文末 FAQ 有对比。

sing-box 是什么

sing-box 由 SagerNet 开发,项目地址是 github.com/SagerNet/sing-box,官方文档在 sing-box.sagernet.org。它和 Xray、mihomo 一样属于“内核”,负责协议实现和流量路由,支持 Shadowsocks、VMess、VLESS(含 Reality)、Trojan、Hysteria2、TUIC、AnyTLS 等协议。不少第三方客户端也把它当作内核使用。

sing-box 的配置统一使用 JSON,结构清晰、性能不错,同一份配置可以在不同平台的官方客户端里运行,这是它吸引进阶用户的地方。代价是门槛比 Clash 高,而且版本迭代时会主动移除旧字段。

对机场用户来说,可以把 sing-box 理解成“和 Clash 同一层级、但配置语言不同的另一套体系”。机场给 Clash 客户端的订阅是 YAML,给 sing-box 的则是 JSON,两者不能互相直接使用。很多人第一次用 sing-box 卡住,原因不是软件难用,而是拿着 Clash 订阅去导入。所以在下载客户端之前,先登录机场用户中心看看有没有 sing-box 订阅按钮,这一步能帮你省掉大部分折腾。

sing-box 官方图形客户端与下载渠道

平台官方客户端下载渠道
Android 5.0+sing-box for Android(SFA)Google Play、F-Droid、GitHub Releases
iOS 15.0+ / tvOS 17.0+sing-box for Apple platforms非国区 App Store(官方 1.14 说明称以 sing-box MT 名称上架)
macOS 13.0+sing-box for Apple platforms(SFM)独立版:GitHub Releases 或 Homebrew brew install sfm
Windows 10+ / Linuxsing-box for DesktopGitHub Releases

需要注意几点:

  • iOS 需要非中国大陆区 Apple ID,切换方式可以参考 Shadowrocket 教程里“准备非国区 Apple ID”一节。按官方说明,旧的 App Store 应用 sing-box VT 的用户需要安装新应用,配置和设置不会自动迁移。
  • macOS 版已不在 Mac App Store 提供,官方说明原因是权限限制,请使用独立版。
  • 小心“套壳”客户端:官方文档明确表示不收录声称使用 sing-box 的第三方项目,并提醒这类项目可能质量较差、带有广告。下载时以官方文档的客户端页面为准。

机场订阅怎么导入 sing-box

这是新手最容易卡住的一步:sing-box 官方客户端不解析 Clash 订阅,也不解析 Base64 通用订阅,它只运行完整的 sing-box JSON 配置。所以你需要先确认订阅格式,具体区别见订阅链接是什么,也可以用本站订阅解析工具查看订阅内容。

情况一:机场提供 sing-box 订阅

最省事。在机场用户中心复制 sing-box 订阅链接,按下面的步骤以远程配置导入即可。

情况二:只有 Clash / 通用订阅

需要先转换成 sing-box 配置,或者直接换用 Clash 系客户端。不要把订阅随手粘贴到来路不明的在线转换网站,订阅链接等同于你的账号凭证。

以远程配置导入(各平台大同小异)

  1. 新建配置:打开客户端,进入配置(Profiles)页面,新建一个配置。
  2. 选择远程类型:配置类型选择远程(Remote),而不是本地(Local)。
  3. 填写地址:名称随意,URL 粘贴 sing-box 订阅链接,并开启自动更新,间隔设为一天左右即可。
  4. 启动:回到主界面选中该配置并启动。Android 和 iOS 会弹出系统的 VPN 授权,允许即可;桌面端使用 TUN 时需要管理员权限。
注意:具体按钮名称会随客户端版本调整,如果找不到上述选项,以客户端界面和官方文档为准。核心思路始终是“新建远程配置 → 填订阅 URL → 开自动更新”。

sing-box 配置要点:看懂这几块就够了

即使配置由机场生成,看懂结构也能帮你排查问题。一份 sing-box 配置的顶层大致是这样(仅为结构示意,省略了节点细节):

{
  "log": { "level": "info" },
  "dns": { "servers": [ ... ], "rules": [ ... ] },
  "inbounds": [
    { "type": "tun", "address": ["172.19.0.1/30"], "auto_route": true }
  ],
  "outbounds": [
    { "type": "selector", "tag": "proxy", "outbounds": [ "节点A", "节点B" ] },
    { "type": "direct", "tag": "direct" }
  ],
  "route": {
    "rules": [
      { "action": "sniff" },
      { "protocol": "dns", "action": "hijack-dns" },
      { "rule_set": ["geosite-cn", "geoip-cn"], "outbound": "direct" }
    ],
    "rule_set": [ ... ],
    "final": "proxy",
    "auto_detect_interface": true
  }
}
  • inbounds:流量从哪里进来。手机和桌面全局接管一般用 tun;只想给浏览器用可以加一个 mixed 端口。
  • outbounds:流量往哪里去。机场节点、selector(手动选择组)、urltest(自动测速组)、direct(直连)都在这里。客户端里能切换的节点,就是 selector 里的成员。
  • route:分流规则。新版本用“规则动作”来做嗅探(sniff)和 DNS 劫持(hijack-dns);国内直连依靠 rule_set 规则集;final 决定没匹配到规则的流量去向。
  • dns:DNS 写错是“能连上但网页打不开”的常见原因。一般思路是国内域名用国内 DNS,其他走代理解析。如果国内网站打开变慢,也往往是国内域名被错误地交给了海外 DNS 解析。

版本升级时最容易踩的坑

sing-box 每隔几个版本就会移除已废弃的写法,旧配置在新客户端上可能直接报错。根据官方的弃用说明:

旧写法弃用版本移除版本新写法
GeoIP / Geosite 数据库1.8.01.12.0rule_set 规则集
block / dns 特殊出站1.11.01.13.0规则动作(reject、hijack-dns)
入站里的 sniff 等旧字段1.11.01.13.0路由规则动作 sniff
旧版 DNS 服务器写法1.12.01.14.0带 type 字段的新格式

这也是为什么不建议从网上随便复制一份“万能配置”:它很可能是按旧版本写的,在新客户端上无法启动,或者能启动但 DNS 行为与预期不同。

所以遇到“unknown field”“已移除”之类的报错,先看客户端内核版本,再看配置是否为对应版本生成。机场订阅支持按版本输出时,选择与你客户端一致的版本;用 v2rayN 调用 sing-box 内核的用户,也要注意 v2rayN 对内核版本的适配说明,详见 v2rayN 使用教程。

新手推荐的上手路线

sing-box 的学习曲线比 Clash 陡,建议按下面的顺序循序渐进,而不是一上来就手写完整配置:

  1. 先确认订阅:问清楚机场是否提供 sing-box 订阅、对应哪个内核版本。没有的话,直接用 Clash 系客户端是更省时间的选择。
  2. 用远程配置跑起来:先让机场生成的配置在官方客户端里正常工作,确认节点可用、网页能打开。
  3. 再读懂配置:在客户端里查看配置内容,对照上面的结构说明理解 inbounds、outbounds、route、dns 各自的作用。
  4. 最后才自定义:真需要改规则时,复制一份配置作为本地配置修改,保留远程配置作为可用的备份,改坏了随时切回去。
优点
  • 官方客户端覆盖 Android、Apple 平台、Windows 和 Linux
  • 一份 JSON 配置多平台通用,结构清晰
  • 协议支持全面,跟进新协议较快
缺点
  • 不能直接导入 Clash 或通用订阅
  • 大版本升级会移除旧字段,旧配置可能失效
  • 出错时需要读日志、读文档,对新手不友好

如果你想在客户端里像 Clash 那样切换策略组,配置中通常需要包含 selector 出站;部分配置还会启用 experimental 里的 Clash API,便于配合网页面板查看连接和切换节点。是否启用取决于机场生成的配置,新手不必手动添加。

sing-box 常见问题排查

  • 远程配置下载失败:订阅域名被干扰时,先用其他方式连上代理再更新,或换备用订阅地址,参考订阅更新失败怎么办。
  • 启动后能连上但网页打不开:重点检查 DNS 部分和 hijack-dns 规则,再换节点测试,参考连上了却打不开网页。
  • 协议相关问题:Hysteria2、TUIC 基于 UDP,在 UDP 受限的网络里可能不稳定,可以切换到 TCP 类协议的节点。协议特点见 Hysteria2 协议介绍和 VLESS Reality 介绍。

常见问题

sing-box 可以直接导入 Clash 订阅或 V2Ray 订阅吗?

官方客户端只能运行 sing-box 自己的 JSON 配置,不能直接解析 Clash YAML 或 Base64 通用订阅。需要机场提供 sing-box 格式订阅,或者把订阅转换成 sing-box 配置后再以远程配置导入。

导入配置后提示 unknown field 或启动失败是怎么回事?

通常是配置写法和客户端内核版本不匹配。sing-box 每个大版本都会移除一批旧字段,例如 1.12 移除了 geoip/geosite,1.14 移除了旧版 DNS 服务器写法。把客户端更新到最新正式版,并让机场或转换工具输出对应版本的配置。

iPhone 上的 sing-box 去哪里下载?

官方 iOS 客户端在非中国大陆区 App Store 上架。官方 1.14 版本说明提到 iOS / tvOS 客户端以 sing-box MT 的名字重新上架,旧的 sing-box VT 用户需要安装新应用,配置不会自动迁移。下载前确认开发者信息与官方文档一致。

sing-box 和 Clash(mihomo)选哪个?

只想导入订阅就用的新手,选 Clash 系客户端更省心,比如 Clash Verge Rev 或 FlClash。sing-box 适合愿意读文档、想要统一一份配置跑全平台、或机场明确提供 sing-box 订阅的用户。

相关教程