协议知识
AnyTLS 协议速读:为什么要关注客户端版本
AnyTLS 是较新的协议,最常见的问题不是配置,而是客户端太旧。
先看结论
AnyTLS 协议是较新的基于 TLS 的代理协议,使用密码认证,并支持对流量做填充(padding)来改变特征。它需要较新版本的内核与客户端才能使用,旧版本会直接忽略这类节点。
要点
- 基于 TLS
- 运行在 TLS 之上,需要匹配的 sni。
- password
- 密码认证。
- padding 策略
- 可配置的填充方案,减少流量模式的规律性。
使用时先确认
- 你的内核或客户端版本是否支持 AnyTLS(看其更新说明)。
- 订阅里的节点字段是否被客户端完整解析。
- 节点是否出现在列表里:没出现时,很可能是被当前版本忽略了。
"填充策略"在解决什么问题
把代理流量放进 TLS 里,并不等于流量特征完全消失:数据包的大小、发送节奏仍然可能呈现出规律。AnyTLS 的设计思路之一,就是通过可配置的填充方案来打乱这种规律,让流量更接近普通的 TLS 使用方式。这类方案的具体效果取决于实现与配置,作为用户你不需要自己调整,使用订阅里提供的参数即可。
遇到"导入后没有 AnyTLS 节点"
- 确认订阅格式与你的客户端匹配。
- 查看客户端与内核的版本说明,确认是否已支持该协议。
- 升级到支持的版本后,重新更新订阅。
- 仍然没有,联系服务商确认订阅里是否包含该协议的节点。
与 Trojan 的对照
| 对比项 | Trojan | AnyTLS |
|---|---|---|
| 认证 | 密码 | 密码 |
| 运行环境 | TLS 之上 | TLS 之上 |
| 额外设计 | 较简单 | 带填充策略,减少流量规律 |
| 客户端要求 | 主流客户端普遍支持 | 需要较新版本的内核与客户端 |
使用较新协议时的"稳妥原则"
较新的协议往往带有新的设计思路,但也意味着生态尚在完善:客户端支持不一、文档可能更新较快、遇到问题的可参考资料相对较少。使用这类协议时,稳妥的做法是保留一个已经验证过的、较成熟协议的节点作为备份,这样当新协议在你的环境里出现问题时,你可以立刻切换,而不至于完全不能用。不要因为协议"新"就一定去追,也不要因为它"新"就拒绝尝试,用你的实际体验来决定。
关于「AnyTLS协议」的常见问题
为什么我的订阅里看不到 AnyTLS 节点?
很可能是客户端版本较旧,不支持该协议,升级后重新更新订阅再看。
AnyTLS 和 Trojan 有什么不同?
二者都运行在 TLS 之上,AnyTLS 额外设计了填充策略;具体效果取决于实现与配置。
AnyTLS 会比 Trojan 更快吗?
没有这样的结论。速度由线路、节点和网络环境决定,协议名称本身不能保证更快。
AnyTLS是什么?AnyTLS padding有什么作用?
AnyTLS 是一种较新的基于 TLS 的代理协议。AnyTLS padding 指在数据中加入填充来改变流量特征,具体参数需要客户端与服务端的实现支持,使用前先核对双方版本。