机场知识 知识解读

AnyTLS 是什么?缓解 TLS in TLS 特征的新协议解读

AnyTLS 是较新的 TLS 类代理协议,通过填充策略与连接复用缓解 TLS in TLS 流量特征。本文解释其原理、与 Trojan 和 VLESS Vision 的区别、客户端支持与使用建议。

首次发布
最后更新
内容类型
知识解读
资料核对
阅读时间
约 3 分钟

信息可能随服务调整而变化,请以最新官方信息为准。

直接答案

AnyTLS 是一种较新的基于 TLS 的代理协议,设计目标是缓解「TLS in TLS」特征:通过 TLS 代理访问 HTTPS 网站时,内层握手的数据包长度与时序可能被识别。AnyTLS 用可配置的填充策略打乱数据包长度分布,并在一条 TLS 连接上复用多个会话,减少握手次数。它目前主要在 Mihomo、sing-box 等内核中可用,生态仍在发展。

定义 AnyTLS
一种开源的 TLS 类代理协议。客户端与服务器建立 TLS 连接后,在其上复用多个代理会话,并按服务端下发的填充方案调整数据包长度,以降低代理流量中嵌套 TLS 握手所呈现的可识别特征。

Key Takeaways · 要点速览

  • AnyTLS 属于 TCP + TLS 类协议,外观与普通 TLS 连接相似。
  • 核心改进是填充策略和连接复用,用来缓解 TLS in TLS 特征。
  • 它不是更快的协议,主要价值在于连接特征层面的改进。
  • 客户端支持以 Mihomo 和 sing-box 内核为主,其他客户端以最新版本说明为准。

AnyTLS 的直接解释

AnyTLS 解决的不是「加密」问题,而是「看起来像什么」的问题。Trojan、VLESS + TLS 这类协议已经让代理流量拥有标准 TLS 外观,但当用户通过它们访问 HTTPS 网站时,外层 TLS 里还包着一次内层 TLS 握手。内层握手的数据包大小和往返节奏有一定规律,即使看不到内容,也可能从流量形态上推断出「这是 TLS 里套着 TLS」,这就是常说的 TLS in TLS 特征。

AnyTLS 的做法是在外层 TLS 之上加入两项机制:按策略填充数据包、在一条连接上复用多个代理会话。前者打乱数据包长度分布,后者减少新连接和握手的次数,从而降低这类特征的可识别性。

TLS in TLS 是怎么产生的

  1. 客户端与代理服务器建立外层 TLS 连接。
  2. 你在浏览器里打开一个 HTTPS 网站,浏览器与目标网站进行内层 TLS 握手。
  3. 内层握手的 ClientHello、ServerHello、证书等消息被封装在外层 TLS 中传输。
  4. 这些消息的长度和交互次数比较固定,在外层表现为一组特征明显的数据包序列。

普通 HTTPS 网站访问只有一层握手,代理访问则在建立连接初期出现「握手中的握手」,这就是差异所在。

AnyTLS 的主要机制

机制 作用
TLS 外层 连接外观与普通 TLS 一致,内容加密
填充策略 按服务端配置的方案对前若干个数据包进行填充或拆分,改变长度分布
会话复用 在一条 TLS 连接上承载多个代理请求,减少新建连接与外层握手
空闲连接管理 客户端维护可复用的连接池,按设置回收空闲连接

说明填充策略的具体参数由服务端决定并可调整,普通用户导入订阅即可,不需要手动修改。

与其他 TLS 类协议的对比

对比项 Trojan VLESS + Vision AnyTLS
传输层 TCP + TLS TCP + TLS 或 Reality TCP + TLS
是否处理 TLS in TLS 否 是,通过流控 是,通过填充与复用
连接复用 协议本身不提供 依配置而定 内置
生态 最成熟 成熟,Xray 生态为主 较新,Mihomo、sing-box 为主
客户端覆盖 最广 广 有限,正在扩展

Hysteria2 走的是另一条路线(QUIC/UDP),不在同一个对比维度上,可参考 Hysteria2 是什么。完整对比见 代理协议对比。

客户端支持情况

客户端 AnyTLS 支持
Clash Verge Rev 支持(依赖 Mihomo 内核)
Mihomo 支持
sing-box 支持
v2rayN 取决于所选内核,以最新版本说明为准
Shadowrocket 以最新版本说明为准
Stash 以最新版本说明为准
Surge 以官方说明为准

重要新协议的客户端支持变化较快,较旧的内核版本可能无法识别 AnyTLS 节点。使用前请把客户端和内核更新到最新版本,并以各客户端官方说明为准。内核相关知识可参考 Mihomo 内核入门 与 sing-box 使用入门。

优点与局限

优点

  • 在 TCP + TLS 的成熟基础上改进流量特征,不依赖 UDP。
  • 连接复用减少频繁握手,对短连接较多的网页浏览场景有帮助。
  • 配置对用户透明,导入订阅即可使用。

局限

  • 协议较新,经过的时间检验和大规模使用相对有限。
  • 客户端与服务端实现较少,部分平台暂不可用。
  • 连接复用意味着多个请求共享一条连接,该连接中断时会同时影响其上的会话。
  • 它改善的是流量特征,不能替代优质线路,也不决定 AI 服务或流媒体的可用性。

使用建议

  • 如果你的客户端支持且机场提供 AnyTLS 节点,可以与 Trojan、VLESS 节点并行测试,按实际稳定性选择。
  • 导入后出现大量连接失败,先检查客户端版本,再检查系统时间是否准确;TLS 相关报错可参考 TLS 握手失败怎么办。
  • 不必为了用新协议更换整个客户端,成熟协议在大多数网络下依然够用。

结论

AnyTLS 是 TLS 类协议的一次增量改进,重点处理 TLS in TLS 特征,并通过连接复用降低握手开销。它不是速度的保证,也不是必须升级的选项;对于已使用 Mihomo 或 sing-box 内核的用户,它是一个值得纳入对比的新选择。

常见问题

AnyTLS 比 Trojan 快吗?

不一定。AnyTLS 的改进集中在流量特征层面,速度主要仍取决于线路、服务器和网络环境。连接复用可以减少新建连接时的握手开销,但不会突破线路本身的带宽上限。

AnyTLS 和 VLESS Vision 有什么区别?

两者都针对 TLS in TLS 特征,但思路不同:VLESS Vision 通过流控处理内层 TLS 流量,AnyTLS 通过填充策略和会话复用改变数据包分布。两者属于不同生态,客户端支持也不同。

哪些客户端可以使用 AnyTLS?

目前主要是基于 Mihomo 内核的客户端(如 Clash Verge Rev)和 sing-box。v2rayN 取决于所选内核,Shadowrocket、Stash、Surge 等请以各自最新版本说明为准。

订阅里有 AnyTLS 节点但客户端无法导入怎么办?

通常是客户端或内核版本过旧,不认识该协议类型。先更新客户端;如果仍不支持,可使用订阅中的 Trojan、VLESS 等其他节点。