sing-box 多协议订阅使用教程:导入机场订阅、跑通 Reality / Hysteria2 / AnyTLS / Tuic
如果你想一个客户端跑通现在所有主流新协议——Reality、Hysteria2、Tuic、AnyTLS、ShadowTLS、NaiveProxy——那 sing-box 大概是协议支持最全的那个。
但它也有个门槛:机场给的订阅,很多时候不能直接喂给 sing-box。这篇就把"装客户端 → 导入订阅 → 跑通 → 排错"整条链路讲清楚。
适用人群
- 想用一个客户端覆盖 Reality / Hysteria2 / Tuic / AnyTLS 等全部新协议的用户。
- 机场提供了 sing-box 订阅,或愿意做一次订阅转换的用户。
- 遇到"导入成功却无流量""订阅更新报错""TUIC/AnyTLS 节点导不进来"的用户。
风险提示
- 订阅链接等同于你的账号凭据,只保存在可信设备,别公开分享。
- sing-box 升级跨度较大时(尤其 1.12 之后)旧订阅格式可能直接报错,升级前先看下文的版本坑。
先理清一个常见误会:内核版本 vs 脚本版本
网上经常有人说"sing-box 1.3.11 新增了 AnyTLS、Tuic 的 v2rayn:// 订阅"——这是把两个东西搞混了,写在这里先帮你避坑:
| 名称 | 真实身份 | 当前版本 | 说明 |
|---|---|---|---|
| sing-box 内核(SagerNet 官方) | 代理工具核心 + 官方客户端 | 1.13.x(最新约 1.13.13,2026-06-04) | 版本号是 1.13.x,根本没有 1.3.x |
| fscarmen/sing-box 脚本 | 服务端一键搭建 + 生成订阅的脚本 | 1.3.x(约 1.3.14,2026-05) | "为 Tuic/AnyTLS 生成 v2rayn:// 订阅"是这个脚本的功能 |
所以那个"1.3.11 的订阅新功能",是自建服务端的脚本干的活,跟你手机上装的 sing-box 客户端版本没关系。本文是客户端使用教程,自建那条线只在最后简单提一句。
内核 1.13.10 / 1.13.11 这两个版本本身只是 bug 修复(修了进程探测的问题),没有订阅相关新功能。
sing-box 支持哪些协议
内核侧支持 20 多种入站/出站,常用的有:
Shadowsocks / VMess / VLESS / Trojan / Hysteria / Hysteria2 / TUIC / ShadowTLS / AnyTLS / NaiveProxy / WireGuard / SOCKS / HTTP,以及 VLESS + Reality。传输层支持 WebSocket、gRPC、HTTP/2、QUIC 等。
各协议怎么选、分别适合什么场景,可以配合这篇看:2026 主流翻墙协议横评。
第一步:装客户端
各平台官方客户端命名很有规律(SF = sing-box for):
| 平台 | 客户端 | 获取方式 | 系统要求 |
|---|---|---|---|
| Android | SFA | Google Play / GitHub Release(无谷歌服务用这个)/ F-Droid | Android 5.0+ |
| iOS / iPadOS | SFI | App Store(需非中国大陆区 Apple ID)/ TestFlight(限赞助者) | iOS 15.0+ |
| macOS | SFM | App Store / brew install sfm / GitHub Release | macOS 13.0+ |
| Windows / Linux | sing-box 命令行核心 | GitHub Release | — |
📥 各端下载直达(认准官方仓库/商店,别从来路不明的站点下):
- 安卓 SFA:GitHub Releases(首选,更新最快) | Google Play | F-Droid
- iOS / iPadOS(SFI)、macOS(SFM):当前 App Store 在架、且官方文档指向的是 sing-box VT(发行方 VIRAL TECH,界面与上游一致);先看官方 Apple 客户端文档。macOS 也可
brew install sfm。- ⚠️ 原 SagerNet 直发的版本因"非技术原因"已无法在 App Store 更新、也暂无独立 macOS 商店版(TestFlight 仅向赞助者开放)。
- Windows / Linux / macOS 命令行内核:GitHub Releases(含 windows-amd64、linux-amd64/arm64、darwin-amd64/arm64 等)。
- 官方文档站:sing-box.sagernet.org(安卓 | Apple | 通用/命令行)。
装稳定版(当前约 v1.13.13,2026-06)就行,别装
alpha测试版。
iOS 用户注意
SFI 在 App Store 上架,但需要一个非中国大陆区的 Apple ID 才能搜到下载。如果你还没有,可以参考站内这篇:免费 Apple ID 账号指南。另外 App Store 偶尔会暂时下架更新,以实际可搜到为准。
如果你更想要图形界面、又懒得折腾命令行,桌面端可以用第三方 GUI(内核都是 sing-box):
- GUI.for.SingBox:全桌面、中文界面,导入订阅即用 →(GitHub Releases | 官方文档)
- Hiddify:全平台,能同时吃 Clash / sing-box 多种订阅格式 →(GitHub Releases | 官网)
- Karing:全平台、轻量,Clash 和 sing-box 双格式订阅都支持 →(GitHub Releases | 官网下载)
取舍:这些 GUI 简化了配置,但通常发挥不出 sing-box 完整的 DNS 分流能力。进阶用户更倾向直接跑核心 + Web 面板。
第二步:导入机场订阅
各平台界面大同小异,下面以 SFA(安卓)为例一步步来:
- 打开 SFA,底部切到 Profiles(配置) 标签页。
- 右上角点 +(New Profile / 新建配置)。
- Type(类型) 选 Remote(远程)。
- Name(名称) 随便填、方便识别,比如
我的机场。 - URL 栏粘贴机场后台给的 sing-box 订阅链接(机场只给 Clash 链接时,先看下面第三步转换)。
- 打开 Auto Update(自动更新),间隔可设
1440分钟(= 1 天)。 - 点 Create(创建),SFA 会立刻拉一次订阅;列表里出现这条配置就算成功。
- 回首页(Dashboard)选中这条配置,点底部大圆按钮启动。
- 首次启动会弹系统「连接请求 / VPN」对话框(安卓靠
VpnService建立 TUN)——点允许。状态栏出现钥匙图标即代表 VPN/TUN 已生效,之后不用再授权。
启动后秒退、或状态栏没钥匙图标,多半是 VPN 权限被系统省电/隐私设置拦了:去系统设置允许 SFA 后台运行 + 关闭电池优化,国产 ROM 还要把它加进自启动白名单。另外同一时间只能有一个 VPN 类 App 在跑,先停掉其它代理。
iOS(SFI)、macOS(SFM)流程基本一致:新建配置 → 类型选 Remote → 填订阅链接 → 创建 → 启动并授予 VPN 权限。
第三步(关键):订阅格式不匹配怎么办
这是 sing-box 最容易卡住新手的地方:
sing-box 客户端只认 sing-box 格式的订阅,不会自动吃 Clash / v2ray 订阅。
而现在原生下发 sing-box 订阅的机场还不算多。所以你拿到机场订阅时,分几种情况:
- 机场后台有"导入 sing-box / SFA"按钮 → 直接用它给的专属订阅链接,最省事。
- 机场只有 Clash / v2ray 订阅 → 需要做一次订阅转换(见下)。
- 个别协议节点导不进来(最常见 TUIC、AnyTLS):部分客户端/转换工具更新订阅时会默认过滤这两类节点。变通办法是手动下载订阅内容 → Base64 解码 → 从剪贴板新建一个本地 Profile 粘贴进去。
怎么把 Clash 订阅转成 sing-box:
subconverter(最常用):自建或用在线后端。它的 sing-box 目标名叫
singbox,请求格式:http://<你的后端地址>/sub?target=singbox&url=<URL编码后的Clash订阅链接>也就是把常见的
target=clash换成target=singbox,url=填机场原始订阅(要 URL 编码)。推荐用支持新协议(hy2 / vless / anytls)的活跃分支:asdlokj1qpi233/subconverter。Sub-Store(带 Web 面板,适合长期管多条订阅):sub-store-org/Sub-Store。加订阅源 → 输出类型选 sing-box → 得到一条新的 sing-box 订阅 URL,再填回 SFA。
图省事:直接用 Hiddify 或 Karing——它俩内置解析 Clash 订阅,很多时候不用手动转换就能直接导入。
公共在线转换服务(某些
sub.xxx.io之类)经常对大陆/爬虫屏蔽,也有把订阅内容交给第三方的隐私风险,能自建尽量自建。
关于 AnyTLS:它比较新,需要客户端是较新版本才支持,老版本 v2rayN / 部分面板会出现 AnyTLS 无法导入或无法使用的情况。遇到导不进来先升级客户端。详见 AnyTLS 协议详解。
⚠️ 一个升级大坑:1.12 之后旧订阅会报错
如果你升级 sing-box 后突然启动报错、配置加载失败,大概率是这个原因:
sing-box 从 v1.12.0 起移除了一批旧格式,含 geoip/geosite 字段的老订阅/老配置在新内核会直接报错或被拒:
- GeoIP / Geosite 旧数据库:v1.8.0 弃用、v1.12.0 正式移除,统一改用 rule-set(
.srs/ 远程规则集)。 - DNS server 格式重构:旧的
"address": "1.1.1.1"写法改成显式"type": "udp"+"server": "1.1.1.1",domain_strategy等也跟着调整。 - 后果:很多老订阅转换模板生成的就是旧格式,升级后"启动报错 / 配置加载失败"基本都是它。
应对:
- 首选:换用支持新格式的订阅转换工具/后端(subconverter 活跃分支、Sub-Store)重新生成订阅。
- 应急:退回 SFA v1.11.4 这种旧稳定版来兼容旧订阅——治标,长期还是要把订阅模板升上来。
- 升级前先扫一眼官方迁移文档和 changelog;1.14 还在继续迁移 DNS / rule_set / http_client 等格式。
高频报错排查
| 现象 | 排查方向 |
|---|---|
| 连接成功但无流量 | ① 路由/出站规则是否把流量都走了直连;② TUN 模式下 DNS 配置错误(最常见);③ sniff / 分流规则覆盖 |
| TUN 起不来 / 没权限 | Windows 需管理员权限装 TUN 网卡;手机端首次要授予 VPN 权限;Linux 需 root 或 CAP_NET_ADMIN |
| TLS 握手失败 | 自签节点需要 insecure;系统时间不准也会导致握手失败,先校准时间 |
| DNS 泄漏 | ① DNS 模式若是 native 改为 hijack 后重启;② Windows TUN 模式开 strict_route;③ 必要时手动改物理网卡 DNS |
| 订阅更新失败 | ① 订阅 URL 过期/失效;② 订阅不是 sing-box 格式(需转换);③ v1.12+ 因旧规则报错;④ 当前网络不通时拉不到订阅(先用别的方式连上再更新) |
DNS 泄漏和 TUN 的最佳配置跟版本、系统强相关,建议"先按默认配,泄漏了再针对性调",别上来就抄一份死配置。
进阶:自建节点 + 生成订阅(可选)
如果你不只是用机场,还想自己搭节点,那前面提到的 fscarmen/sing-box 脚本 就是这条线的工具:
- 一键搭建十几种协议:XTLS+Reality、Hysteria2、Tuic v5、ShadowTLS v3、AnyTLS、NaiveProxy、VMess/VLESS+WS、gRPC+Reality 等。
- 自动生成一条自适配订阅,能同时被 Clash/Mihomo、v2rayN、Shadowrocket、SFA/SFI/SFM 识别。
- 它的 1.3.11 版本就是给 Tuic、AnyTLS、naive(http2/quic) 生成专用
v2rayn://订阅链接的——这也是文章开头那个"版本号误会"的来源。
自建涉及服务器和域名,属于另一个话题,这里不展开,知道有这么个工具即可。
小结
- 先分清内核(1.13.x)和自建脚本(1.3.x),别被版本号带偏。
- 装对应平台客户端(SFA/SFI/SFM),iOS 需要非大陆区 Apple ID。
- 导入订阅走"新建配置 → 远程 → 填链接";机场订阅不是 sing-box 格式就先转换。
- TUIC/AnyTLS 导不进来,用 Base64 解码后手动导入;升级后报错先想到 1.12 旧格式问题。
免责声明
本文为技术使用教程,所涉工具仅用于学习与合法合规的网络访问。版本号、功能与界面可能随更新变化,请以各项目官方文档为准,使用风险自负。