客户端教程
sing-box 教程:理解内核与客户端,完成第一次运行
sing-box 是一个配置驱动的通用代理平台,同一套配置可以在多种设备上运行。
先看结论
sing-box 教程要先分清两样东西:内核(命令行程序,读取 JSON 配置运行)和图形客户端(各平台的封装,提供导入配置、开关等界面)。配置格式是 JSON,和 Clash 的 YAML 不通用。
sing-box 的特点
- 配置是 JSON,由 log、dns、inbounds、outbounds、route 等部分组成。
- 支持较多协议,并持续新增。
- 配置字段会随版本调整,旧配置在新版本里可能需要迁移。
基本流程
拿到配置
通过订阅或服务商提供的 sing-box 格式配置获得 JSON。
订阅里要选 sing-box 格式。
检查配置
用命令行先检查配置是否合法。
运行
桌面端用命令行运行;移动端用官方图形客户端导入配置后启动。
sing-box check -c config.json
sing-box run -c config.json和 Clash 系的区别
| 对比项 | Clash 系 / Mihomo | sing-box |
|---|---|---|
| 配置格式 | YAML | JSON |
| 订阅格式 | Clash 订阅 | sing-box 订阅 |
| 规则表达 | rules 列表 | route 规则与规则集 |
| 适合 | 图形客户端、日常使用 | 跨平台统一配置、进阶用户 |
四个核心概念
- inbound(入站)
- 流量从哪里进来,比如本地的混合端口或 TUN 虚拟网卡。
- outbound(出站)
- 流量往哪里去,比如某个代理节点、直连或拒绝。
- route(路由)
- 决定每个入站的流量走哪个出站,由一系列规则组成。
- rule-set(规则集)
- 可复用的规则集合,可以内置也可以远程更新。
理解这四个概念,就能读懂绝大多数 sing-box 配置:流量从入站进来,经过路由规则判断,最终从某个出站出去。
各平台上怎么使用
| 平台 | 常见方式 |
|---|---|
| 桌面系统 | 使用命令行内核,或使用基于它的图形客户端 |
| iOS 与 macOS | 使用官方提供的图形客户端导入配置 |
| 安卓 | 使用官方或第三方图形客户端导入配置 |
版本升级时的配置迁移
sing-box 的配置字段随版本变化相对频繁,某些字段在新版本里被改名、合并或弃用。升级内核之后,如果同一份配置突然无法启动,多半是字段需要迁移。遇到这种情况,先看内核给出的报错信息,通常会指出是哪个字段;再对照该版本的官方迁移说明调整。升级前备份旧配置,是最保险的做法。
排错:先检查,再运行,再看日志
- 用检查命令验证配置合法性,错误会指出位置。
- 把日志等级调到 info 或 debug,观察启动过程。
- 如果能启动但流量异常,检查 route 规则的顺序与出站名称。
关于「sing-box教程」的常见问题
同一份订阅能同时给 Clash 和 sing-box 用吗?
通常不能,两者格式不同。需要向服务商获取对应格式,或使用通用节点列表导入到支持的客户端里。
配置检查报错怎么办?
先看报错里的字段名和位置,再对照所用版本的文档。
sing-box 的订阅和 Clash 的订阅可以通用吗?
不能,两者的格式不同。需要向服务商获取 sing-box 格式的订阅,或使用支持转换的客户端导入。
sing-box 适合新手吗?
它更偏向进阶用户。如果你只想快速用起来,可以先用图形界面成熟的 Clash 系客户端,等需要更多控制时再学习 sing-box。
sing-box是什么?
sing-box 是一个通用的代理平台,通过 JSON 配置文件定义入站、出站、路由和 DNS,同时有适用于不同系统的图形客户端。它更灵活,也更需要理解配置结构。