
背景
sing-box 是一个开源的通用代理平台,用途很广泛:既可以在 VPS 上跑作服务端(VLESS、Trojan、Hysteria2 等入站),也可以在电脑、手机上跑作客户端(路由、分流、TUN 透明代理)。国内很多自建节点的玩家用的就是它。
2026 年 8 月底,sing-box 1.14.0 正式版发布;10 月 9 日,1.14.3 发布,这是目前最新的稳定版(1.13.x 已进入旧稳定分支)。1.14 是个大版本,协议、面板、DNS 都动了。如果你 VPS 上的 sing-box 还停留在 1.13,是时候看看要不要升了。
前置知识:需要一台能自己装软件的 VPS(Debian/Ubuntu 最常见),以及能用 SSH 登录。以下操作都在服务端完成。
值得关注的 6 个变化
1. 支持 Snell 协议(outbound 和 inbound 都有)
Snell 是 Surge 出品的私有代理协议,一直闭源。官方文档的原话是:闭源并不能真的让它在 2026 年继续"隐蔽",加上 Snell 在随机流量协议里确实有优势(完整 TCP 语义的多路复用、流量特征多样性),sing-box 决定用 Go 重新实现它,而不是造新轮子。
实际影响:
- 客户端侧(outbound)新增
snell类型,支持 v4 和 v6 两个版本(v5 的 QUIC 模式官方实现没做,sing-box 也不支持)。 - 服务端侧(inbound)也有对应的
snell入站,可以直接替换官方 Snell 服务端。 - v4 支持 HTTP 混淆(
obfs_mode: http),v6 改成流量整形模式(mode),PSK 长度要求 12~255 字节。
如果你之前同时维护了 sing-box 和官方 Snell 二进制,现在可以只留一个了。
2. 新增 API 服务和 Web 面板
1.14 引入了 gRPC 的 API 服务,用于观察和控制正在运行的 sing-box 实例:服务状态、日志、出站分组(选择和测速)、Clash 模式、连接跟踪、网络质量测试等——和图形客户端本地用的同一套接口。
配套还有了一个 Web 版控制台 sing-box Dashboard,通过 API 服务的 dashboard 选项直接在监听地址上对外提供。图形客户端也能连远程实例。
这意味着:在 VPS 上跑 sing-box,现在可以用浏览器远程看连接状态、测速,而不用再靠 SSH 翻日志了。
3. Hysteria2 客户端默认模仿 Chrome QUIC 握手
1.14 起,Hysteria2 客户端默认会模仿 Chrome 的 QUIC 握手特征,让流量更难被握手指纹识别。
但注意一个坑:Chrome 不声明支持 Ed25519 曲线。如果你的服务端证书用的是 Ed25519,升级后客户端会握手失败。解决方法是把证书换成 ECDSA P-256,或在客户端配 disable_chrome_parrot: true。这是升级后"莫名连不上"的常见原因,先检查这个。
同时还加了 bbr_profile、hop_interval_max,以及新的 gecko QUIC 流量混淆(和 salamander 并列,可配 min_packet_size/max_packet_size)。
4. DNS 规则语义修正(有破坏性变更)
1.14 修正了规则集匹配语义中一个长期存在的不明确之处。同时,DNS 规则引入了 evaluate 动作和 Response Match Fields(response_rcode、response_answer 等),允许按解析结果再匹配规则。
注意:旧的 Legacy Address Filter Fields(ip_cidr、无 match_response 的 ip_is_private)和 Legacy strategy 选项已经被标记为废弃,将在 1.16.0 移除。现在升级 1.14 还能用,但建议趁早迁移到新写法,否则下次大版本升级会炸。
5. TUN 性能与 stack 选项
1.14 对 TUN 做了不少优化。顺带提一句:开发版 1.15.0-alpha 已经换上全新的自研 TCP/IP 栈,stack 选项被标记废弃、1.17.0 移除。客户端如果显式配了 stack: gvisor 之类,目前还能用,升级前先知道有这事。
6. iOS 客户端重新上架 App Store
换了新的苹果开发者账号,iOS/tvOS 客户端以 sing-box MT 的名字重新上架。老用户注意:之前那个 sing-box VT 要重新装 MT,配置和设置不会继承,需要迁移。
升级步骤(Debian/Ubuntu 实测)
正式版的升级很简单,但建议按这个顺序走:
# 1. 先备份当前配置
cp /etc/sing-box/config.json /etc/sing-box/config.json.bak
# 2. 升级二进制(以官方安装脚本为例)
bash <(curl -fsSL https://sing-box.app/deb-install.sh)
# 3. 升级前先校验配置
sing-box check -c /etc/sing-box/config.json
# 4. 重启服务
systemctl restart sing-box
# 5. 确认版本和状态
sing-box version
systemctl status sing-box
几点经验:
sing-box check一定要在重启前跑,它能提前报出配置里的问题(比如废弃字段),比重启失败再回滚省时间。- 升级前记住旧版本号(
sing-box version),出问题时方便降级:重装旧版 deb 包 + 恢复备份配置即可。 - 如果你配了 Snell 入站/出站,记得服务端客户端一起升,版本对不上可能连不通。
- Hysteria2 用户升级后第一时间测试连通性,失败先看上面的 Ed25519 坑。
- 之前发过一篇 sing-box 升级 1.14 前必须处理的 6 个配置翻车点,那篇讲的是旧字段删除(升级门槛),这篇讲的是新特性(升级收益),建议对照着看。
Snell 客户端配置示例
升级后想把某个出站换成 Snell,配置写法如下(参考官方文档):
{
"type": "snell",
"tag": "snell-out",
"server": "你的服务器地址",
"server_port": 8388,
"version": 4,
"psk": "你的PSK",
"obfs_mode": "http",
"obfs_host": "www.bing.com"
}
version只能填4或6;v4 混淆用obfs_mode/obfs_host,v6 改成mode(default/unshaped/unsafe-raw)。- v6 的
psk长度必须在 12~255 字节之间,否则启动报错。 - 服务端是官方 Snell v4 的话,客户端用
version: 4即可兼容(v5 的非 QUIC 部分与 v4 线路协议相同,sing-box 按 v4 处理)。
注意把上面示例里的地址、端口、PSK 换成你自己的,示例中的值都只是占位。
升级建议
- 在用 1.13.x 稳定运行、没遇到问题:可以升,1.14.3 是成熟稳定版,收益主要是 Snell 支持和远程面板;但记得先处理 DNS 规则废弃字段。
- 在用 Hysteria2 + Ed25519 证书:升级前先把证书换了或准备好
disable_chrome_parrot,否则升完就断连。 - iOS 用户:顺手换成 sing-box MT,别再用旧版 VT。
1.15 开发版已经在测试新 TCP/IP 栈和 MASQUE 协议支持,喜欢尝鲜的可以关注 beta 分支,但生产节点建议还是守着稳定版。
*参考:sing-box 官方更新日志、Snell outbound 文档,版本号与配置字段均以 2026-10-21 查阅时的官方文档为准。*
