Shadowsocks、VLESS、Trojan 和 Hysteria 2 都会让你的流量经过一台远程服务器,但隐藏流量的方式各不相同。 Shadowsocks 把一切加密成没有可识别特征的字节;Trojan 和 VLESS + REALITY 用 TLS 包裹流量,让它看起来像 HTTPS;Hysteria 2 则运行在 QUIC(HTTP/3 背后基于 UDP 的协议)之上。哪个最好,取决于你的网络、你的服务器,以及服务商提供什么。
本文用一张表比较你最可能遇到的七类协议,然后给出简短的“这种情况选它”建议,并附上每种协议的详解文章和 iPhone 教程链接。
代理协议对比一览
| 协议 | 传输 | 加密 | 看起来像 | UDP | 典型用途 |
|---|---|---|---|---|---|
| Shadowsocks | TCP、UDP | 自有加密(AEAD 或 2022) | 随机字节,没有握手 | 支持,原生 | 简单的自建服务器,支持广泛 |
| VMess | TCP,或 WebSocket / gRPC,可选 TLS | 自有加密(AES-GCM、ChaCha20) | 随机字节,搭配 TLS 时像 HTTPS | 支持 | 较早的 V2Ray 部署,套 CDN |
| VLESS(+ REALITY) | TCP,或 WebSocket / gRPC / XHTTP | TLS 或 REALITY(自身无加密) | 访问真实网站的 HTTPS | 支持 | 新式 Xray 服务器,用 REALITY 不需要域名 |
| Trojan | TCP + TLS,可选 WebSocket / gRPC | TLS | HTTPS | 支持,经 TLS | 有自己域名和证书的服务器 |
| Hysteria 2 | UDP 上的 QUIC | QUIC 内的 TLS 1.3 | HTTP/3,开启混淆后则被打乱 | 支持,QUIC 数据报 | 长距离或丢包线路 |
| AnyTLS | TCP + TLS | TLS,外加填充 | HTTPS | 支持,UDP over TCP | 能隐藏“TLS 套 TLS”大小特征的 TLS 代理 |
| SOCKS5 / HTTP | TCP(SOCKS5 也支持 UDP) | 无,除非走 TLS | 普通代理 | SOCKS5 支持,HTTP 不支持 | 可信网络、局域网、公司代理 |
表中几个术语的含义:
- 传输指协议运行在什么之上。基于 TCP 的协议会按顺序重传丢失的数据包;QUIC 按连接分别处理丢包,在差的线路上恢复得更快。
- 看起来像指网络上的观察者大致能看到什么。看起来像 HTTPS 会让流量更难被识别,但并不会让它隐形。
- UDP 对语音和视频通话、许多游戏以及 QUIC 都很重要。有些客户端(包括 Potatso)对部分协议默认关闭 UDP,需要你自己打开。
Shadowsocks、VLESS、Trojan、Hysteria 2 逐个看
Shadowsocks
Shadowsocks 用共享密码和一种加密方式加密每个连接,直接通过 TCP 或 UDP 发送。它没有可识别的握手,这是它的优势,也恰恰是它可能被发现的原因:流量看起来不像任何东西。现代服务器使用 AEAD 或 2022 加密方式。可选的插件可以增加混淆或 ShadowTLS 等伪装。
请阅读 Shadowsocks 是什么?和 iPhone 怎么用 Shadowsocks。
VMess 和 VLESS
两者都出自 V2Ray 家族。VMess 有自己的加密,以及基于 UUID 的认证。VLESS 是它更轻量的继任者:去掉了 VMess 的加密,改为依靠 TLS 或 REALITY。REALITY 让服务器借用一个真实网站的 TLS 证书,所以你不需要域名;Vision 流控则隐藏代理 HTTPS 流量中“TLS 套 TLS”的特征。
请阅读 VMess 和 VLESS 的区别、VLESS REALITY 是什么?和 iPhone 配置 VLESS REALITY 教程。
Trojan
Trojan 用密码运行在一条标准的 TLS 连接中,看起来就像一次访问你服务器域名的 HTTPS 请求。它简单、支持广泛,但需要一个域名和有效证书,或者使用 REALITY。可选的 WebSocket 或 gRPC 传输方式能让它放在 CDN 后面。
请阅读 Trojan 代理是什么?和 iPhone 怎么用 Trojan。
Hysteria 2
Hysteria 2 运行在 QUIC 上,所以在丢包网络上也能保持速度,而且许多连接共享同一条 QUIC 连接。它的弱点就在 UDP 本身:有些网络会限速或封锁 UDP,端口跳跃以及 Salamander、Gecko 混淆正是为此准备的。
请阅读 Hysteria2 是什么?和 iPhone 使用 Hysteria2 教程。
AnyTLS
AnyTLS 是一个较新的基于 TLS 的协议,anytls-go、sing-box 和 mihomo 都支持它。和 Trojan 一样,它在 TLS 内使用密码。它增加了填充,用来隐藏“TLS 套 TLS”的数据包大小,并复用空闲的 TLS 连接以减少握手。目前提供它的服务商比其他协议少。
请阅读 AnyTLS 是什么?和 iPhone 使用 AnyTLS 教程。
SOCKS5 和 HTTP
这两种是通用的代理协议,设计上并不是为了隐藏什么。除非使用 TLS 上的 SOCKS5 或 HTTPS 代理,否则它们不会加密你到代理的连接。不管哪种情况,你访问的 HTTPS 网站都仍是端到端加密的。HTTP 代理只承载 TCP;SOCKS5 可以转发 UDP。
请阅读 SOCKS5 和 HTTP 代理的区别和 iPhone 怎么用 SOCKS5 代理。
2026 年哪个代理协议最好?
没有适合所有人的赢家。先看你的服务器或服务商支持什么,再参考下面的建议。
这些情况选 Shadowsocks: 你想要最简单的配置,你用一行脚本搭建自己的服务器,或者你需要几乎所有 App 都支持的协议。请使用 2022 或 AEAD 加密方式。
这些情况选 VLESS + REALITY: 你想让流量看起来像 HTTPS,却没有域名,或者服务商推荐它。它是新式 Xray 服务器上最常见的选择。
这些情况选 Trojan: 你有带证书的域名,想要一个简单、成熟的 TLS 代理,或者需要通过 WebSocket 在服务器前面套一层 CDN。
这些情况选 Hysteria 2: 你到服务器的线路距离远或经常丢包,而且你的网络上 UDP 很好用。
这些情况选 AnyTLS: 你想要一个用密码认证的 TLS 代理,你的服务器运行 sing-box、mihomo 或 anytls-go,而且你在意隐藏“TLS 套 TLS”的大小特征。
这些情况选 VMess: 服务商只提供它。新搭服务器的话,VLESS 是更新的选择。
这些情况选 SOCKS5 或 HTTP: 你在一个信任的网络上,比如家庭实验室或办公室,或者你需要连接公司代理。在其他地方请优先使用它们的 TLS 版本。
手上不止一种? 你不必只选一种。有了订阅,就可以把不同协议的服务器放进一个“故障转移”或“最快”代理组,App 会自动使用当下表现最好的那一台。
比协议更重要的因素
- 到服务器的线路。 一台距离近、不拥堵、网络连接良好的服务器,通常胜过线路很差的“更快”协议。
- 你的设置。 加密方式、服务器名称或证书固定值填错,任何协议都会失效。关闭证书验证会削弱所有基于 TLS 的协议。
- 服务端软件。 有些功能只在特定服务端上可用。例如 AnyTLS 搭配 REALITY 是 sing-box 的功能。
在 iPhone 上使用这些协议
Potatso 是一款适用于 iPhone 和 iPad 的免费代理客户端,兼容 Mihomo/Clash,支持上面所有协议,另外还支持 ShadowsocksR 和 Snell。你可以通过分享链接、二维码、Clash 或 Mihomo 订阅或手动输入来添加服务器。
如果服务商给了你一个包含很多服务器的订阅,请先阅读代理订阅是什么?和 Clash 订阅怎么导入 iPhone。每种协议支持的全部设置见文档中的协议参考,例如 VLESS、Trojan 和 Hysteria 2 页面。
常见问题
- 2026 年哪个代理协议最好?
- 没有唯一最好的协议。想让流量看起来像普通 HTTPS,可以选 VLESS + REALITY、Trojan 或 AnyTLS;在长距离或丢包严重的线路上,Hysteria 2 表现突出;Shadowsocks 最简单,支持也最广。具体怎么选,取决于你的网络,以及你的服务器或服务商提供什么。
- VLESS 比 Shadowsocks 快吗?
- 协议本身并不更快。VLESS 没有自己的加密,依靠 TLS 或 REALITY;Shadowsocks 则用自己的加密方式加密,两者在现代设备上的开销都很小。实际使用中,到服务器的线路和你的网络比协议重要得多。
- 哪个代理协议最难被检测?
- 运行在 TLS 内的协议,如 VLESS + REALITY、Trojan 和 AnyTLS,看起来像普通的 HTTPS,比没有可识别握手的协议更难被识别。没有哪种协议是无法检测的,各协议的表现也取决于具体网络。
- SOCKS5 有加密吗?
- 没有。普通的 SOCKS5 和 HTTP 代理不会加密你到代理之间的流量,不过 HTTPS 网站本身仍然是端到端加密的。在不信任的网络上,请使用 TLS 上的 SOCKS5、HTTPS 代理或加密协议。
- 哪些协议支持 UDP?
- Shadowsocks、VMess、VLESS、Trojan、Hysteria 2、AnyTLS 和 SOCKS5 都能承载 UDP,通话和游戏都需要它。HTTP 代理只能承载 TCP。其中只有 Hysteria 2 本身运行在 UDP 上。