主流翻墙协议对比:SS / VMess / VLESS / Reality / Trojan / Hysteria2
深入对比 Shadowsocks、VMess、VLESS、VLESS+Reality、Trojan、Hysteria2、TUIC 等主流代理协议的原理、加密、伪装策略、抗封锁能力与适用场景,帮你看懂机场用的是什么协议、值不值。
一、协议总览
| 协议 | 传输层 | 加密 | 伪装策略 | 抗封锁能力 | 延迟 | 适用场景 |
|---|---|---|---|---|---|---|
| Shadowsocks (SS) | TCP | AEAD (AES-GCM/ChaCha20) | 无(纯加密流) | 低(已有特征库) | 低 | 遗留/轻量 |
| VMess | TCP/WS/gRPC | AES-128-GCM | 可选 TLS+WS 伪装 | 中 | 中 | V2Ray 生态 |
| VLESS | TCP/WS/gRPC | 依赖外层 TLS | 极轻量头部 | 高(配合 Reality) | 低 | 当前主流 |
| VLESS + Reality | TCP | uTLS + Reality | 伪装成任意 HTTPS 站点 | 极高 | 低 | 推荐首选 |
| Trojan | TCP | TLS 1.3 | 伪装成 HTTPS 流量 | 高 | 低 | 需要域名+证书 |
| Hysteria2 | QUIC/UDP | TLS 1.3 | 伪装成 HTTP/3 | 高 | 极低 | 高带宽/游戏 |
| TUIC | QUIC/UDP | TLS 1.3 | QUIC 协议 | 高 | 极低 | UDP 场景 |
| WireGuard | UDP | Noise 框架 | 无伪装 | 低(UDP 易封) | 极低 | VPN/内网 |
| NaïveProxy | TCP | TLS 1.3 (Chromium) | Chromium 网络栈 | 极高 | 中 | 极端审查环境 |
二、各协议深入分析
2.1 Shadowsocks (SS / SS2022)
原理:
- 客户端与服务器共享预设密码(PSK)
- 流量经 AEAD 加密后直接发送,无协议头、无握手协商
- SS2022 引入了基于时间戳的重放保护和更强的密钥派生
加密:
SS-AEAD: 每个 TCP 连接独立密钥,从 PSK + 盐值派生
支持: AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305
SS2022: 引入 identity header 和 session subkey
密钥: PSK 必须是 Base64 编码的随机字节
线路格式:
TCP 请求:
[盐值 32B][加密载荷长度 2B+16B Tag][加密载荷 NB+16B Tag]
载荷:
[地址类型 1B][目标地址][目标端口 2B][实际数据]
弱点:
- 流量特征明显:每个连接开头有固定长度的盐值
- GFW 已有成熟检测规则(主动探测+流量统计)
- 无伪装能力,纯靠加密
现状: 已过时,仅用于遗留系统。SS2022 改进了安全性但未解决特征问题。
2.2 VMess
原理:
- V2Ray 的原生协议,基于 UUID 认证
- 支持多种传输方式(TCP/WS/gRPC/QUIC)
- 请求头使用 AES-128-CFB 加密,基于时间戳防重放
认证:
1. 客户端和服务端共享 UUID
2. 请求头: HMAC(MD5(UUID), timestamp) 作为认证信息
3. 时间窗口: ±30 秒
头部格式(加密前):
[版本 1B][数据加密IV 16B][数据加密Key 16B][响应认证 1B]
[选项 1B][剩余加密方式][命令 1B][端口 2B][地址类型 1B][地址][随机填充]
传输方式:
| 传输 | 原理 | 特征 |
|---|---|---|
| TCP | 直接 TCP 传输 | 有一定特征 |
| WebSocket | 升级为 WS 连接 | 可配合 CDN |
| gRPC | HTTP/2 多路复用 | 可配合 CDN |
| HTTP/2 | 标准 H2 传输 | 较好伪装 |
弱点:
- 请求头加密使用 AES-128-CFB(已知弱点,被研究者发现可被主动探测)
- 时间戳依赖精确到秒,有重放窗口
- 已被 VLESS 替代
2.3 VLESS(当前主流 TCP 方案)
原理:
- 极简协议,自身不做加密,依赖外层 TLS
- 头部开销极小(仅 UUID + 命令),性能优于 VMess
- 设计目标:让加密归 TLS,协议只负责代理转发
协议格式:
请求:
[版本 1B=0][UUID 16B][附加信息长度 1B][附加信息][命令 1B][端口 2B][地址类型 1B][地址][载荷]
响应:
[版本 1B=0][附加信息长度 1B][附加信息][载荷]
命令: 0x01=TCP, 0x02=UDP, 0x03=Mux
单独使用 VLESS 没有意义,必须配合以下传输方式之一:
VLESS + TLS + WS(经典方案)
客户端 → TLS 1.3 握手 → WebSocket 升级 → VLESS 代理数据
- 需要:域名 + TLS 证书(Let’s Encrypt)
- 优势:可过 CDN(Cloudflare)
- 劣势:需要域名,证书管理
VLESS + Reality(推荐方案)
客户端 → uTLS 模拟 Chrome 指纹 → Reality 握手(伪装目标站点) → VLESS 代理数据
Reality 核心原理:
- 客户端发送 ClientHello,SNI 设为目标伪装站点(如
www.microsoft.com) - 服务端检查 ClientHello 中的特殊标记(基于 x25519 密钥交换嵌入)
- 如果是合法客户端 → 建立真正的加密通道
- 如果是探测流量 → 将连接代理到真实的伪装站点,返回真实证书和内容
为什么 Reality 极难检测:
- 不需要域名和证书
- TLS 指纹与真实 Chrome 完全一致(uTLS)
- 主动探测时返回真实网站内容
- SNI 是合法知名网站
- 被动观察只能看到一个正常的 HTTPS 连接
2.4 Trojan
原理:
- 将代理流量伪装成正常 HTTPS 流量
- 使用真实的 TLS 1.3 握手,拥有合法证书
- 认证方式:SHA224(password) 作为首行明文发送(TLS 加密保护)
协议格式(TLS 解密后):
[SHA224(password) 56B][CRLF][命令 1B][地址类型 1B][地址][端口 2B][CRLF][载荷]
与 VLESS+TLS 的区别:
| Trojan | VLESS+Reality | |
|---|---|---|
| 需要域名 | 是 | 否 |
| 需要证书 | 是(真实证书) | 否 |
| 被主动探测 | 返回伪装网页 | 返回真实网站内容 |
| 性能 | 好 | 更好(无证书开销) |
| 部署难度 | 中(需配置 Nginx+证书) | 低 |
2.5 Hysteria2(当前最快的 UDP 方案)
原理:
- 基于 QUIC(HTTP/3)协议魔改
- 使用自定义拥塞控制算法 Brutal(暴力发包,不遵守 BBR/Cubic)
- 将代理流量伪装成 HTTP/3 流量
核心技术:
-
Brutal 拥塞控制:
- 用户指定期望带宽(如 100Mbps)
- 直接按该速率发送数据,忽略网络拥塞信号
- 在 QoS 限速环境下能”突破”限速
- 代价:会挤占同链路其他流量
-
QUIC 伪装:
- 标准 TLS 1.3 握手
- 看起来像 HTTP/3 流量
- UDP 传输,适合实时场景
认证:
TLS 1.3 握手 → HTTP/3 CONNECT 请求 →
Authorization: Basic base64(password)
Hysteria-CC-RX: 期望下载带宽
Hysteria-Padding: 随机填充
优势:
- 延迟极低(UDP + 0-RTT)
- 带宽利用率高(Brutal 拥塞控制)
- 丢包恢复快(QUIC FEC)
- 适合视频/游戏
劣势:
- UDP 易被运营商 QoS 限速或直接封端口
- Brutal 模式在某些网络下反而更差
- 对 ISP 不友好,可能被定向限速
2.6 TUIC
原理:
- 基于 QUIC 的代理协议
- 专门为 UDP 转发优化(减少 UDP-over-TCP 的 head-of-line blocking)
- 支持原生 UDP 中继(不封装成 TCP)
与 Hysteria2 对比:
| Hysteria2 | TUIC | |
|---|---|---|
| 拥塞控制 | Brutal(暴力) | 标准 QUIC(BBR) |
| UDP 转发 | 封装在 QUIC 流中 | 原生 QUIC datagram |
| 带宽突破 | 可以 | 不行 |
| 网络友好度 | 差 | 好 |
| 稳定性 | 环境依赖大 | 更稳定 |
三、协议选型建议
场景推荐
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 日常翻墙(首选) | VLESS + Reality | 无需域名证书,极难检测,低延迟 |
| 需要过 CDN | VLESS + WS + TLS | 支持 Cloudflare,IP 被封也能用 |
| 高带宽下载/视频 | Hysteria2 | Brutal 拥塞控制,带宽利用率高 |
| 游戏加速 | Hysteria2 或 TUIC | UDP 原生支持,低延迟 |
| 极端审查环境 | VLESS + Reality + XTLS | 最强抗检测 |
| 机场大规模部署 | VLESS + Reality 为主,Hysteria2 备用 | 稳定+高性能 |
部署难度排序
简单 ←————————————————————————————→ 复杂
Hysteria2 > VLESS+Reality > Trojan > VLESS+WS+TLS+CDN > NaïveProxy
(单二进制) (无需域名) (需域名) (需域名+CDN) (需编译)
四、如何看待机场的”私有自研协议”
部分机场会宣传自己的”私有自研协议”,号称比主流协议更抗封锁。从评测角度看,需要冷静拆解:
| 维度 | 典型私有协议 | VLESS+Reality | Hysteria2 |
|---|---|---|---|
| 协议开放性 | 闭源私有 | 开源 | 开源 |
| 加密 | 多为 AES-GCM + 自定义握手 | TLS 1.3 (外层) | TLS 1.3 (QUIC) |
| 伪装 | 多数为纯加密流,无站点伪装 | 伪装成 HTTPS 站点 | 伪装成 HTTP/3 |
| 抗检测原理 | 靠用户基数小、特征未入库 | 靠主动伪装 + 真实 TLS 指纹 | 靠 QUIC / HTTP3 伪装 |
| 可审计性 | 无法独立验证 | 社区充分审计 | 社区充分审计 |
结论: “私有协议”本身不等于”更安全”。多数私有协议是纯加密流,没有主动伪装能力,其”抗封锁”更多来自用户少、特征尚未被收录这一信息不对称,而非密码学或工程上的真正优势。一旦用户规模扩大、特征被采集,纯加密流很容易被识别。相比之下,VLESS+Reality / Hysteria2 这类开源方案的抗检测能力建立在可被审计的工程设计之上,更值得信任。
机场查查在评测中会优先关注协议是否开源可验证、是否具备真实伪装能力,而不是宣传话术。
本文仅作技术原理科普,帮助读者理解代理协议与机场架构。请遵守所在地区法律法规,合理合规使用网络。
相关阅读
直连与中转机场详解:公网中转、BGP、IPLC/IEPL 专线怎么选
一文讲透直连、公网中转、BGP 中转、IPLC/IEPL 专线的链路区别、延迟稳定性、封锁风险与价格定位,并教你如何从延迟表现和 IP 归属判断机场真实架构、识破"虚标专线"。
架构选购2026 机场怎么选?避坑指南 + 选购清单
面对上百家机场如何挑到靠谱的那个?本文从架构、协议、落地、价格、跑路风险五个维度给出一份可操作的机场选购清单,并附上机场查查实测推荐,帮你少花冤枉钱、少踩坑。
测速技术机场测速原理分析:stairspeedtest 与 FullTclash 是怎么测速的
拆解 Telegram 机场测速生态的底层原理,对比 stairspeedtest-reborn 与 FullTclash 的架构差异,讲清楚 TCP Ping、下载带宽、流媒体解锁是如何测出来的,以及用户侧测速与后端侧测速的区别和坑。