VLESS 与 Trojan 协议详解 - 原理、强弱与适用场景
广告与利益披露:本页面包含机场服务商的推广链接,点击并购买后本站可能获得佣金。所有推荐均基于实际测试,不受商业关系影响。请读者结合自身需求独立判断。
一、背景:为什么需要了解协议
代理协议是机场服务的核心技术基础。选择合适的协议,直接影响:
- 抗封锁能力:流量特征是否容易被识别和封锁
- 传输性能:协议本身的加密/处理开销
- 延迟表现:握手次数、头部大小对延迟的影响
- 配置复杂度:服务端部署和客户端配置的难易程度
2025 年,主流机场采用的协议栈以 VLESS(尤其是 VLESS + REALITY)、Trojan、Hysteria2 为主,逐渐取代了早期的 Shadowsocks 和 VMess。
二、Shadowsocks:奠基者
在正式介绍 VLESS 和 Trojan 之前,有必要回顾 Shadowsocks(SS)的设计思路,因为后续所有协议都是在其基础上演进的。
核心思路:将流量加密为随机字节流,使其在统计特征上接近随机噪声,从而难以被识别。
协议结构:
[加密头部][加密的目标地址][加密的用户数据]主要弱点:
- 随机字节流本身就是特征(与 HTTPS 等正常流量明显不同)
- 早期版本存在流量重放攻击漏洞
- 缺乏多路复用,高并发性能差
三、VMess:V2Ray 的核心协议
VMess 是 V2Ray 项目的核心传输协议,于 2017 年前后广泛使用。
设计改进:
- 引入 UUID 认证机制(替代简单密码)
- 支持多种传输层:TCP、WebSocket、gRPC、HTTP/2
- 引入「时间戳」验证防止重放攻击
协议结构:
[版本][UUID认证头][时间戳][目标地址][用户数据]主要弱点:
- 头部结构复杂,协议本身有明显指纹特征
- 时间依赖(客户端与服务端时间差超过 90 秒则认证失败)
- 加密算法部分冗余(aes-128-cfb、chacha20-poly1305),增加复杂度
四、VLESS 协议深度解析
4.1 诞生背景
VLESS(V-LESS,即「精简的 V」)由 V2Ray 社区在 2020 年提出,目标是去除 VMess 中不必要的加密层,转而依赖传输层加密(TLS)提供安全保障。
4.2 工作原理
VLESS 的核心设计哲学:协议本身不加密,安全性完全交给 TLS。
┌─────────────────────────────────────┐
│ TLS 1.3 加密层 │ ← 提供安全性(流量加密)
├─────────────────────────────────────┤
│ VLESS 协议层 │ ← 极简头部(UUID + 版本号)
│ [1字节版本][16字节UUID][目标地址] │
├─────────────────────────────────────┤
│ 用户数据(原始) │ ← 不再二次加密
└─────────────────────────────────────┘关键特点:
- 零额外加密:用户数据在 TLS 保护下直接传输,无双重加密开销
- 极简头部:头部仅 18 字节(1字节版本 + 16字节UUID + 1字节附加信息长度)
- XTLS 支持:VLESS 是唯一支持 XTLS(交叉 TLS)的协议,可直接传递内层 TLS 数据而无需解密重加密
4.3 XTLS / Vision 流控
XTLS Vision 是 VLESS 的杀手级特性:
当代理的目标本身就是 HTTPS 网站时,外层 TLS 握手完成后,内层 TLS(目标网站的 TLS)直接透传,服务端无需解密内层 TLS。
效果:
- CPU 开销减少约 30–50%(省去内层解密/重加密)
- 流量特征从「TLS in TLS」变为「纯 TLS」,更难被识别
五、Trojan 协议深度解析
5.1 设计哲学
Trojan(特洛伊)协议的设计思路与 VLESS 截然不同:让代理流量伪装成正常的 HTTPS 流量,而非尝试隐藏自己。
Trojan 的名字来源于「特洛伊木马」——将恶意流量藏在正常 HTTPS 外壳中。
5.2 工作原理
Trojan 服务端同时扮演两个角色:
- 真实 HTTPS 服务器:处理非 Trojan 流量(访客看到的是正常网页)
- 代理服务端:处理携带 Trojan 请求头的代理流量
客户端发送 TLS 握手
↓
服务端完成 TLS 握手(使用真实 SSL 证书)
↓
客户端发送 Trojan 请求头(密码哈希 + 目标地址)
↓
服务端验证密码哈希:
├── 验证通过 → 作为代理转发流量
└── 验证失败 → 返回真实网页内容(欺骗审查者)协议结构:
[56字节SHA-224密码哈希][CRLF][CMD][目标地址][CRLF][数据]5.3 Trojan 的核心优势
- 天然 HTTPS 伪装:在流量层面几乎不可区分于正常 HTTPS 请求
- 服务端主动欺骗:非法探测者访问服务端,得到的是正常网页,无法确认是代理服务器
- 配置简单:无需复杂的传输层配置,依赖域名 + 证书即可
- 无状态:每个连接独立验证,无时间戳依赖问题
5.4 Trojan 的局限性
- 依赖域名和证书:需要一个合法的域名和有效的 TLS 证书(Let's Encrypt 可免费获取)
- 不支持 XTLS:Trojan 协议本身不支持 XTLS Vision 流控
- 服务端配置更复杂:需要配置真实的后端 Web 服务(Nginx/Caddy)
六、四协议全面对比
| 对比维度 | Shadowsocks | VMess | VLESS | Trojan |
|---|---|---|---|---|
| 设计年代 | 2012 | 2017 | 2020 | 2019 |
| 协议层加密 | ✅ 自加密 | ✅ 自加密 | ❌ 依赖 TLS | ❌ 依赖 TLS |
| TLS 伪装 | ❌(需手动 TLS) | ⚠️ 可配置 | ✅ 必须 TLS | ✅ 必须 HTTPS |
| 流量特征 | ⚠️ 随机字节流 | ⚠️ 特征头部 | ✅ 纯 TLS 流量 | ✅ 正常 HTTPS |
| 服务端欺骗 | ❌ | ❌ | ❌(部分实现支持) | ✅ 内置 |
| XTLS 支持 | ❌ | ❌ | ✅ Vision 流控 | ❌ |
| 多路复用 | ⚠️ 需 smux | ✅ 内置 mux | ✅ h2mux / grpc | ⚠️ 需外层支持 |
| UDP 支持 | ✅ | ✅ | ✅ | ⚠️ 有限 |
| 配置难度 | ⭐ 简单 | ⭐⭐ 中等 | ⭐⭐⭐ 较复杂 | ⭐⭐ 中等 |
| 抗封锁能力 | ⭐⭐ 中 | ⭐⭐ 中 | ⭐⭐⭐⭐⭐ 最强(+REALITY) | ⭐⭐⭐⭐ 强 |
| 性能(吞吐量) | ⭐⭐⭐⭐ 高 | ⭐⭐⭐ 中 | ⭐⭐⭐⭐⭐ 最高 | ⭐⭐⭐⭐ 高 |
七、REALITY 扩展详解
7.1 什么是 REALITY
REALITY 是 VLESS 的一个重要扩展,由 xray-core 团队开发,于 2023 年推出。它解决了 VLESS 的最后一个短板:无需真实域名和 SSL 证书,就能实现完美的 TLS 伪装。
7.2 工作原理
REALITY 的核心创新在于借用第三方网站的 TLS 证书:
客户端 代理服务端 第三方网站(如 apple.com)
│ │ │
│── TLS ClientHello ──────►│ │
│ (SNI = apple.com) │── 转发握手包 ─────────►│
│ │◄─ 服务器证书(apple.com)│
│◄── 服务器证书(apple.com)│ │
│ (用 REALITY 私钥签名) │ │
│── 验证证书 ──────────────►│(使用 REALITY 公钥验证) │
│── 开始数据传输 ──────────►│ │关键点:
- 流量中携带的 SNI(服务器名称指示)是真实的知名网站域名(如 microsoft.com、apple.com)
- 证书是借用的真实证书,流量审查设备看到的是「访问 Apple 服务器」
- 只有持有 REALITY 私钥的客户端才能完成真正的握手,安全性有密码学保证
7.3 REALITY 的优势
- 无需购买域名:借用第三方域名,零成本部署
- 无需申请证书:证书由第三方持有,无过期问题
- 极强抗封锁性:封锁代理服务器 IP 会殃及真实的知名网站
- 流量特征完美:与访问真实网站的流量无差异
7.4 配置要点
REALITY 配置中最关键的参数:
serverName:借用的目标域名(选择国内可访问的知名网站,如www.microsoft.com)publicKey/privateKey:REALITY 密钥对(服务端生成,客户端只需公钥)shortId:短 ID,用于区分不同客户端
八、应用场景选择建议
8.1 场景一:最强抗封锁,首选 VLESS + REALITY
推荐配置:VLESS + TCP + TLS + REALITY + Vision 流控
适用场景:
- 网络管控严格的地区
- 对节点稳定性要求高(不希望频繁因封锁而失效)
- 高吞吐量需求(4K 流媒体、大文件传输)
代价:配置较复杂,需要服务端运行 xray-core 并正确配置 REALITY。
8.2 场景二:简单部署,首选 Trojan
推荐配置:Trojan + TLS(域名 + Let's Encrypt 证书)
适用场景:
- 自建节点,追求配置简洁
- 已有域名和证书
- 对抗封锁要求中等(Trojan 流量已较难识别)
代价:需要有效域名和 SSL 证书,域名/IP 被针对封锁时失效。
8.3 场景三:兼容性优先,选 Shadowsocks(新一代)
推荐配置:Shadowsocks 2022 + 2022-blake3-aes-256-gcm
适用场景:
- 兼容老旧客户端(不支持 VLESS/Trojan 的设备)
- 机场批量节点管理(配置简单)
- 对抗封锁要求较低的场景
8.4 场景四:高丢包 / 弱网络环境,选 Hysteria2
适用场景:
- 移动网络(4G/5G),丢包率高
- 跨洲际线路(如美国/欧洲节点)
- 游戏加速(低延迟优先)
详见本站「Hysteria2 协议详解」。
九、总结
| 你的需求 | 推荐协议 |
|---|---|
| 最强抗封锁 | VLESS + REALITY |
| 简单部署 + 良好伪装 | Trojan + TLS |
| 最高吞吐量 | VLESS + XTLS Vision |
| 老设备兼容 | Shadowsocks |
| 弱网 / 高丢包 | Hysteria2 |
2025 年,VLESS + REALITY 已成为自建节点的事实标准,而大多数优质机场也已全面支持 VLESS 和 Trojan 节点。选择机场时,节点协议类型是评估其技术水平的重要指标之一。
本文最后更新:2025 年。协议技术持续演进,如有最新进展请关注 xray-core 和 sing-box 项目。