EN

客户端教程

sing-box 上手:全平台免费,协议支持最全的那一个

sing-box 在 Windows、macOS、iOS、Android 上的安装与配置。为什么它是 iOS 上唯一免费又好用的选择,以及它的配置文件和 Clash 有什么不同。

作者 老毛最后更新 2026-08-21约 8 分钟

sing-box 的定位和 Clash 不太一样:它是一个通用代理平台,什么协议都能跑,全平台都有官方客户端,而且全部免费。

为什么值得用它

iOS 上它是唯一免费的完整方案

这是最实际的理由。iPhone 上:

客户端价格
Shadowrocket约 $2.99
Stash更贵
Loon中等
sing-box免费

功能上 sing-box 不输,协议支持甚至更全。代价是界面偏工程化,配置没那么直观。

新协议支持最快

Hysteria2、TUIC、VLESS+Reality、AnyTLS 这些新协议,sing-box 通常是最早支持、支持得最完整的。

如果你的节点用的是很新的协议,Clash 系可能还没跟上,sing-box 大概率能用。

全平台一致

Windows、macOS、Linux、iOS、Android 都有官方客户端,配置文件通用。一份配置全设备用,这点很省心。

安装

平台从哪装
iOSApp Store 搜 sing-box(需要非中国区 Apple ID)
AndroidGoogle Play,或官方 GitHub Releases 的 APK
Windows / macOS / Linux官方 GitHub Releases

桌面端有两个选择:

新手建议用图形客户端,或者干脆用 Clash Verge Rev(它也支持大部分协议)。

导入订阅

移动端(iOS / Android)

  1. 打开 sing-box
  2. 底部 Profiles(配置)
  3. 右上角 「+」
  4. Type 选 Remote
  5. Name:随便填
  6. URL:粘贴订阅链接
  7. 保存,等它拉取
  8. 点一下这个配置让它变成选中状态

第 8 步别忘了,导入不等于启用。

  1. 回到首页,打开顶部开关
  2. 首次会请求添加 VPN 配置,允许

桌面端

图形客户端的流程类似。命令行版需要把配置写进 config.json,然后:

sing-box run -c config.json

配置文件长什么样

sing-box 用 JSON,不是 YAML。一份最小配置:

{
  "log": { "level": "info" },
  "dns": {
    "servers": [
      { "tag": "google", "address": "https://8.8.8.8/dns-query" },
      { "tag": "local", "address": "223.5.5.5", "detour": "direct" }
    ]
  },
  "inbounds": [
    {
      "type": "mixed",
      "listen": "127.0.0.1",
      "listen_port": 7890
    }
  ],
  "outbounds": [
    {
      "type": "hysteria2",
      "tag": "proxy",
      "server": "example.com",
      "server_port": 443,
      "password": "your-password",
      "tls": { "enabled": true, "server_name": "example.com" }
    },
    { "type": "direct", "tag": "direct" }
  ],
  "route": {
    "rules": [
      { "rule_set": "geoip-cn", "outbound": "direct" },
      { "rule_set": "geosite-cn", "outbound": "direct" }
    ],
    "final": "proxy"
  }
}

结构上和 Clash 的对应关系:

Clashsing-box作用
proxiesoutbounds节点定义
proxy-groupsoutbounds(selector 类型)策略组
rulesroute.rules分流规则
mixed-portinbounds本地监听
MATCH 兜底route.final兜底出口

日常用订阅的话不用碰这些。想深入的话,Clash 那边的概念是通的,看Mihomo 配置文件怎么写能帮你理解。

Hysteria2 值得单独说

sing-box 对 Hysteria2 的支持最好,而 Hysteria2 在丢包严重的网络环境下表现明显好过 TCP 系协议。

原因是它基于 QUIC(UDP),自带拥塞控制和前向纠错,丢包时不会像 TCP 那样直接卡死。

什么时候它有优势

什么时候它不行

协议之间的完整对比看SS / VMess / Trojan / Hysteria2 该选哪个

常见问题

提示配置解析失败

JSON 格式错误。最常见的是:

拿去任何 JSON 校验工具过一遍就知道错在哪。

订阅导入后是空的

详细排查:导入订阅后没有节点

iOS 上连着连着就断

和小火箭一样的 iOS 通病:

  1. 关「按需连接」
  2. 关 iCloud 私密转发
  3. 关低电量模式

详见小火箭 Shadowrocket 导入订阅里的 iOS 坑那一节,问题和解法都一样。

想要图形化的规则编辑

sing-box 官方客户端在这块比较克制。如果你需要频繁改规则、看连接列表、按进程分流,Clash Verge Rev 的界面更趁手。

我的实际用法:iPhone 上用 sing-box(免费且够用),电脑上用 Clash Verge Rev(界面舒服)。两边导入同一家机场的不同格式订阅,互不影响。

接着看

几个常被问到的问题

sing-box 和 Clash 有什么区别?

sing-box 是一个通用代理平台,协议支持最全(Hysteria2、TUIC、VLESS+Reality、AnyTLS 等新协议第一时间跟进),配置用 JSON。Clash 系用 YAML,规则生态更成熟,图形界面更友好。功能上有大量重叠,选哪个主要看你的节点用什么协议、以及你更习惯哪种界面。

iOS 上 sing-box 真的免费吗?

是,官方 iOS 客户端在 App Store 上免费(需要非中国区 Apple ID)。这是 iOS 上唯一免费且功能完整的主流选择,Shadowrocket 和 Stash 都要付费。

sing-box 能直接用 Clash 的订阅吗?

不能直接用 Clash 的 YAML 格式,但大多数机场会同时提供 sing-box 格式的订阅地址。如果只有 Clash 格式,用订阅转换服务转一下即可。新版 sing-box 客户端也支持导入部分其它格式。

为什么 Hysteria2 节点只有 sing-box 支持得好?

因为 Hysteria2 是 sing-box 生态里优先支持的协议之一。Clash 系(Mihomo 内核)现在也支持了,但某些新特性 sing-box 跟进更快。如果你的节点用的是很新的协议,sing-box 的兼容性通常最好。

这篇是我自己实测后写的,环境变了结论也会变。发现哪条已经失效,欢迎写信到 [email protected],我会更新并标注日期。

接着看这几篇