
sing-box 是 SagerNet 出品的新一代代理内核,一个二进制就能跑 VLESS、VMess、Trojan、Shadowsocks、Hysteria2、TUIC 等几乎所有主流协议,配置全用一份 JSON。这篇把本站之前散在几篇文章里的 sing-box 实战经验收拢到一起:怎么部署、订阅链接怎么转成配置、哪些坑我们替你踩过、配置写完怎么检查。默认你对代理只有最基本的概念(知道"节点""订阅"是什么),跟着走就能用。
一、部署:三协议一次配好
我们在一台日本大阪的 VPS 上部署过 sing-box 1.14.1,同时跑了三个协议:VLESS + Reality(443/tcp)、Hysteria2(443/udp)、VMess + WS(8080)。完整过程见日本 VPS 部署 sing-box 全记录,这里提炼几个关键结论:
- VLESS + Reality 是主力:抗封锁能力最强,客户端指纹用 Chrome,服务端只需要公钥、私钥、short-id 三个参数。
- Hysteria2 适合弱网:基于 QUIC,丢包多的网络体感提升明显,但注意 UDP 端口要在防火墙放行。
- VMess + WS 是备胎:兼容性最好,某些只允许 80/8080 出站的网络只能走它。
部署后记得开 BBR(sysctl 写入 net.core.default_qdisc=fq 和 net.ipv4.tcp_congestion_control=bbr 并持久化),这是免费的提速。
二、订阅转换:分享链接变成 sing-box 配置
机场或自建节点给的通常是分享链接(vless://…、vmess://…、trojan://…、ss://…、hysteria2://…、tuic://…),而 sing-box 要的是 JSON 里的 outbounds。转换逻辑说白了就是解析 URL → 填进对应协议的出站模板:
vless://uuid@host:port?security=reality&pbk=…&sid=…&fp=chrome&sni=…#备注→type: vless,reality 参数进tls.reality,fp进tls.utls.fingerprint。vmess://后面是一整段 base64,解开是 JSON,add/port/id/net/tls一一对应。trojan://password@host:port?sni=…→type: trojan,tls.server_name取sni。ss://有两种写法(base64(method:password)@host:port或整体 base64),都要兼容。hysteria2://password@host:port?sni=…→type: hysteria2。tuic://uuid:password@host:port→type: tuic,注意congestion_control和alpn。
手动转容易错,我们写过 sub2sing-box 新版实战 介绍命令行工具,也在本站做了个在线节点转换工具:粘贴分享链接(每行一个),一键生成含 mixed 入站、DNS 分流和手动选路的完整配置,纯浏览器本地解析,不上传。
三、排错实录:我们替你踩过的坑
坑 1:multiplex 不要在服务端配。 我们在 sing-box 1.14.1 上三次尝试给 inbound 加 multiplex,三次都被校验拒绝、只能回滚。结论:这个版本的服务端自动接受复用连接,想吃多路复用加成去客户端开。详见 multiplex 三次翻车记录。
坑 2:1.14 的 TUN DNS 接管变了。 升级 1.14 前先看 升级实战 里三件事:TUN 的 DNS 接管行为变化、配置校验更严格、记得先备份再升级。
坑 3: Reality 的 short-id 和 SNI 对不上。 现象是客户端握手直接失败。检查 tls.reality.short_id 与服务端一致、tls.server_name 是一个真实存在的域名。
通用排错顺序:sing-box check -c config.json 先过校验 → 看日志 log.level: debug → 用 curl 测连通性。80% 的问题是 JSON 手误或参数名写错。
四、配置检查清单
贴配置之前,对着这份清单过一遍(也可以直接用本站的在线配置检查工具自动跑):
- JSON 能解析,没有尾随逗号。
- 每个出站有
type和唯一的tag。 route.rules里引用的outbound都存在。selector/urltest里列的出站 tag 都存在。- 入站有
listen_port,端口没被占用。 dns.servers每项有tag或address。
结语
sing-box 的学习曲线主要在"协议参数 → JSON 字段"的映射上,一旦转过一次、排过一次错,后面就是复制粘贴。建议收藏本文,需要转配置用节点转换,写完配置用配置检查,基本不会再翻车。