
sing-box 是目前最常见的开源通用代理平台之一:同一个程序既能当客户端,也能当服务端,还能跑透明代理,很多图形客户端(Karing、NekoBox、Hiddify 等)用的都是它做内核。2026 年 10 月 24 日,sing-box 发布了稳定版 1.14.4,官方发布说明只写了一句 "Fixes and improvements",但实际改动里藏着一个会直接让老配置起不来的兼容性变化——如果你用 urltest 或 selector 组做自动选节点,升级前最好先看完这篇。
先说结论:1.14.4 是稳定版,可以升;同期发布的 1.15.0-alpha.13 是测试版,普通用户没必要跟。升级前做三件事:备份旧配置、给 selector 和 urltest 组去重、用新版 sing-box check 校验一遍。
变化一:组内重复标签直接报错
这是 1.14.4 里最容易踩的坑。新版给 selector 和 urltest 出站组加了重复节点标签校验:同一个组里如果出现两个相同 tag 的成员,配置初始化时会返回 duplicate tag 错误,sing-box 直接起不来。
需要注意一个细节:这个校验只针对同一个组内部。同一个节点被多个不同的组引用是正常的,不会报错。真正中招的通常是这几种情况:
- 用订阅转换工具生成的配置,转换器把同一个节点写进了同一个组两次;
- 手动合并了两份订阅,节点名撞了;
- 自动测速组(urltest)的成员列表是脚本拼接的,拼接逻辑没去重。
如果你昨天刚照着"多台 VPS 用 urltest 自动选优"的做法搭了自动切换,升级到 1.14.4 后第一件事就是检查组内有没有重名节点。
怎么查、怎么修
最稳妥的办法是拿新版的校验功能直接跑一遍:
sing-box check -c /etc/sing-box/config.json
如果报 duplicate tag,顺着报错里的 tag 名去组里找重复项删掉即可。节点很多、靠肉眼找太慢的话,可以用 jq 先把组内成员列出来比对:
jq -r '.outbounds[] | select(.type == "urltest" or .type == "selector") | .tag as $g | .outbounds[] | "\($g): \(.)"' /etc/sing-box/config.json | sort | uniq -d
有输出就说明对应组里存在重复标签,删到只剩一个为止。改完再跑一次 sing-box check,直到不报错再重启服务。
变化二:内置证书库移了三张根证书
1.14.4 调整了内置的 Mozilla 证书集合,移除了三张 emSign 根证书:
- emSign ECC Root CA - C3
- emSign ECC Root CA - G3
- emSign Root CA - C1
这影响的是 sing-box 内置的证书库,不等于你操作系统的证书库也同步变了。实际影响面不大:只有当你要访问的网站恰好用 emSign 签发的证书、且 sing-box 走内置证书库做校验时,才可能握手失败。如果你升级后发现某个以前能打开的网站突然报证书错误,先别急着怪线路,查一下对方证书的签发机构,再决定是等对方换证书,还是在配置里显式指定系统证书库。
变化三:DNS 缓存命中也要过检查器
同版的 DNS 客户端还改了一个容易被忽略的行为:以前缓存命中的响应会跳过响应检查器,现在缓存响应也会接受检查。如果你配置了地址过滤、DNS 分流或乐观缓存,升级后要验证两件事:缓存命中时分流结果是否还对,以及重新查询时的行为有没有变。这个改动本身是往"更正确"的方向走,但任何依赖旧行为的取巧配置都可能表现不同,值得在小范围先测一下。
另外,Tailscale SSH 的权限检查也增强了:在切换本地用户前会多做身份与权限检查,Linux 上明确检查 CAP_SETUID 与 CAP_SETGID。在受限容器里、或以非 root 身份跑 sing-box 的部署,升级后留意 SSH 相关功能是否还正常。
顺带:Xray 26.10.21 有个 REALITY 握手回归报告
同期的另一条动态值得 sing-box 用户也知道,因为很多人是 sing-box 和 Xray 混着用的。根据 Xray-core Issue #7243,Xray 26.10.21 在目标返回空的 TLS EncryptedExtensions 时,真实认证连接可能报 padding: -4 失败,而未认证的普通探测却仍然正常。也就是说端口在线、目标探测正常,不等于真实认证连接可用。
截至发稿时,这个 Issue 仍是开放状态,上游还没有确认的正式修复版本。两点提醒:
- 升级 Xray 后的验收不能只看端口通不通,要实际走一次客户端认证、发一次真实请求、看一眼日志;
- 别为了绕开这个问题盲目回退——26.10.10 和 26.10.17 这两个版本已经被官方撤版,26.10.21 的发布说明里还包含紧急证书安全更新,回退到撤版之前等于把安全更新也丢了。
升级清单:四步走
把上面的变化收拢成一份升级前清单:
- 备份:把原配置和当前能用的 sing-box 二进制都备份好,确认回退方案,先想好退路再升级。
- 去重:检查所有 selector、urltest 组的成员列表,组内同名标签只留一个;订阅转换器的输出也要过一遍。
- 校验:用新版
sing-box check -c 配置路径跑一遍,确认没有duplicate tag之类的初始化错误。 - 小范围验证:先在一台机器或一个客户端上升级,验证 DNS 分流、自动切换和真实业务连接都正常,再扩大到全部部署。
1.14.4 本身没有带来普遍提速的改动,也别指望升完版节点就更稳定——这是一次以正确性和兼容性为主的更新。按清单走一遍,十分钟能做完的事,别让一次"顺手升级"变成半夜排错。
参考来源:sing-box 官网、sing-box GitHub Releases、GateRank 10 月 24 日代理技术动态。
