sing-box 1.13.16 已于 2026 年 8 月 3 日发布,核心变化是:AnyTLS 出站请求里的客户端元数据现在默认留空。正在使用 sing-box AnyTLS 客户端元数据字段的用户、订阅提供方和自建服务端管理员应关注;不使用 AnyTLS 的配置,不会被这项变化直接影响。官方在1.13.16 发布说明中确认了这一默认行为。
合理做法是先备份配置并记录当前版本,再升级到 1.13.16,检查出站中是否显式设置 client_metadata,最后在自己有权管理的服务端核对连接与认证日志。不要为了“看起来兼容”随意填入真实软件版本或设备信息;只有确有服务端兼容要求时,才应在理解隐私代价后使用自定义值。
关键结论
- 稳定版 1.13.16 与测试版 1.14.0-beta.5 都在 2026 年 8 月 3 日采用了新的默认值。
- 变化只涉及 AnyTLS 请求中的客户端元数据,不等于整个 AnyTLS 握手不再包含任何可识别特征。
- 开源 AnyTLS 服务端不使用该元数据完成兼容性协商;sing-box 因而将其视为非破坏性变更。
- 显式配置
client_metadata会覆盖留空默认值,升级后仍需审查配置和订阅展开结果。 - 若升级后连接异常,应先区分认证、TLS、路由与元数据策略问题,不要直接关闭证书验证。
这次到底改了什么
AnyTLS 的设置帧包含软件名称和版本一类客户端元数据。sing-box 官方文档解释,这个字段并不承担协议兼容协商:协议另有版本字段,而且开源服务端实现不会使用客户端元数据。项目方认为,继续发送真实客户端名称或版本会给服务端提供额外的分类依据,因此在 1.13.16 中改为默认发送空值。完整时间线与项目立场见官方的AnyTLS client metadata 专题文档。
这里需要准确区分“官方事实”和“编辑判断”。官方事实是默认值已改、开源服务端不使用该字段,并保留了自定义选项。基于这些事实可以推断,多数采用标准开源服务端、且没有额外接入策略的部署不需要手工补回原值;但第三方商业服务是否建立了额外校验,只能由其运营方说明,不能从 sing-box 文档反推。
谁需要升级,谁可以按计划观察
正在使用 AnyTLS 出站
这是直接受影响的人群。若当前为 1.13.x 稳定版,可在备份和回退条件具备后升级到 1.13.16。若正在评估 1.14 测试版,应注意同一变化进入的是 1.14.0-beta.5;测试版还可能包含其他行为调整,不能只因为本项隐私改动就把生产环境迁到测试版。站内的sing-box 1.14 beta 规则集与 DNS 升级指南可帮助区分测试版的其他配置变化。
使用订阅或图形客户端
界面显示“核心已更新”不一定代表实际运行实例已经替换,也不保证订阅生成器没有写入 client_metadata。应在图形客户端的关于页面、运行日志或核心版本输出中确认版本,并检查最终生效配置。需要校验 JSON 结构时,可参考站内的sing-box JSON Schema 配置校验指南;Schema 能发现字段结构错误,但不能替你判断某个元数据值是否适合发送。
没有使用 AnyTLS
若出站类型是 VLESS、Trojan、Shadowsocks 或其他协议,这项 AnyTLS 默认值变化不会直接改变相应出站。仍可按原有维护窗口评估 1.13.16 的其他修复,不必把本次更新误解为覆盖所有协议的紧急安全通告。官方没有为该变化给出 CVE,也没有宣称它能消除全部指纹识别风险。
升级前后的核验清单
- 确认协议:在最终生效配置中查找 AnyTLS 出站,而不是只看节点备注或订阅名称。
- 记录基线:保存当前核心版本、配置副本、可用连接的时间与服务端地址;配置中如含凭据,应只保存在受控位置。
- 使用官方渠道:从项目发布页或所用客户端的可信更新机制取得版本,不使用来源不明的重打包二进制。
- 核对实际版本:重启相关进程后确认运行的是 1.13.16,而不是磁盘上下载了新版、进程仍加载旧核心。
- 搜索显式字段:检查本地配置、订阅转换模板和生成后的配置是否包含
client_metadata。存在该字段时,默认留空行为不会自动替你移除自定义值。 - 做最小连接测试:验证域名解析、TLS 握手、认证和目标访问;出现故障时按层记录错误。TLS 基础排查可参照TLS、SNI 和 ALPN 握手排查指南。
- 核对自有服务端:管理员可在合法授权范围内确认连接是否到达、认证是否成功,并检查是否存在依赖客户端元数据的自定义策略。
- 保留回退:在确认业务连接稳定前保留旧二进制与配置,但不要继续长期运行含已知问题的旧版本。
兼容性异常该怎么判断
升级后“连不上”并不能直接证明服务端依赖元数据。先看错误发生在哪一层:无法解析域名属于 DNS;证书名称或信任失败属于 TLS;密码或认证失败属于协议认证;连接建立后目标不可达还可能是路由或规则问题。只有常规层面均正常,并且由服务端管理员确认接入策略明确检查该字段时,元数据兼容性才成为较强候选原因。
sing-box 保留 client_metadata 是为了兼容与自定义,但官方默认留空表达了清晰的最小披露方向。若第三方服务要求非空值,应向服务方索取字段格式、用途和保存政策。编辑建议是避免填写真实设备型号、操作系统版本、账户名或其他个人标识;这不是官方兼容性要求,而是基于数据最小化原则的审慎做法。
常见问题
1.13.16 是安全漏洞紧急修复吗?
官方发布说明把变化描述为默认移除 AnyTLS 客户端元数据及其他修复,并未给出 CVE 或紧急安全分级。它有现实的隐私价值,但不应被改写成未经官方确认的漏洞通告。
升级后需要手工添加 client_metadata 吗?
通常不需要。官方称开源服务端不使用该信息,并认为默认留空不是破坏性变更。只有受控服务端确实实施了额外策略、且管理员能够说明要求时,才有理由评估自定义值。
留空后是否就无法识别客户端?
不能这样保证。此次变化只减少一个明确的元数据字段;网络端仍可能观察到地址、时序、TLS 或实现差异等其他信号。官方材料没有承诺匿名性或不可识别性。
1.14.0-beta.5 和 1.13.16 应选哪个?
生产环境优先评估稳定版 1.13.16;需要测试 1.14 新功能且能承担回归风险的用户,才考虑 beta.5。两者都包含本次默认留空变化,但版本线的其他功能和风险并不相同。
官方来源与核验入口
- SagerNet / sing-box,1.13.16,2026-08-03:核对版本发布日期、提交与发布说明。
- sing-box Documentation,AnyTLS client metadata,2026-08-03 更新:核对字段背景、版本状态、默认行为与项目建议。