Project X 文档集
Xray-core 网络代理平台与 REALITY TLS 伪装协议的完整技术文档。二者构成一个完整的反审查通信工具链——Xray-core 负责代理流量,REALITY 负责将代理流量伪装为普通 HTTPS 流量。
快速导航
入口导读
| 文档 | 说明 |
|---|---|
| 阅读指南 | 按角色的推荐阅读顺序 |
| 快速上手 | 编译、密钥生成、最小配置、验证 |
| 架构概览 | 整体设计、模块职责、数据流、REALITY 位置 |
背景知识
| 文档 | 说明 |
|---|---|
| 密码学基础 | ECDH、Ed25519、HMAC、HKDF、AEAD |
| TLS 1.3 协议深入 | ClientHello 结构、Record 层、密钥调度 |
| GFW 主动探测及封锁机制 | 被动检测与主动探测 |
| 深度包检测(DPI)机制 | Algorithm 1 五条豁免规则 |
| Geedge Networks TSG 网关 | 2025 年泄露文件分析 |
| 常见中间人攻击方案 | TLS 拦截代理、证书链攻击 |
| TLS 指纹(JA3/JA4) | 指纹算法与 uTLS 模拟 |
| Encrypted Client Hello | ECH 与 REALITY 的差异 |
| QUIC 协议 | QUIC 传输与 GFW 审查 |
| TLS-in-TLS 检测与规避 | 嵌套隧道检测与 XTLS 分流 |
| 代理和 VPN 协议概述 | SOCKS5、HTTP、WireGuard、IPSec |
核心协议
| 文档 | 说明 |
|---|---|
| REALITY 协议 | 完整握手流程、认证体系、证书验证 |
| VLESS 协议 | 无状态代理、Flow 流控、Fallback |
| VLESS 后量子加密层 | ML-KEM-768 + X25519、0-RTT |
| VMess 协议 | AEAD 认证头、KDF 密钥树、双层加密 |
| Trojan 协议 | TLS 伪装、密码哈希、回落 |
| Shadowsocks 协议 | AEAD 子密钥、Drainer 防探测 |
| XTLS 流控机制 | Splice 零拷贝、Vision 填充 |
传输机制
| 文档 | 说明 |
|---|---|
| 数据包伪装系统(Finalmask) | 16 个子模块:载荷混淆、外观伪装、载体传输、流量混淆 |
源码分析
| 文档 | 说明 |
|---|---|
| 源码导读入口 | 完整项目覆盖清单、模块学习卡片 |
| REALITY 客户端源码走读 | UClient 函数逐行拆解 |
| REALITY 服务端源码走读 | 握手流程、临时证书、记录检测 |
参考
| 文档 | 说明 |
|---|---|
| 配置参考 | Inbound/Outbound/Transport/REALITY 全部字段 |
一句话定义
Xray-core 是一个通用的网络代理平台,支持多种入站和出站代理协议,具备灵活的路由、DNS、传输伪装和反审查能力。REALITY 是其关键扩展——通过 fork Go crypto/tls 库,在 TLS 1.3 握手中嵌入认证信息,使代理流量对外表现为普通 HTTPS 流量。
核心工作流
客户端 → [REALITY TLS 伪装握手] → 服务端 Inbound → [VLESS 协议解析] → [路由决策] → Outbound → 目标- 客户端使用 uTLS 模拟浏览器指纹,在 TLS ClientHello 的 Session ID 中嵌入加密的认证信息
- 服务端 REALITY 识别 Session ID → 认证通过签发临时证书 / 认证失败转发到目标网站(回落)
- VLESS 入站解析代理请求 → Dispatcher 路由 → 出站建立到目标的连接