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 — 蘋果設備客戶端方案