先说结论
直接答案: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。
| 内核 | 配置格式 | 代表客户端 |
|---|---|---|
| mihomo | YAML(Clash 订阅) | Clash Verge Rev、FlClash、CMFA、Clash Mi |
| Xray | JSON,客户端多用通用订阅 | v2rayN、v2rayNG |
| sing-box | JSON(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 |
| Windows | windows-amd64 压缩包 | 命令行程序,没有界面;想要界面用 GUI.for.SingBox |
| macOS | darwin 对应芯片的压缩包 | 命令行程序;苹果设备的官方图形客户端以官方文档说明为准 |
| Linux | 对应架构的压缩包或软件包 | 适合服务器、软路由,配合 systemd 开机运行 |
Releases 里经常同时有正式版和预发布版(带 alpha、beta、rc 字样)。普通用户用正式版,预发布版的配置格式可能还在变化。
第二步:在 SFA 里导入远程配置
先确认机场后台有「sing-box」订阅。有的话:
- 安装并打开 SFA。第一次打开会请求通知等权限,按需允许。
- 新建配置。进入配置(Profiles)页面,新建一个配置。
- 选择远程类型。类型选「远程」(Remote),名称填机场名,URL 粘贴 sing-box 订阅链接。可以开启自动更新并设置间隔。
- 保存并选中。保存后在配置列表里选中它。
- 启动。回到首页(Dashboard)点启动,第一次会请求建立 VPN 连接,选确定。
- 选节点。如果配置里有选择器类型的出站分组,可以在分组页面切换节点、测延迟。分组名称和结构由机场的配置决定。
没有 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 # 按配置运行
- 把配置保存为文件。从机场下载 sing-box 配置,保存为 config.json,和程序放在同一目录。
- 先 check 再 run。check 没有报错再运行,能省去大量排错时间。
- TUN 需要权限。配置里用了 TUN 入站的话,Windows 需要管理员权限,Mac 和 Linux 需要 sudo 或相应授权。
- 想要图形界面。电脑上不想用命令行,可以用 GUI.for.SingBox,或直接换 Clash Verge Rev 这类成熟客户端。
Linux 和软路由上长期运行,可以配合 systemd 设置开机启动,详见 Linux 翻墙教程。
最常见的坑:版本和配置格式不匹配
sing-box 迭代很快,大版本之间会废弃或移除一些旧字段。结果就是:同一份配置,在旧版能跑,在新版报错;或者按新文档写的配置,在旧版客户端里报错。遇到配置报错时按这个顺序排查:
- 看报错信息。sing-box 的报错一般会指出是哪个字段有问题,比如某个字段已被移除或格式不对。
- 确认版本。用
sing-box version或在 SFA 关于页面看内核版本。 - 换配置版本。部分机场和转换工具会按 sing-box 版本提供不同格式,选和你版本对应的。
- 别随便升级到预发布版。预发布版的格式变化最频繁。
反过来也一样:机场的配置更新到新格式后,如果你的 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 / 命令行) | 安卓、电脑、Linux | sing-box 配置 | 进阶用户、机场提供 sing-box 订阅 |
| Hiddify | 安卓、Windows、Mac、Linux | 通用 / Clash | 新手,更新放缓 |
| Karing | 全平台含 iPhone | 通用 / Clash | 想要全平台统一 |
| GUI.for.SingBox | Windows、Mac、Linux | 通用 | 电脑上想用 sing-box 又要界面 |
| Throne | Windows、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": "自己设一个密码"
}
}
- 先 check 再重启。改完用
sing-box check -c config.json检查,没有报错再重新运行。 - 打开面板。在浏览器里打开 Web 面板,后端地址填
127.0.0.1:9090,密钥填上面设置的密码。 - 切换节点。面板里能看到配置中 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 专线机场。
| # | 机场 | 线路 | 月付起 | 流量 | 每 GB | AI | 流媒体 | 评分 | 状态 |
|---|---|---|---|---|---|---|---|---|---|
| 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 安卓版在哪下载?
到 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 是开源项目,从官方 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 和流媒体的常见问题都在这里。