
如果你刚在 VPS 上把 sing-box 装起来,下一个问题多半是:教程给了三个协议——VLESS+Reality、Hysteria2、VMess+WS——到底该用哪个?这篇文章就来回答它。
先补背景:sing-box 是新一代代理内核,服务端和客户端都用同一份 JSON 配置。VLESS、Hysteria2、VMess 是"代理协议"(管封装和认证),Reality、WS 是"传输层"(管流量在网线上长什么样)。组合起来,就是你看到的各种"节点类型"。
实测基础:我在自己的 VPS 上同时部署了这三个组合(443/TCP 的 VLESS+Reality、443/UDP 的 Hysteria2、8080 的 VMess+WS),日常都在用。下面是结论。
VLESS+Reality:主力中的主力
Reality 是这几年最有意思的一个传输技术。它的原理一句话概括:服务端直接伪装成某个真实存在的大网站(比如微软、苹果的官网),客户端连上来时,整个 TLS 握手和那个真实网站一模一样,连证书都是"借"来的。
这意味着两件事:第一,你不需要域名、不需要申请证书,省掉了建站环节里最烦的一步;第二,从审查者的视角看,你的流量就是一次普通的 HTTPS 访问,没有任何代理特征。
VLESS 本身则是一个极简的代理协议:只做身份认证,不做加密(加密交给 TLS 层)。组合起来,VLESS+Reality 就是目前"隐蔽性最好、配置最省事"的主力方案。
适合谁:绝大多数人。特别是你的网络环境对代理流量比较敏感,或者你不想折腾域名和证书的时候。
坑点:Reality 有几个参数必须两边严格对齐——伪装目标(serverName)、公钥(publicKey)、客户端指纹(fingerprint,一般用 chrome)。任何一个对不上,握手直接失败,而且日志里只会看到一句干巴巴的连接中断。排错时先对这三个参数。
Hysteria2:弱网环境的速度选手
Hysteria2 走的是 UDP 443,底层基于 QUIC 协议。它的设计目标很明确:在丢包率高、延迟抖动的网络里依然跑得快。QUIC 把拥塞控制做在了用户态,不用等操作系统内核的 TCP 重传,弱网下体感提升很明显。
但它有个现实的短板:有些线路会对 UDP 限速或直接丢包。UDP 443 在某些网络环境下会被 QoS 针对,这时候 Hysteria2 反而比 TCP 协议更慢、更不稳定。所以它不是" universally 更快",而是"在 UDP 通畅的弱网环境里更快"。
适合谁:你的宽带/手机网络本身丢包明显(比如晚高峰刷视频都卡),但 UDP 没有被限速。怎么判断?很简单:装上之后实际用几天,打开视频、传个大文件,体感会告诉你答案。
坑点:需要证书,自签名最省事(客户端配 insecure: true 或 pin 指纹),记得把证书文件权限收紧。
VMess+WS:兼容性老将,正在退役
VMess 是 V2Ray 时代的主力协议,WS 传输可以套 CDN(需要域名)。这个组合最大的优点是兼容性:几乎所有客户端都支持,443 端口走 WebSocket 套一层 CDN 之后,从外面看就是普通的网站流量。
但它的时代正在过去。VMess 协议本身的设计已经有些年头,加密和握手方式都不如 VLESS 简洁;sing-box 官方文档也把 VMess 归为 legacy(历史遗留)协议。新部署不建议再以它为主力,留着当备用兼容方案即可。
适合谁:你手头有个老客户端只支持 VMess,或者你已经有域名+CDN 想套一层。其他情况,优先选上面两个。
对比速览
| VLESS+Reality | Hysteria2 | VMess+WS | |
|---|---|---|---|
| 传输 | TCP 443 | UDP 443 | TCP(可套 CDN) |
| 隐蔽性 | 极高(伪装真实网站) | 高(QUIC 流量) | 高(套 CDN 后) |
| 需域名/证书 | 不需要 | 需要证书(可自签) | 需要域名+证书 |
| 弱网表现 | 稳 | 优秀(UDP 通畅时) | 一般 |
| 配置复杂度 | 中(参数要对齐) | 中 | 低 |
| 定位 | 主力 | 弱网备选 | 兼容备用 |
我的实战建议:三个都配,客户端自动选
实际用下来,最省心的方案不是"三选一",而是服务端三个都开,客户端用自动测速组。
sing-box 客户端支持 urltest 类型的出站组:你把三个节点都扔进去,它会定期测速,自动走延迟最低的那个;某个节点挂了,它会自动切到下一个。这样你既不用纠结选哪个,也不用在网络环境变化时手动切换。
一个 urltest 出站长这样(填你自己的节点 tag):
{
"type": "urltest",
"tag": "auto",
"outbounds": ["vless-reality", "hy2", "vmess-ws"],
"url": "https://www.gstatic.com/generate_204",
"interval": "10m"
}
几点实战经验:
- Reality 的伪装目标选全球级大站,小众网站的 TLS 指纹反而容易露馅。
- 端口规划:VLESS+Reality 和 Hysteria2 可以同占 443(TCP/UDP 互不冲突),VMess+WS 另起端口。
- 客户端指纹保持默认,Reality 要求声明的指纹与服务端一致,别乱改。
- 留一个直连出站,国内网站走直连,省延迟也省流量。
小结
- 想省事、隐蔽性拉满:VLESS+Reality 当主力。
- 网络丢包严重且 UDP 通畅:Hysteria2 当主力或备选。
- 老客户端兼容:VMess+WS 留着备用,新部署不建议主力。
- 最佳实践:三个都部署,客户端 urltest 自动选,挂了自动切。
如果你还没部署服务端,可以先看这篇总纲:《sing-box 一篇讲透:部署、订阅转换、排错与配置检查》,里面有从零部署的完整流程和排错方法;部署过程中踩过的坑(比如 multiplex 配置被新版校验拒绝)也单独记录过:《sing-box multiplex 三次翻车记录》。看完那篇再回来看这篇,选协议就心里有数了。
提醒:以上结论基于我自己的 VPS 和网络环境实测。不同线路、不同运营商的表现会有差异,建议你都装上实际用几天,用体感做最终决定——这是唯一靠谱的"测速"。
