sing-box 使用教程:官方客户端和命令行入门

sing-box 是很多翻墙客户端背后的内核,Hiddify、Karing、NekoBox 等都基于它。直接用 sing-box 本体或官方客户端,需要机场提供 sing-box 格式的配置。这篇讲清楚它和普通客户端的区别、怎么导入、怎么排错。

先说结论

直接答案:sing-box 是一个代理内核,直接使用它需要机场提供 sing-box 格式的 JSON 配置。安卓用官方客户端 SFA:从 GitHub 下载 → 新建配置、类型选远程 → 粘贴机场的 sing-box 订阅 → 启动。电脑上可以用命令行 sing-box run -c config.json。机场只给通用或 Clash 订阅的话,别硬上 sing-box 本体,用 Hiddify、Karing 或 GUI.for.SingBox 这类基于 sing-box 的图形客户端更省事。

sing-box 是什么:内核和客户端的关系

翻墙客户端一般分两层:内核负责真正的协议连接和流量转发,图形界面负责导入订阅、选节点、开关。常见的内核有三家:mihomo(原 Clash Meta)、Xray 和 sing-box。

内核配置格式代表客户端
mihomoYAML(Clash 订阅)Clash Verge Rev、FlClash、CMFA、Clash Mi
XrayJSON,客户端多用通用订阅v2rayN、v2rayNG
sing-boxJSON(sing-box 配置)官方 SFA、Hiddify、Karing、NekoBox、GUI.for.SingBox

sing-box 的特点是协议支持新且全、性能好、一个内核同时做客户端和服务端。它的项目也提供官方图形客户端,安卓上叫 SFA(sing-box for Android)。官方客户端功能比较克制:它几乎不做格式转换,你给它一份完整的 sing-box 配置,它就照着运行。

这就是新手容易踩坑的地方:机场的「订阅链接」多数是 Clash 格式或通用节点列表,直接丢给 sing-box 官方客户端是用不了的。通用订阅只是一串节点链接,没有入站、路由、DNS 这些部分;Clash 订阅虽然是完整配置,但格式是 YAML,字段写法也和 sing-box 不同。所以「sing-box 订阅」必须是机场专门生成的 sing-box JSON 配置,或者由转换工具生成。

适合直接用 sing-box

机场提供 sing-box 订阅;需要较新的协议;想精确控制路由、DNS、TUN 等细节;在服务器、软路由或 Linux 上用命令行部署。

不适合

只想导入订阅就用;机场只给 Clash 或通用订阅;不想看 JSON。这时用基于 sing-box 的图形客户端,或 Clash 系客户端。

第一步:下载

sing-box 的官方仓库是 GitHub 上的 SagerNet/sing-box,进入 Releases 下载最新版。本站 sing-box 下载页有官方链接。

平台下载什么说明
安卓SFA 开头、对应架构的 apk官方图形客户端,大多数手机选 arm64
Windowswindows-amd64 压缩包命令行程序,没有界面;想要界面用 GUI.for.SingBox
macOSdarwin 对应芯片的压缩包命令行程序;苹果设备的官方图形客户端以官方文档说明为准
Linux对应架构的压缩包或软件包适合服务器、软路由,配合 systemd 开机运行

Releases 里经常同时有正式版和预发布版(带 alpha、beta、rc 字样)。普通用户用正式版,预发布版的配置格式可能还在变化。

第二步:在 SFA 里导入远程配置

先确认机场后台有「sing-box」订阅。有的话:

  1. 安装并打开 SFA。第一次打开会请求通知等权限,按需允许。
  2. 新建配置。进入配置(Profiles)页面,新建一个配置。
  3. 选择远程类型。类型选「远程」(Remote),名称填机场名,URL 粘贴 sing-box 订阅链接。可以开启自动更新并设置间隔。
  4. 保存并选中。保存后在配置列表里选中它。
  5. 启动。回到首页(Dashboard)点启动,第一次会请求建立 VPN 连接,选确定。
  6. 选节点。如果配置里有选择器类型的出站分组,可以在分组页面切换节点、测延迟。分组名称和结构由机场的配置决定。

没有 sing-box 订阅的话,有两个选择:一是用订阅转换把通用订阅转成 sing-box 配置,但转换服务会看到你的订阅,而且转换出来的配置要和你的 sing-box 版本匹配;二是直接换用 Hiddify、Karing 等能读通用订阅的客户端,这对大多数人是更好的选择。

配置文件长什么样

sing-box 的配置是一份 JSON 文件,顶层大致分这几块(结构示意,具体字段以官方文档和你使用的版本为准):

{
  "log": { },
  "dns": { },
  "inbounds": [ ],
  "outbounds": [ ],
  "route": { }
}
  • inbounds(入站):流量从哪里进来。手机和电脑上常用 TUN 入站接管全部流量,也可以开一个本地 mixed 端口当普通代理。
  • outbounds(出站):流量往哪里去。机场的每个节点是一个出站,另外还有直连出站、选择器分组和自动测速分组。
  • route(路由):分流规则,决定哪些流量直连、哪些走代理。现在一般用规则集(rule-set)引用国内域名和 IP 列表。
  • dns:DNS 服务器和解析规则,配错是「连上了但打不开网页」的主要原因之一。

机场的 sing-box 订阅会把这些都写好,你一般不用改。想自己写配置,先通读官方文档,并注意文档对应的版本。

电脑上用命令行运行

Windows、Mac、Linux 上的 sing-box 本体是命令行程序。几个常用命令:

sing-box version              # 查看版本
sing-box check -c config.json # 检查配置是否有错
sing-box format -c config.json -w # 格式化配置
sing-box run -c config.json   # 按配置运行
  1. 把配置保存为文件。从机场下载 sing-box 配置,保存为 config.json,和程序放在同一目录。
  2. 先 check 再 run。check 没有报错再运行,能省去大量排错时间。
  3. TUN 需要权限。配置里用了 TUN 入站的话,Windows 需要管理员权限,Mac 和 Linux 需要 sudo 或相应授权。
  4. 想要图形界面。电脑上不想用命令行,可以用 GUI.for.SingBox,或直接换 Clash Verge Rev 这类成熟客户端。

Linux 和软路由上长期运行,可以配合 systemd 设置开机启动,详见 Linux 翻墙教程。

最常见的坑:版本和配置格式不匹配

sing-box 迭代很快,大版本之间会废弃或移除一些旧字段。结果就是:同一份配置,在旧版能跑,在新版报错;或者按新文档写的配置,在旧版客户端里报错。遇到配置报错时按这个顺序排查:

  1. 看报错信息。sing-box 的报错一般会指出是哪个字段有问题,比如某个字段已被移除或格式不对。
  2. 确认版本。用 sing-box version 或在 SFA 关于页面看内核版本。
  3. 换配置版本。部分机场和转换工具会按 sing-box 版本提供不同格式,选和你版本对应的。
  4. 别随便升级到预发布版。预发布版的格式变化最频繁。

反过来也一样:机场的配置更新到新格式后,如果你的 SFA 或命令行程序还是旧版本,也会报错。所以 sing-box 用户最好养成习惯,内核和配置一起保持最新的正式版。

什么时候值得选 sing-box 而不是 Clash

mihomo 和 sing-box 都很成熟,日常翻墙两者差别不大。下面几种情况,sing-box 更有优势:

  • 机场主推较新的协议:sing-box 对 Hysteria2、TUIC、VLESS 等新协议跟进积极,机场如果主打这些协议,用 sing-box 内核的客户端兼容性更好。
  • 软路由、服务器、Linux 部署:sing-box 是单个可执行文件,配置是一份 JSON,部署和迁移都很干净。
  • 需要精确控制:想自己决定每一类流量的入站、出站、DNS 和路由,sing-box 的配置结构更清晰。

反过来,如果机场的 Clash 订阅写得很完善,有清楚的 AI、流媒体、国内直连分组,那 Clash 系客户端开箱即用,比自己折腾 sing-box 配置省事得多。安卓上推荐 FlClash,电脑上推荐 Clash Verge Rev。

SFA 的几个实用设置

  • 自动更新配置:远程配置建议开启自动更新,机场调整节点后能及时同步,避免「节点全部超时」其实只是配置过期。
  • 按应用代理:设置里如有按应用代理相关选项,可以让银行、支付类 App 绕过代理,或者只让指定 App 走代理。
  • 后台保活:国产安卓系统会清理后台,把 SFA 的电池优化设为不限制、允许自启动,并在多任务界面锁定。
  • AI 服务:用 ChatGPT、Claude、Gemini 时,在选择器分组里切到美国、日本、新加坡、台湾等支持地区的节点,香港和中国大陆不在支持地区。

常见问题排查表

现象原因解决
导入订阅提示格式错误导入的是 Clash 或通用订阅改用机场的 sing-box 订阅;或换 Hiddify、Karing
启动时报某字段错误配置格式和内核版本不匹配按上一节排查版本;更新配置
远程配置更新失败订阅域名被干扰;链接过期切换网络;用机场备用地址;看订阅更新失败
运行正常但打不开网页DNS 配置问题;选择器选了失效节点换节点;用机场原版配置,不要自行修改 DNS
国内网站变慢路由规则缺少国内直连,或规则集下载失败检查 route 里的规则集是否能正常下载
电脑上 TUN 启动失败权限不足;和其他代理软件冲突以管理员 / sudo 运行;关闭其他代理软件
节点全部超时本地网络或机场故障切换网络测试;看超时排查

sing-box 官方客户端和基于 sing-box 的客户端对比

客户端平台能直接导入的订阅适合谁
sing-box 官方(SFA / 命令行)安卓、电脑、Linuxsing-box 配置进阶用户、机场提供 sing-box 订阅
Hiddify安卓、Windows、Mac、Linux通用 / Clash新手,更新放缓
Karing全平台含 iPhone通用 / Clash想要全平台统一
GUI.for.SingBoxWindows、Mac、Linux通用电脑上想用 sing-box 又要界面
ThroneWindows、Mac、Linux通用NekoRay 的继任者,Linux 桌面常用
NekoBox安卓通用老用户,更新放缓

不确定该用哪个内核,看翻墙协议科普;按设备挑客户端看客户端下载。

注意事项

  • sing-box 配置里包含节点密码,等同账号,不要外传;订阅泄露到机场后台重置,见订阅安全。
  • 不要使用网上来路不明的「整合配置」,出站可能指向陌生服务器。
  • sing-box 也能搭建服务端,但自建服务器涉及更多运维和合规问题,本文只讲客户端用法。
  • 遵守所在地法律法规和平台规则。

给 sing-box 加一个网页面板

命令行运行的 sing-box 没有界面,切换节点和查看连接都不方便。sing-box 内置了兼容 Clash 的控制接口(Clash API),打开后就能用 metacubexd、zashboard 这类 Web 面板来测速、切换节点、看实时连接。

很多机场下发的 sing-box 配置已经带了这一段;没有的话,在配置的 experimental 部分加上:

"experimental": {
  "clash_api": {
    "external_controller": "127.0.0.1:9090",
    "secret": "自己设一个密码"
  }
}
  1. 先 check 再重启。改完用 sing-box check -c config.json 检查,没有报错再重新运行。
  2. 打开面板。在浏览器里打开 Web 面板,后端地址填 127.0.0.1:9090,密钥填上面设置的密码。
  3. 切换节点。面板里能看到配置中 selector 类型的分组,在里面点选节点即可,效果和图形客户端一样。

控制接口能直接切换节点、读取连接信息。监听地址保持 127.0.0.1,并设置密码;在服务器或软路由上需要远程管理时,也不要把这个端口直接暴露到公网。

sing-box 安卓版 SFA 启动报错和权限问题对照

安卓上用 SFA,不少问题出在系统权限和首次启动,而不是配置本身。常见情况对照如下:

现象可能原因处理办法
点启动没反应,或马上停止VPN 连接请求被拒;手机上另一个 VPN 应用占着关掉其他代理和 VPN 应用,重新启动并允许建立 VPN 连接
报错里出现 Starting FGS with type location配置用了按 Wi-Fi 名称等需要位置信息的功能,系统要求 SFA 有位置权限才能在前台运行在系统设置里给 SFA 授予位置权限;用不到按 Wi-Fi 切换的规则,可以请机场或自己去掉相关字段
首次启动卡住或报规则集下载失败配置引用了远程规则集,首次需要下载,直连下载失败换网络重试;确认配置里规则集的下载走代理出站;让机场提供可用的配置版本
锁屏一会儿就断开国产系统清理后台电池优化设为不限制,允许自启动和后台运行,在多任务界面锁定 SFA
看不到运行状态通知通知权限没给在应用设置里打开 SFA 的通知权限,便于确认运行状态

报错信息看不懂时,把关键的英文报错原样复制下来,先对照上面一节「版本和配置格式不匹配」,再去问机场客服,比描述「连不上」更容易得到答案。

sing-box 的 DNS 设置:连上却打不开网页时先看这里

sing-box 的 DNS 由配置里的 dns 段单独控制,这也是它和 Clash 类客户端差别较大的地方。机场下发的配置一般已经写好,但自己改过配置或用转换工具生成配置时,DNS 是最容易出错的部分。dns 段主要包括这几部分:

组成部分作用常见错误
DNS 服务器列表定义可用的 DNS,通常一组国内、一组国外只写了国外 DNS 而且让它直连,解析结果被污染
DNS 规则按域名决定用哪组 DNS 解析国内域名也交给国外 DNS,国内网站变慢或跳到海外服务器
FakeIP(可选)先返回虚拟地址,连接时再按域名分流部分应用和局域网服务不兼容,需要加例外
最终 / 默认服务器没匹配上规则的域名用哪组 DNS默认指向一个不可用的服务器,大量网站解析失败

排查思路很简单:先换回机场原版配置,问题消失就说明是自己改动导致的;仍然有问题,再检查系统或浏览器的私人 DNS、安全 DNS 是否绕开了 sing-box。不同 sing-box 版本的 DNS 字段写法有变化,改之前对照你所用版本的官方文档。

sing-box 用哪家机场

想直接用 sing-box,机场要提供 sing-box 订阅,并且节点支持较新的协议。专线机场通常线路质量更好、协议更新也更积极,可以从这里开始看,详见IPLC 专线机场。

#机场线路月付起流量每 GBAI流媒体评分状态
1 WgetCloud IEPL / IPLC 专线 + BGP 中转 ¥79 按套餐,入门档约 100GB 级 — ✓✓ 9.5 推荐
2 飞鸟云 内网专线 IPLC ¥25 150GB / 月 ¥0.17 ✓✓ 9.3 推荐
3 TAG IEPL 专线 ¥114 500GB / 月 ¥0.23 ✓✓ 9.3 推荐
4 二猫云主推 三网优化 IEPL + 中转混合 ¥20 60GB – 130GB / 月 ¥0.15 ✓✓ 9.2 推荐
5 灵云 IEPL 纯专线 ¥22 120GB / 月 ¥0.18 ✓✓ 9.2 推荐
6 天机阁 内网专线 + 专职技术运维 ¥26 160GB / 月 ¥0.16 ✓✓ 9.2 推荐
7 闪电猫 企业级 IPLC 专线 ¥30 200GB / 月 ¥0.15 ✓✓ 9.2 推荐
8 宇宙云主推 IEPL 专线 + 中转 ¥25 60GB – 120GB / 月 ¥0.21 ✓✓ 9.0 推荐

点表头可排序。价格、流量和每 GB 按官网核对于 2026 年 10 月 24 日;AI / 流媒体为官网标注(✓ 标注支持,△ 部分或需自测,✗ 未标注)。

下一步阅读:Hiddify 教程 · 协议科普 · 订阅转换 · sing-box 下载

常见问题

sing-box 是什么?

sing-box 是一个开源的通用代理内核,支持 VLESS、Trojan、Hysteria2、TUIC、Shadowsocks 等协议。很多图形客户端用它做内核,它也有自己的官方图形客户端,比如安卓上的 SFA。

sing-box 怎么导入机场订阅?

sing-box 读的是 JSON 格式的完整配置,不是普通的节点订阅。机场提供 sing-box 订阅时,在 SFA 里新建配置、类型选远程、粘贴链接即可;没有的话需要订阅转换,或改用 Hiddify 等能直接读通用订阅的客户端。

sing-box 安卓版在哪下载?

到 GitHub 上 SagerNet/sing-box 的 Releases 页面下载 SFA 开头、对应架构的 apk。大多数手机选 arm64 版本。

sing-box 配置报错怎么办?

先用 sing-box check 命令检查配置,看报错指向哪个字段。最常见的原因是配置是按旧版本格式写的,新版内核已不再支持某些字段,需要机场或转换工具提供新版格式。

sing-box 和 Clash 有什么区别?

两者都是代理内核。Clash(现为 mihomo)用 YAML 配置,机场普遍提供 Clash 订阅;sing-box 用 JSON 配置,协议支持新、性能好,但机场提供 sing-box 订阅的比例低一些。

普通用户需要直接用 sing-box 吗?

大多数人不需要。直接用基于 sing-box 的图形客户端(如 Hiddify、Karing)就能享受它的内核优势,还能直接导入通用订阅。

sing-box 安全吗?

sing-box 是开源项目,从官方 GitHub 仓库下载就是安全的。风险主要在配置来源:不要使用来路不明的配置文件,里面的出站可能指向陌生服务器。

sing-box 能做透明网关吗?

可以。在 Linux 小主机或软路由上用 TUN 入站并开启自动路由,再把其他设备的网关指向它,就能让整个局域网走代理。新手更建议用现成的路由器插件,思路见 Linux 翻墙教程的代理网关部分。

iPhone 上能用 sing-box 吗?

官方有 iOS 版本,在 App Store 上架,但国区一般搜不到,需要用非国区 Apple ID 下载,以 App Store 实际显示为准,见Apple ID 教程。用法和安卓 SFA 类似,同样需要 sing-box 格式的配置。

sing-box 免费吗?

sing-box 是开源项目,内核和官方客户端都可以免费使用,需要付费的是机场订阅。网上收费的「sing-box 专用版」或来源不明的打包修改版,不要安装。

SFA 提示 Starting FGS with type location 怎么办?

这是安卓系统的前台服务权限限制:配置里用到了按 Wi-Fi 名称切换等需要位置信息的功能,SFA 没有位置权限就无法启动。在系统设置里给 SFA 授予位置权限即可;用不到这类规则的话,也可以去掉配置里的相关字段。

sing-box 首次启动卡在下载规则集怎么办?

配置里引用的远程规则集要在首次启动时下载,直连下载失败就会卡住或报错。先换个网络重试,确认规则集的下载走代理出站;还是不行,让机场提供可直接使用的配置版本。

更多问题见机场问答库:选机场、客户端、连不上、ChatGPT 和流媒体的常见问题都在这里。