Skip to content

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 服务端同时扮演两个角色:

  1. 真实 HTTPS 服务器:处理非 Trojan 流量(访客看到的是正常网页)
  2. 代理服务端:处理携带 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)

六、四协议全面对比 ​

对比维度ShadowsocksVMessVLESSTrojan
设计年代2012201720202019
协议层加密✅ 自加密✅ 自加密❌ 依赖 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 项目。