跳轉到內容

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.Metav2rayN (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(推薦)

  1. 到 GitHub 下載 SFMsing-box 官方 Windows 客戶端
  2. 安裝後打開,導入訂閱(見第四章)
  3. 開啟 TUN 模式即可全局代理

方案 B:命令行(極客)

powershell
# 下載 sing-box 並運行(示例,路徑以官方為準)
winget install sing-box
sing-box run -c config.json

3.2 macOS

macOS 上由於簽名限制,推薦用 GUI 殼 + 內核 方案:

  1. 安裝 SFM for macOS 或從 Homebrew 安裝內核
  2. 若用命令行:brew install sing-box
  3. 配置 TUN 需授權系統擴展(設置 → 隱私與安全 → 允許)

3.3 Android

最成熟:

  • SagerNet:原生支持 sing-box 內核,導入訂閱即用
  • sing-box for Android:官方內核 + 簡易 UI
  • hiddify:開箱即用,內置訂閱轉換

3.4 iOS / iPadOS

iOS 限制最多,但有兩條路:

  1. SFM / sing-box iOS:需外區(美區/港區)Apple ID 下載
  2. 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 訂閱」按鈕
bash
# subconverter 示例(本地部署)
# 訪問 http://127.0.0.1:25500 ,粘貼原訂閱,target 選 sing-box,生成新鏈接

4.3 手動合併多個訂閱

高級玩法:把「機場 A + 自建節點 + 另一個機場」聚合。這需要用腳本或訂閱工具做 訂閱聚合(見第九章實戰)。


五、路由規則與 rule-set 分流

這是 Sing-box 的強項。rule-set 用二進制格式(.srs),加載快、佔用小。

5.1 基礎路由邏輯

json
{
  "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 + 防汙染)

json
{
  "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 對應
proxiesoutbounds
proxy-groupsoutbounds(含 selector/urltest 類型)
rulesroute.rules
rule-providersrule-set
dnsdns
tuninbounds(type: tun)
mixed-portinbounds(type: mixed)

自動轉換工具

不想手搓?用這些工具一鍵轉:

  • subconvertertarget=singbox 直接輸出
  • mihomo → sing-box 轉換腳本:社區維護,GitHub 可搜

習慣 Clash 界面的用戶,也可以繼續用 Clash 客戶端對比 裡推薦的客戶端,它們多已支持 sing-box 內核。


八、TUN 模式與全局代理

8.1 為什麼需要 TUN

普通「系統代理」只接管瀏覽器等支持代理的 App,遊戲、命令行、Docker、終端 不走代理。TUN 模式創建一個虛擬網卡,接管全系統流量,讓任何程序都能翻牆。

8.2 開啟方式

json
{
  "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 配置結構

json
{
  "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 聚合訂閱的兩種方式

  1. 客戶端手動加多個訂閱:SagerNet / SFM 支持多訂閱並存,selector 裡切換
  2. 訂閱轉換服務聚合:用 sub-store 把多個訂閱 + 手動節點合併成一個 sing-box 訂閱鏈接,再導入

9.3 與 WireGuard 配合

如果需要「全局 VPN 級」體驗(如整臺路由器翻牆),可先用 WireGuard 自建 打通隧道,再在設備上用 Sing-box 做精細分流。兩者互補:WireGuard 負責通道,Sing-box 負責規則。


十、常見問題

Q1:Sing-box 能聯網但部分網站打不開?

通常是路由/DNS 問題:

  1. 確認 final outbound 指向有效的代理節點
  2. 檢查 DNS 是否洩露——用 dnsleaktest.com 測試
  3. 把打不開的域名手動加入 proxy 或對應 geosite 規則
  4. 切換 fake-ipredir-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 洩露會讓運營商看到你訪問了什麼。修復:

  1. fake-ip 模式
  2. 國外域名 DNS 必須 detour: proxy(走代理鏈路解析)
  3. dns.rules 裡確保 geosite-cn 才走 local
  4. 測試:訪問 dnsleaktest.com,顯示的是代理節點 IP 而非本機 ISP 即正常
Q5:iOS 上沒有 SFM 怎麼辦?

兩條路:

  1. 換美區/港區 Apple ID 下載 SFM 或 sing-box
  2. 直接用 Shadowrocket 導入 sing-box 訂閱(小火箭支持該格式),國內賬號可購
  3. 詳見 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,配置清晰、性能強、佔用低。上手路徑建議:

  1. 新手:用 SagerNet / SFM 客戶端 + 機場 sing-box 訂閱,開 TUN 即用
  2. 進階:sub-store 訂閱轉換 + rule-set 精細分流
  3. 高階:自建節點(3X-UI)+ 機場聚合 + DNS 防汙染

從 Clash 遷移並不難,核心是把 proxies → outboundsrules → route.rulesrule-providers → rule-set 做映射,或直接用轉換工具一鍵生成。

延伸閱讀

最後更新於: