首页/博客/代理协议全面对比

代理协议怎么选?Shadowsocks / VMess / Trojan / Hysteria2 全面对比

节点名称后面常常跟着协议名,但订阅里到底用的是哪种协议、彼此有什么区别,很多人从来没搞清楚过。这篇从加密方式、抗封锁能力、速度表现三个维度拆开对比,帮你理解"为什么同一个服务商会同时提供好几种协议的节点"。

🗓️ 2026 年 7 月 3 日 ⏱️ 阅读约 10 分钟 🔗 相关手册:术语词汇 · 代理协议对比

为什么会有这么多种协议

本质上,所有代理协议解决的都是同一个问题:把你的网络流量加密、伪装,送到服务器再转发出去,同时尽量不被识别为"代理流量"。

但网络审查技术也在持续升级,早期协议的加密特征逐渐被识别,于是社区不断设计新协议来对抗流量特征识别,这才有了从 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
传输层TCPQUIC (UDP)
弱网表现丢包重传成本高,容易卡顿自带拥塞控制优化,弱网下更流畅
常见限制较少被限速部分网络对 UDP 有限速策略,需留意

如果你的网络环境对 UDP 不友好(部分公共 Wi-Fi、企业网络会限制 UDP),Hysteria2 的速度优势可能发挥不出来,这时候换回 TCP 系协议反而更稳。

混淆与二次加密:给协议再套一层伪装

除了协议本身的设计,很多实现还支持在外面再叠加一层混淆或加密,进一步降低被识别的概率:

obfs 混淆插件

  • 常搭配 Shadowsocks 使用,把流量包装成看起来像普通 HTTP/TLS 握手的样子
  • 额外增加一层处理开销,但能有效降低被简单流量识别规则命中的概率

REALITY / XTLS

  • 更新的抗封锁方案,借用真实网站的 TLS 证书握手过程做伪装,几乎无法与访问该网站的正常流量区分
  • 对服务端配置要求更高,但目前抗识别能力在社区评价里普遍较强

这类"协议 + 混淆"的组合通常由订阅服务商在服务端预先配置好,作为普通用户,只需要知道"看到 REALITY / XTLS 之类的名字,大概率是在原协议基础上做了额外的抗封锁增强",不需要自己动手配置。

该怎么选:三个实际判断标准

  1. 先看订阅里实际提供了什么——协议由服务商决定,多数情况下你只能"选节点"而不是"选协议",不用纠结太多。
  2. 速度优先,且网络对 UDP 友好:选 Hysteria2;速度优先但 UDP 受限:Shadowsocks 通常最省心。
  3. 审查压力大的网络环境:优先选 Trojan 或套了 TLS 的 VMess,牺牲一点速度换取更强的抗封锁能力。

在 Clash 配置里,不同协议的节点可以混在同一个 proxy-groups 里,配合url-test 自动测速,让客户端自己挑出当前最快的一个,不需要手动纠结"到底该选哪个协议"。

如果你自己有能力搭建服务器(而不是完全依赖订阅服务商),也可以按这个思路反过来选择:日常使用优先部署 Trojan 或带 REALITY 的实现,兼顾速度与抗封锁能力;再额外准备一两个 Hysteria2 节点作为弱网环境下的备用线路,两者互为补充,而不是非要在其中选出唯一的"最优解"。