AnyTLS .wiki

常见问题 FAQ

使用 AnyTLS 过程中最常见的疑问与排查思路。

连接失败怎么排查?

按以下顺序逐项确认,多数问题都能定位:

  • 密码是否一致:这是最常见的原因。服务端 -p 与客户端密码必须完全相同。
  • 端口是否放行:检查服务器防火墙 / 云厂商安全组是否放行了服务端监听端口。
  • 地址是否正确:客户端 -s 填写的是服务端的公网 IP/域名与端口。
  • 证书与 SNI:使用真实证书时,客户端的 SNI 应与证书匹配,并关闭 insecure;使用自签证书时则需开启 insecure。
  • 看日志:客户端 / 服务端的控制台输出通常会给出认证失败、握手失败等具体提示。

速度慢是什么原因?

  • 线路本身的丢包与时延(服务器地理位置、运营商出口)是主要因素,与协议关系不大。
  • 会话复用已尽量降低握手延迟;若仍偏慢,优先排查服务器带宽与线路质量。
  • 过于激进的填充方案会增加额外开销,按需权衡“伪装强度”与“传输效率”。

AnyTLS 能完全不被识别吗?

不能保证。AnyTLS 的目标是缓解(mitigate)TLS in TLS 指纹问题,而非提供绝对的不可识别性。

默认参数不是护身符

官方明确表示无法保证默认 PaddingScheme 不被识别。真正的价值在于:当一套特征被识别后,你可以低成本地更换填充方案, 持续抬高审查研究的成本。

和其他协议是什么关系?

AnyTLS 是 “Any in TLS” 思路的一个参考实现,专注于连接复用与数据包长度整形。它不追求功能大而全,而是把这两件核心工作做好; 在 sing-box、mihomo 等客户端中,它与其他协议一样作为一种可选的出站类型存在。

使用中的安全注意

  • 示例服务端默认自签证书,仅适合不易遭遇中间人攻击的环境;对安全性要求高时请使用真实证书与域名。
  • 使用足够强度的随机密码,避免在多处复用。
  • 对 TLS 指纹有更高要求时,建议用 sing-box / mihomo 作为服务端,以便精细控制 TLS 参数。

还没跑通?

建议先按 快速上手 完整走一遍最小链路,再逐步替换为真实证书与成熟客户端。