代理协议解决的核心问题是:怎么把你的流量伪装或加密,让它能穿过网络中间的检测,同时保证传输效率。不同协议在"安全性"、"速度"和"抗封锁能力"之间做了不同取舍,没有绝对的"最好",只有"适合当前场景"。

五种协议速览

协议底层传输特点
Shadowsocks TCP / UDP + 简单加密 历史最久、实现轻量、速度快,但流量特征相对容易被识别
VMess TCP / WebSocket / mKCP V2Ray 生态的原生协议,支持流量伪装,配置项较多
VLESS TCP + TLS,常搭配 XTLS 比 VMess 更轻量,去掉了内置加密(依赖外层 TLS),搭配 XTLS 时性能优势明显
Trojan TCP + TLS 把自己伪装成正常的 HTTPS 流量,识别难度较高,依赖真实域名证书
Hysteria2 基于 QUIC(UDP) 抗丢包与抗弱网能力强,冷启动速度快,对不稳定网络环境更友好

速度与抗封锁能力怎么权衡

一般来说,协议栈越"轻"(加密与封装步骤越少),速度越快,但也越容易被流量分析工具识别出特征;协议做的伪装越"重"(比如完整模拟 HTTPS 握手),抗封锁能力越强,但会有额外的性能开销。

协议只是"怎么传输"的一层,真正决定你能不能稳定使用的,往往是机房线路质量和节点数量——协议选型能优化的是"上限",线路质量决定的是"下限"。

Clash / Mihomo 都支持吗

以上五种协议,Mihomo 内核(也就是当前 Clash 生态使用的核心)均已原生支持,你不需要额外安装插件。订阅链接导入后,客户端会自动识别每个节点使用的协议类型,你只需要关心节点是否可用、延迟是否合适,协议层面的细节机场那边已经处理好了。

如果你是自己搭建服务端(而不是使用机场订阅),协议选择就需要结合自己的场景权衡:追求速度选 Shadowsocks 或 VLESS + XTLS,追求抗封锁选 Trojan 或 Hysteria2,网络环境不稳定优先考虑 Hysteria2。

普通用户需要关心到什么程度

如果你只是使用机场提供的订阅,并不需要深入理解每种协议的实现细节——机场已经帮你选好了协议和线路组合。真正需要关心的是:同一个机场如果同时提供多种协议的节点,可以在网络环境较差时切换到 Hysteria2 之类抗弱网能力强的协议试试,往往能带来体验上的明显差异。

怎么看出订阅里的节点用了什么协议

订阅链接导入 Clash 后,节点名称通常会带有协议或线路的提示信息,但最准确的方式还是打开配置文件(或者在客户端的节点详情里)直接查看。以 Mihomo 的配置格式为例,每个节点都有一个 type 字段,取值就是 ssvmessvlesstrojanhysteria2 之一,一眼就能看出这个节点用的具体协议:

node.yaml
- name: HK-01
    type: trojan
    server: example.com
    port: 443

如果你手上只有订阅链接、没有解析后的明文配置,也可以先把订阅导入客户端,再在节点列表里查看详情——大多数图形客户端都会展示每个节点的协议类型,不需要手动解码订阅内容。

混淆与传输层伪装:能不能叠加使用

前面提到的"抗封锁能力"主要取决于协议本身的流量特征,但实际部署时,协议往往还会搭配额外的传输层伪装一起使用,进一步降低被识别的概率:

对于普通用户来说,这些传输层细节同样是机场已经处理好的部分,不需要自己动手配置。了解这些名词的意义在于:当你看到订阅里节点名称带有"WS"、"gRPC"、"XTLS"这类标注时,能知道它们大致对应的是传输层伪装方式,而不是完全不同的协议。

不确定该选哪种协议时怎么办

如果一时无法判断哪种协议更适合当前网络环境,最实际的做法不是纠结理论上的优劣,而是直接测试。同一个机场往往会提供多种协议的节点组合,可以分别用 url-test 策略组测速对比延迟与稳定性,几分钟就能得到直观的结论,比反复查资料更有效率。