Sing-box 完整教程 2026:从安装到规则分流的一站式指南
2024 年之后,科学上网圈悄然完成一次「内核换代」:Clash 生态式微,Sing-box 成为事实标准。你会发现,越来越多的机场订阅开始提供 sing-box 格式,各类「一键订阅」工具也把 Sing-box 作为首选输出。为什么?因为它把 代理协议、路由规则、DNS、TUN 虚拟网卡 全部整合进一个二进制程序,配置更简洁、性能更高、资源占用更低。
如果你还在用 Clash Verge / v2rayN,或者刚拿到一份订阅不知道怎么用,这篇 2026 年最新 Sing-box 完整教程 会带你从零走通:它到底是什么、和 Clash 有什么区别、全平台怎么装、订阅怎么导入、规则怎么分流、DNS 怎么防污染,以及如何用它聚合自建节点 + 机场订阅。
一、Sing-box 是什么
1.1 一句话定义
Sing-box 是一个通用的网络代理平台(通用代理内核),由 SagerNet 团队开发,用 Go 语言编写。它不像 Clash 那样「只做规则分流」,而是把 入站、出站、路由、DNS、协议转换 全部统一在单一配置模型中。
1.2 与 Clash / v2rayN 的本质区别
| 维度 | Clash / Clash.Meta | v2rayN (v2ray-core) | Sing-box |
|---|---|---|---|
| 架构 | 规则引擎 + 多核适配 | v2ray-core 前端 | 单一全能内核 |
| 协议支持 | 依赖 meta 内核扩展 | 依赖 v2ray/xray | 原生全套(VMess/VLESS/Trojan/Shadowsocks/Hysteria2/…) |
| 规则系统 | rules.yaml + 规则集 | 路由规则 | rule-set(二进制,加载快) |
| DNS | 独立 DNS 模块 | 独立 | 统一 DNS 模块,支持 DoH/DoT/直连 |
| TUN 模式 | 需 TUN 助手 | 系统代理 | 原生 TUN,无需辅助进程 |
| 资源占用 | 中 | 中 | 低(单二进制) |
| 配置复杂度 | YAML 较繁琐 | JSON 较繁琐 | JSON 但结构化更清晰 |
💡 核心差异:Clash 是「规则引擎 + 适配各种内核」,而 Sing-box 是「一个内核搞定所有」。后者在复杂网络环境(需分流 + 防污染 + 全局 TUN)时优势明显。
1.3 什么是 SFM 生态
SFM = Sing-box + FlClash / Mihomo 前端?不,更准确的理解是:Sing-box 作为底层内核,上层由各类「带 GUI 的客户端」调用。常见的有:
- Windows:SFM(Sagernet For Windows / sing-box 官方 GUI)、hiddify-windows
- macOS:SFM、sing-box 命令行 + GUI 壳
- Android:SagerNet、sing-box for Android、hiddify
- iOS:SFM(需外区账号)、shadowrocket(支持 sing-box 订阅)
二、核心概念速通
看懂这几个概念,配置就不难了:
| 概念 | 含义 | 类比 |
|---|---|---|
| inbound(入站) | 本机如何接收流量(如 TUN、mixed 端口) | 家门口的收发室 |
| outbound(出站) | 流量从哪个节点出去(代理/直连/阻断) | 快递发往哪个仓库 |
| route(路由) | 根据规则把流量分到不同 outbound | 分拣中心 |
| rule-set(规则集) | 批量规则(geoip / geosite) | 分拣清单 |
| DNS | 域名解析策略,防污染关键 | 查地址簿 |
一个典型流程:App 流量 → inbound(TUN) → route(按 rule-set 判断) → 国内直连 / 国外走代理 outbound → 出站节点 → 互联网。
三、客户端安装(全平台)
3.1 Windows
方案 A:SFM(推荐)
- 到 GitHub 下载
SFM或sing-box官方 Windows 客户端 - 安装后打开,导入订阅(见第四章)
- 开启 TUN 模式即可全局代理
方案 B:命令行(极客)
# 下载 sing-box 并运行(示例,路径以官方为准)
winget install sing-box
sing-box run -c config.json3.2 macOS
macOS 上由于签名限制,推荐用 GUI 壳 + 内核 方案:
- 安装
SFM for macOS或从 Homebrew 安装内核 - 若用命令行:
brew install sing-box - 配置 TUN 需授权系统扩展(设置 → 隐私与安全 → 允许)
3.3 Android
最成熟:
- SagerNet:原生支持 sing-box 内核,导入订阅即用
- sing-box for Android:官方内核 + 简易 UI
- hiddify:开箱即用,内置订阅转换
3.4 iOS / iPadOS
iOS 限制最多,但有两条路:
- SFM / sing-box iOS:需外区(美区/港区)Apple ID 下载
- Shadowrocket(小火箭):支持直接导入 sing-box 订阅链接,国内账号即可
国内 iOS 用户看这篇:iOS 代理完整指南 2026 获取外区账号与客户端方案。
四、订阅导入与转换
4.1 直接订阅(机场支持时)
多数现代机场在「订阅链接」里提供 sing-box 格式,复制链接,在客户端选「添加订阅 / URL」粘贴即可。客户端会自动拉取节点 + 规则。
4.2 订阅转换(机场只给 Clash/V2Ray 时)
用 sub-store(订阅转换) 把任意格式转成 sing-box:
| 工具 | 说明 |
|---|---|
| sub-store | 本地/在线订阅管理,支持输出 sing-box 格式 |
| subconverter | 老牌转换,支持 target=singbox |
| 一键订阅脚本 | 部分机场自带「生成 sing-box 订阅」按钮 |
# subconverter 示例(本地部署)
# 访问 http://127.0.0.1:25500 ,粘贴原订阅,target 选 sing-box,生成新链接4.3 手动合并多个订阅
高级玩法:把「机场 A + 自建节点 + 另一个机场」聚合。这需要用脚本或订阅工具做 订阅聚合(见第九章实战)。
五、路由规则与 rule-set 分流
这是 Sing-box 的强项。rule-set 用二进制格式(.srs),加载快、占用小。
5.1 基础路由逻辑
{
"route": {
"rules": [
{ "rule_set": ["geoip-cn"], "outbound": "direct" },
{ "rule_set": ["geosite-cn"], "outbound": "direct" },
{ "rule_set": ["geosite-category-ads-all"], "outbound": "block" },
{ "rule_set": ["geosite-netflix"], "outbound": "proxy-stream" }
],
"final": "proxy",
"auto_detect_interface": true
}
}含义:
- 国内 IP(
geoip-cn)→ 直连 - 国内域名(
geosite-cn)→ 直连 - 广告域名 → 阻断
- Netflix 域名 → 走「流媒体专线」outbound
- 其余 → 默认走代理
5.2 常用 rule-set 清单
| 规则集 | 作用 |
|---|---|
geoip-cn | 中国大陆 IP |
geosite-cn | 中国大陆域名 |
geosite-geolocation-!cn | 非中国大陆域名 |
geosite-netflix / geosite-disney | 流媒体定向 |
geosite-category-ads-all | 广告拦截 |
geosite-github / geosite-google | 指定服务走代理 |
💡 规则集文件(.srs)可从社区维护的仓库获取,如
MetaCubeX/meta-rules-dat的 sing-box 版本。
六、DNS 配置与防污染
DNS 是「能不能稳定翻墙」的命门。Sing-box 的 DNS 模块统一处理,避免「代理开了但 DNS 泄露」的经典坑。
6.1 两种模式
| 模式 | 原理 | 适用 |
|---|---|---|
| fake-ip | 返回假 IP(198.18.x.x),由内核拦截真实域名再代理 | 通用、防泄露好 |
| redir-host | 真实解析,依赖路由把 DNS 请求送代理 | 某些 App 兼容更好 |
6.2 推荐 DNS 配置(fake-ip + 防污染)
{
"dns": {
"servers": [
{ "tag": "local", "address": "223.5.5.5", "detour": "direct" },
{ "tag": "remote", "address": "https://1.1.1.1/dns-query", "detour": "proxy" },
{ "tag": "block", "address": "rcode://refused" }
],
"rules": [
{ "rule_set": "geosite-cn", "server": "local" },
{ "rule_set": "geosite-category-ads-all", "server": "block" }
],
"final": "remote",
"strategy": "prefer_ipv4"
}
}要点:
- 国内域名走本地 DNS(223.5.5.5 / 119.29.29.29)
- 国外域名走代理链路的 DoH(1.1.1.1)
- 广告域名直接 refuse
七、Clash 配置迁移到 Sing-box
从 Clash 转过来,关键映射:
| Clash 概念 | Sing-box 对应 |
|---|---|
| proxies | outbounds |
| proxy-groups | outbounds(含 selector/urltest 类型) |
| rules | route.rules |
| rule-providers | rule-set |
| dns | dns |
| tun | inbounds(type: tun) |
| mixed-port | inbounds(type: mixed) |
自动转换工具
不想手搓?用这些工具一键转:
- subconverter:
target=singbox直接输出 - mihomo → sing-box 转换脚本:社区维护,GitHub 可搜
习惯 Clash 界面的用户,也可以继续用 Clash 客户端对比 里推荐的客户端,它们多已支持 sing-box 内核。
八、TUN 模式与全局代理
8.1 为什么需要 TUN
普通「系统代理」只接管浏览器等支持代理的 App,游戏、命令行、Docker、终端 不走代理。TUN 模式创建一个虚拟网卡,接管全系统流量,让任何程序都能翻墙。
8.2 开启方式
{
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "tun0",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"stack": "system"
}
]
}开启后:
auto_route: true自动改路由表stack: system用系统网络栈(macOS/Linux 兼容性最好)- Windows 需允许驱动安装
⚠️ TUN 模式下若「微信/银行 App 异常」,通常是规则没把它们的域名加直连。参见第五章把对应域名加入
geosite-cn或单独direct规则。
九、实战:自建节点 + 订阅聚合
把 3X-UI 自建节点 和机场订阅聚合,既能省钱又能保底。
9.1 配置结构
{
"outbounds": [
{ "type": "direct", "tag": "direct" },
{ "type": "block", "tag": "block" },
{
"type": "vless",
"tag": "self-node",
"server": "your-vps.com",
"uuid": "xxxx-xxxx",
"tls": { "enabled": true },
"transport": { "type": "grpc" }
},
{
"type": "selector",
"tag": "proxy",
"outbounds": ["self-node", "airport-A", "airport-B"]
}
]
}9.2 聚合订阅的两种方式
- 客户端手动加多个订阅:SagerNet / SFM 支持多订阅并存,selector 里切换
- 订阅转换服务聚合:用 sub-store 把多个订阅 + 手动节点合并成一个 sing-box 订阅链接,再导入
9.3 与 WireGuard 配合
如果需要「全局 VPN 级」体验(如整台路由器翻墙),可先用 WireGuard 自建 打通隧道,再在设备上用 Sing-box 做精细分流。两者互补:WireGuard 负责通道,Sing-box 负责规则。
十、常见问题
Q1:Sing-box 能联网但部分网站打不开?
通常是路由/DNS 问题:
- 确认
finaloutbound 指向有效的代理节点 - 检查 DNS 是否泄露——用
dnsleaktest.com测试 - 把打不开的域名手动加入
proxy或对应 geosite 规则 - 切换
fake-ip↔redir-host试试
Q2:规则不生效,所有流量都走代理或都直连?
排查顺序:
route.rules顺序从上往下匹配,先写直连/阻断,最后写默认代理rule_set文件是否正确加载(路径/URL 有效)auto_detect_interface: true是否开启,否则 TUN 路由可能错乱- 用客户端日志看每条连接命中了哪条规则
Q3:内存占用高 / 卡顿?
Sing-box 本身很轻量(常驻 30~80MB)。若卡顿:
- 减少 rule-set 数量,只加载用到的
geoip/geosite用.srs二进制版,别用文本版- 关闭不必要的 inbounds(如同时开了 mixed + tun 可能冲突)
Q4:DNS 泄露怎么办?
DNS 泄露会让运营商看到你访问了什么。修复:
- 用
fake-ip模式 - 国外域名 DNS 必须
detour: proxy(走代理链路解析) - 在
dns.rules里确保geosite-cn才走 local - 测试:访问
dnsleaktest.com,显示的是代理节点 IP 而非本机 ISP 即正常
Q5:iOS 上没有 SFM 怎么办?
两条路:
- 换美区/港区 Apple ID 下载 SFM 或 sing-box
- 直接用 Shadowrocket 导入 sing-box 订阅(小火箭支持该格式),国内账号可购
- 详见 iOS 代理指南 2026
Q6:和 Clash Verge Rev 该选哪个?
- 追求简单、GUI 友好、社区模板多 → Clash Verge Rev(仍可用,meta 内核)
- 追求性能、低占用、原生 TUN、协议全家桶 → Sing-box
2026 年新设备建议直接上 Sing-box;老设备若 Clash 配置已稳定,不必强行迁移。
Q7:订阅经常失效 / 节点少?
- 用 sub-store 做订阅聚合,多机场互为备份
- 自建节点保底(参考 3X-UI 教程)
- 定期更新 rule-set(geoip/geosite 数据会变化)
Q8:Docker / 终端 / 游戏怎么走代理?
这些不走系统代理的流量,必须开 TUN 模式(第八章)。TUN 接管全系统流量后,Docker 容器、命令行 curl、游戏客户端都自动走代理。
总结
Sing-box 在 2026 年已经成为科学上网的 「底层事实标准」:一个二进制搞定协议、路由、DNS、TUN,配置清晰、性能强、占用低。上手路径建议:
- 新手:用 SagerNet / SFM 客户端 + 机场 sing-box 订阅,开 TUN 即用
- 进阶:sub-store 订阅转换 + rule-set 精细分流
- 高阶:自建节点(3X-UI)+ 机场聚合 + DNS 防污染
从 Clash 迁移并不难,核心是把 proxies → outbounds、rules → route.rules、rule-providers → rule-set 做映射,或直接用转换工具一键生成。
延伸阅读:
- 科学上网协议对比 2026 — 搞清楚 VMess/VLESS/Trojan/Hysteria2 怎么选
- Clash 客户端横向对比 2026 — 想继续用 Clash 界面的看这里
- 3X-UI 自建代理完整教程 — 自建节点保底
- WireGuard 自建 VPN 教程 — 全局 VPN 级通道
- iOS 代理完整指南 2026 — 苹果设备客户端方案