代理协议怎么选?Shadowsocks / VMess / Trojan / Hysteria2 全面对比
节点名称后面常常跟着协议名,但订阅里到底用的是哪种协议、彼此有什么区别,很多人从来没搞清楚过。这篇从加密方式、抗封锁能力、速度表现三个维度拆开对比,帮你理解"为什么同一个服务商会同时提供好几种协议的节点"。
为什么会有这么多种协议
本质上,所有代理协议解决的都是同一个问题:把你的网络流量加密、伪装,送到服务器再转发出去,同时尽量不被识别为"代理流量"。
但网络审查技术也在持续升级,早期协议的加密特征逐渐被识别,于是社区不断设计新协议来对抗流量特征识别,这才有了从 Shadowsocks 到 Hysteria2 的演进路线。理解这个"军备竞赛"背景,就能明白为什么没有一种协议是"永远最好"的。
Shadowsocks (SS):老牌轻量协议
最早流行起来的加密代理协议,设计目标是简单、快,实现成本低,几乎所有客户端和平台都原生支持。
优点
- 协议本身极其轻量,加解密开销小,速度快
- 生态最成熟,服务端/客户端实现最多
- 配置简单,只需要
密码 + 加密方式 + 端口
缺点
- 流量特征相对固定,在部分严格审查的网络环境下容易被识别
- 本身不带流量伪装(虽然可以搭配
obfs插件做混淆)
如果你的网络环境审查压力不大,追求速度和稳定性,Shadowsocks 依然是性价比很高的选择。
VMess:V2Ray 生态的核心协议
由 V2Ray 项目提出,在 Shadowsocks 的基础上加入了身份校验(UUID)和更灵活的传输层封装能力,可以套上 WebSocket、gRPC 等多种传输方式,再叠加 TLS 加密,进一步伪装成正常的 HTTPS 网站流量。
VMess 本身是"内层协议",实际抗封锁能力很大程度上取决于外层传输方式的选择——同样是 VMess,裸奔的 TCP 和套了 WebSocket + TLS 的差别非常大。
缺点是配置项相对多(传输方式、路径、TLS 域名等都要对上),出错概率也更高,适合愿意花时间调通配置、追求更强抗识别能力的场景。
Trojan:伪装成 HTTPS 的协议
Trojan 的设计思路更"激进":它直接把自己伪装成一个标准的 HTTPS 服务,TLS 握手、证书都是真实有效的,流量特征和访问正常网站几乎没有区别,审查系统很难仅凭流量特征把它和普通网站访问区分开。
- 需要一个真实域名和有效证书(可以用 Let's Encrypt 免费证书)
- 协议本身设计简单,性能开销比 VMess 的复杂传输封装更小
- 因为"看起来就是个网站",在很多场景下抗封锁表现优秀
对使用者来说,Trojan 节点的配置通常也比 VMess 简单——大部分复杂度都在服务端搭建阶段,客户端只需要地址、密码、域名几项。
Hysteria2:基于 QUIC 的新一代协议
前面几种协议大多基于 TCP,Hysteria2 则是基于 QUIC(UDP)构建的新一代协议,重点解决两个问题:在弱网/高丢包环境下的抗干扰能力,以及更激进的拥塞控制带来的速度提升。
| 特性 | 传统 TCP 系协议 | Hysteria2 |
|---|---|---|
| 传输层 | TCP | QUIC (UDP) |
| 弱网表现 | 丢包重传成本高,容易卡顿 | 自带拥塞控制优化,弱网下更流畅 |
| 常见限制 | 较少被限速 | 部分网络对 UDP 有限速策略,需留意 |
如果你的网络环境对 UDP 不友好(部分公共 Wi-Fi、企业网络会限制 UDP),Hysteria2 的速度优势可能发挥不出来,这时候换回 TCP 系协议反而更稳。
混淆与二次加密:给协议再套一层伪装
除了协议本身的设计,很多实现还支持在外面再叠加一层混淆或加密,进一步降低被识别的概率:
obfs 混淆插件
- 常搭配 Shadowsocks 使用,把流量包装成看起来像普通 HTTP/TLS 握手的样子
- 额外增加一层处理开销,但能有效降低被简单流量识别规则命中的概率
REALITY / XTLS
- 更新的抗封锁方案,借用真实网站的 TLS 证书握手过程做伪装,几乎无法与访问该网站的正常流量区分
- 对服务端配置要求更高,但目前抗识别能力在社区评价里普遍较强
这类"协议 + 混淆"的组合通常由订阅服务商在服务端预先配置好,作为普通用户,只需要知道"看到 REALITY / XTLS 之类的名字,大概率是在原协议基础上做了额外的抗封锁增强",不需要自己动手配置。
该怎么选:三个实际判断标准
- 先看订阅里实际提供了什么——协议由服务商决定,多数情况下你只能"选节点"而不是"选协议",不用纠结太多。
- 速度优先,且网络对 UDP 友好:选 Hysteria2;速度优先但 UDP 受限:Shadowsocks 通常最省心。
- 审查压力大的网络环境:优先选 Trojan 或套了 TLS 的 VMess,牺牲一点速度换取更强的抗封锁能力。
在 Clash 配置里,不同协议的节点可以混在同一个 proxy-groups 里,配合url-test 自动测速,让客户端自己挑出当前最快的一个,不需要手动纠结"到底该选哪个协议"。
如果你自己有能力搭建服务器(而不是完全依赖订阅服务商),也可以按这个思路反过来选择:日常使用优先部署 Trojan 或带 REALITY 的实现,兼顾速度与抗封锁能力;再额外准备一两个 Hysteria2 节点作为弱网环境下的备用线路,两者互为补充,而不是非要在其中选出唯一的"最优解"。