2026 年 10 月更新:新增 AnyTLS 与 VLESS、Hysteria2 的对比,以及各客户端对 AnyTLS 的支持情况;删除了无法核实的封锁结论。
很多用户在选节点或客户端时都会问:到底用什么翻墙协议?AnyTLS、VLESS、Hysteria2 有什么区别?本文用通俗的语言说明常见代理协议的工作方式、优缺点和客户端支持情况,并在每条技术说明后附上来源,帮助你选对工具。
需要先说明一点:某个协议在某个时期、某个网络上能不能用,会随时间和地区变化。本文只写能从官方文档和公开研究中核实的内容,不对”哪个协议一定不会被封”做保证。
先看结论:AnyTLS、VLESS、Hysteria2 怎么选
| 协议 | 传输方式 | 加密/伪装依靠什么 | 适合场景 |
|---|---|---|---|
| AnyTLS | TCP + TLS | TLS 加密,另外控制数据包长度,缓解”TLS 套 TLS”特征 | 对 TLS 代理特征敏感的网络 |
| VLESS(+ TLS / REALITY) | TCP 等 | VLESS 本身通常不加密,依靠外层 TLS 或 REALITY | 生态成熟,客户端选择多 |
| Hysteria2 | QUIC(UDP) | QUIC 加密,可选 Salamander 混淆 | 丢包多、抖动大的网络 |
| Shadowsocks 2022 | TCP / UDP | 预共享密钥的 AEAD 加密 | 轻量、客户端支持广 |
简单地说:Hysteria2 走 UDP;AnyTLS 走 TCP;VLESS 最常见的用法也是走 TCP。如果你的网络对 UDP 不友好,可以优先试 AnyTLS 或 Shadowsocks;如果网络丢包严重,可以优先试 Hysteria2。最可靠的办法是同时准备几种协议,哪种在你的网络上表现好就用哪种。
AnyTLS 是什么协议?
AnyTLS 是一个较新的代理协议。它的官方项目这样描述自己:”一个试图缓解 嵌套的TLS握手指纹(TLS in TLS) 问题的代理协议。”[1]
它的主要特点有三个:
- 灵活的分包和填充策略:控制数据包的长度模式,让代理流量看起来不那么像”TLS 里面又套了一层 TLS”。
- 连接复用:多个请求共用连接,降低延迟。
- 加密交给 TLS:AnyTLS 本身不另做加密,这也是名字的由来。
项目文档还坦言,默认的填充参数也可能被识别,所以协议设计了更新填充方案、改变流量特征的机制[1]。sing-box 从 1.12.0 版本开始支持 AnyTLS[2],mihomo(Clash Meta 内核)从 1.19.3 版本开始支持[3]。
AnyTLS 和 VLESS 有什么区别?
- 加密方式不同:VLESS 通常不自带加密,需要配合 TLS 或 REALITY 使用(Xray 新版本另外提供了可选的 VLESS Encryption)[4]。AnyTLS 则默认运行在 TLS 之上。
- 设计重点不同:VLESS 是一个轻量的传输协议,伪装效果主要取决于外层的 TLS / REALITY 配置;AnyTLS 的重点是处理 TLS 代理特有的数据包长度特征。
- 生态不同:VLESS 由 Xray 项目提出,Xray、sing-box、mihomo 等主流内核都支持;AnyTLS 目前由 sing-box、mihomo 等内核支持,AnyTLS 官方项目还列出了 Shadowrocket、Stash、Loon 等客户端[1]。
AnyTLS 和 Hysteria2 有什么区别?
- 传输层不同:Hysteria2 基于定制的 QUIC 协议,走 UDP,官方定位是在”不可靠、丢包多的网络”上提供好的性能[5]。AnyTLS 走 TCP + TLS。
- 受网络限制的方式不同:Hysteria2 官方文档提到,部分用户反映运营商会限制长时间的 UDP 连接,为此提供了”端口跳跃”功能[5]。AnyTLS 走 TCP,不受 UDP 限制的影响。
- 混淆方式不同:Hysteria2 可选 Salamander 混淆,把每个数据包打乱成没有规律的字节[5];AnyTLS 依靠 TLS 外观加长度填充。
两者没有绝对的高下。晚高峰时如果一种表现不好,换另一种试试,是很常见的做法。
v2ray 支持 AnyTLS 吗?
要分开看”内核”和”客户端”:
| 内核 / 客户端 | 是否支持 AnyTLS |
|---|---|
| Xray-core | 不支持(添加 AnyTLS 的合并请求已被关闭,未合并)[6] |
| v2ray-core(v2fly) | 截至 2026 年 10 月未发现支持 |
| v2rayN(Windows / macOS / Linux) | 支持,通过内置的 sing-box 内核运行[7] |
| v2rayNG(Android) | 暂不支持,开发者说明原因是 Xray 内核不支持[8] |
| sing-box 1.12.0 及以上 | 支持[2] |
| mihomo(Clash Meta)1.19.3 及以上 | 支持[3] |
VilaVPN 用户请注意:VilaVPN 下发给 v2rayN 的订阅只包含 Shadowsocks 和 Hysteria2 节点,在 v2rayN 中看不到 AnyTLS 节点是正常的。需要使用 AnyTLS 时,请使用官方 VilaNet 应用。v2rayN 的订阅设置方法见《如何在 v2rayN 中添加和使用订阅地址》。
AnyTLS 协议安全吗?
- 加密强度来自 TLS:AnyTLS 不自己做加密,数据的保密性取决于 TLS。
- 没有公开的安全审计:我们在 AnyTLS 官方项目中没有找到第三方安全审计报告。官方的 anytls-go 是”参考实现”,项目说明它不是生产级客户端,示例配置也默认不安全[1]。实际使用时,应选择 sing-box、mihomo 等成熟内核的实现。
- 客户端元数据:sing-box 后续版本默认移除了 AnyTLS 请求中的客户端元数据[12],建议使用较新版本的客户端。
主流翻墙协议现状总览
Shadowsocks (SS) 与 Shadowsocks 2022
Shadowsocks 是一款开源的加密代理协议。GFW Report 团队 2023 年的研究发现,审查系统会用简单的启发式规则识别”完全加密流量”,并点名 Shadowsocks、VMess、Obfs4 等协议受到影响[9]。Shadowsocks 2022 是新版规范,使用预共享密钥的 AEAD 加密保护数据,但不提供前向保密[10]。
ShadowsocksR (SSR)
SSR 在 SS 基础上加入多种混淆与协议插件,但项目已多年无人维护,不建议新用户使用。
V2Ray VMess
VMess 是 V2Ray 的原生加密协议,同样属于上述研究中点名的”完全加密流量”协议之一[9]。
Xray 与 XTLS
Xray 是 V2Ray 的分支,XTLS Vision 用来减少”TLS 套 TLS”带来的特征。它与 VLESS 一起使用,客户端支持广泛。
VLESS + REALITY
REALITY 借用其他网站的 TLS 外观和握手特征做伪装,不需要自己购买域名或配置证书[11]。VilaVPN 暂时停止提供 Reality 协议节点。
Trojan / Trojan‑Go
Trojan 先完成一次真实的 TLS 握手,再在其中传输代理数据。它需要自己的域名和证书,部署成本比 REALITY 高。
Hysteria2
基于 QUIC/UDP,可选 Salamander 混淆,支持端口跳跃,适合丢包较多的网络[5]。
OpenConnect (AnyConnect SSL VPN)
企业级 SSL VPN 协议,兼容 Cisco AnyConnect 客户端。VilaVPN 目前不再向新用户销售 OpenConnect 套餐。
AnyTLS
见上文。生态比 VLESS 小,但 sing-box、mihomo 和 v2rayN 都已支持。
协议对比一览表
| 协议 | 优点 | 缺点 | 客户端支持 |
|---|---|---|---|
| Shadowsocks 2022 | 轻便高效 | 属于”完全加密流量”类,无前向保密 | 广泛 |
| ShadowsocksR | 多混淆 | 停更多年 | 逐渐减少 |
| VMess (V2Ray) | 生态大 | 属于”完全加密流量”类 | 广泛 |
| VLESS + REALITY | 借用真实网站 TLS 外观,无需域名 | 依赖目标网站的选择 | 广泛(Xray 系) |
| Xray + XTLS Vision | 处理 TLS 套 TLS 特征 | 需配合 VLESS 使用 | Xray 系客户端 |
| Hysteria2 | 高速 UDP,适合丢包网络 | 部分网络限制 UDP | sing-box、mihomo、v2rayN 等 |
| Trojan / Go | 真实 TLS 握手 | 需要域名和证书 | 广泛 |
| OpenConnect | 官方客户端 | 全局 VPN | Cisco / OpenConnect 客户端 |
| AnyTLS | TCP,缓解 TLS 套 TLS 特征 | 较新,官方仓库未见安全审计 | sing-box、mihomo、v2rayN |
选择困难?交给专业服务
与其反复尝试协议,不如将时间花在更重要的事情上。VilaVPN 的官方 VilaNet 应用同时提供三种协议:
- Hysteria2 — 基于 QUIC/UDP,适合丢包较多的网络
- AnyTLS — 基于 TCP + TLS,适合对 UDP 不友好的网络
- Shadowsocks — 轻量,兼容第三方客户端
某种协议在某段时间表现变差时,可以在应用内切换到另一种协议试试。
提供 IEPL / IPLC 专线接入。
写在最后
协议没有”永远可用”的答案。选协议时,先看你的网络对 TCP 和 UDP 的表现,再看客户端是否支持,最后准备一两个备用协议。这样一种协议暂时变差时,你还有其他选择。
参考来源
- anytls/anytls-go 项目说明与 FAQ,GitHub,2026 github.com/anytls/anytls-go
- sing-box 文档:AnyTLS 入站/出站(自 1.12.0 起)与更新日志 sing-box.sagernet.org
- mihomo v1.19.3 发布说明(feat: implement anytls client and server)github.com/MetaCubeX/mihomo
- Xray 文档:VLESS 出站配置 xtls.github.io
- Hysteria 2 官方文档:首页、端口跳跃、完整服务端配置(Salamander)
- XTLS/Xray-core PR #5907 “Proxy: Add AnyTLS protocol”(已关闭,未合并)github.com/XTLS/Xray-core
- 2dust/v2rayN 7.14.0 发布说明(支持 anytls 配置)github.com/2dust/v2rayN
- 2dust/v2rayNG issue #5764 github.com/2dust/v2rayNG
- GFW Report,《中国的防火长城是如何检测和封锁完全加密流量的》,USENIX Security 2023 gfw.report
- Shadowsocks SIP022 规范 shadowsocks.org
- XTLS/REALITY 项目说明 github.com/XTLS/REALITY
- sing-box 文档:AnyTLS 客户端元数据 sing-box.sagernet.org