sing-box 客户端入门指南
快速回答
sing-box 用一份 JSON 配置描述入站、路由与出站,能力强但门槛高;入门建议从服务商提供的配置模板或图形客户端开始,不要从零手写。
sing-box 与 Clash 系客户端最大的不同,在于它把「透明」推到了极致:没有开关与滑块,一切行为由一份 JSON 配置决定。代价是门槛,回报是控制力与跨平台一致性——同一份配置逻辑可以贯穿手机、电脑与路由设备。这篇指南不教你从零手写配置,而是教你看懂结构、选对来源、避开最常见的坑。
核心结论
- sing-box 是内核而不只是客户端,很多图形客户端的底层跑的就是它。
- 一份配置由入站、路由、出站三段组成,分别回答流量从哪进、怎么分、往哪出。
- 路由规则自上而下匹配、第一条命中即生效,顺序写错是规则不生效的头号原因。
- 大版本升级可能调整配置格式,旧配置需按迁移说明更新,升级前先备份可用配置。
- 苹果平台的官方客户端上架状态不稳定,桌面端可经包管理器与官方仓库获取。
基本概念
先建立一个关键认知:sing-box 是内核,不只是客户端。它本体是一个命令行程序,官方与社区的图形客户端都是围绕它的包装。你现在用的某个图形客户端,底层可能就是它。
一份配置由三段组成:
- 入站(inbounds):流量从哪里进来——TUN 虚拟网卡,或本地代理端口。
- 路由(route):按规则决定每条流量去向。
- 出站(outbounds):流量往哪里去——某个节点、直连(direct)或拦截(block)。
门槛高的原因就在这里:没有界面替你隐藏细节,也没有界面替你挡住错误。反过来,一旦看懂这三段,任何配置文件在你眼里都是透明的。
配置来源
| 配置来源 | 上手难度 | 适合人群 | 主要风险 |
|---|---|---|---|
| 服务商提供的 sing-box 模板 | 低 | 多数用户的起点 | 模板质量参差,注意与内核版本匹配 |
| 订阅转换生成的配置 | 中 | 服务商无模板时的替代 | 在线转换会暴露订阅链接,优先本地转换 |
| 在他人模板上修改 | 中 | 想定制分流的用户 | 不理解结构时容易改坏,先备份 |
| 从零手写 | 高 | 需要完全控制的进阶用户 | 门槛最高,格式随版本演进需持续跟进 |
实践建议:从服务商模板起步,在能用的基础上小步修改。每次只改一处、改前备份、改完验证——这个循环比一次性大改安全得多。转换工具务必用本地的:在线转换等于把订阅链接交给陌生服务器,风险说明见机场订阅链接泄露怎么办。
订阅的使用方式
- 原生支持:部分服务商直接提供 sing-box 格式的订阅地址,配置中引用后客户端会定期拉取节点更新——这是最省事的形态。
- 转换使用:服务商只有通用格式时,用本地转换工具生成 sing-box 配置。注意转换产物是静态的,节点变动后需要重新转换。
- 格式不匹配的表现:启动时报配置解析错误,或节点列表为空。先确认订阅格式与内核版本匹配,再排查链接本身——链接层面的验证方法与其他客户端一致,见机场订阅更新失败解决方法。
路由规则结构
写规则前先记住一条铁律:自上而下匹配,第一条命中即生效。
- 精确规则(特定域名)放前面,宽泛规则(整个地理库)放后面——顺序反了,精确规则永远轮不到。
- 都未命中的流量走默认出站,它决定了「规则之外的一切」去哪里,检查规则时别忘了它。
- 规则「不生效」时的排查顺序:看顺序 → 看默认出站 → 用日志确认流量实际命中了哪条规则。
各协议在配置中的名称与参数含义,可对照常见机场协议完整解释理解。
不同平台的差异
- 桌面端:TUN 需要管理员或等效权限;配置文件路径与服务化运行方式因平台而异。
- 移动端:以系统 VPN 接口实现 TUN,受系统后台策略影响——Android 的省电机制见Android 手机机场客户端选择。
- 苹果平台:官方客户端(iOS / macOS / tvOS)在 App Store 的上架状态不稳定(截至 2026 年 8 月处于受限状态),macOS 可经 Homebrew 或官方仓库获取独立版本,且需要非中国大陆地区的 Apple 账号。获取前以官方文档当前说明为准。
- 配置通用性:出站与路由段基本可以跨平台复用,入站段按平台微调——这正是「一份配置贯穿全平台」的实际形态。
注意事项
- 版本与格式的兼容:大版本升级可能调整配置格式,旧字段被重命名或移除。升级前先备份可用配置,报错时对照官方迁移说明处理,处理不了就回滚等待模板更新。
- 不要使用来源不明的配置。配置文件能完全控制你的流量走向——包括把流量导去你不知道的地方。只用服务商、可信模板或自己写的配置。
- 改坏了就回滚。保留最近一份「确认可用」的配置副本,任何实验都以它为退路。