Skip to content

Reality 协议详解:免证书借道伪装新一代技术原理与配置实战 ​

REALITY 是由 Xray-core 开发团队于 2023 年推出的一项颠覆性传输安全层技术。它彻底解决了自建节点最大的痛点——购买个人域名、配置并周期性续签 SSL/TLS 证书,以及自购域名因访问特征异常极易被列入审查黑名单的问题。REALITY 通过巧妙的“借道伪装”机制,直接将目标借用为真实合规的国际知名大厂(如苹果、微软、亚马逊或 Cloudflare)的公钥证书。当审查设备进行中间人重放或主动探测时,看到的是毫无破绽的全球顶尖网站证书,从而实现了当前公网直连场景下的抗封锁极限。


一、REALITY 的核心技术原理:如何实现“偷天换日”? ​

传统的 TLS 伪装(如 Trojan 协议 或标准 VLESS-TLS)需要服务端持有对应域名的真实私钥。如果没有对应私钥,服务端就无法完成 TLS 握手。REALITY 是如何打破这一铁律的?

1. 密钥对握手与认证拦截机制 ​

REALITY 并不是真正去破解大型网站的私钥,而是利用了现代 TLS 1.3 协议和 X25519 密钥交换的设计特性:

  1. 预共享临时密钥对:部署 REALITY 服务端时,节点管理员会生成一对 X25519 专有公私钥(PrivateKey 与 PublicKey),以及一串校验短 ID(ShortId)。
  2. 握手注入与识别:
    • 当合规客户端(如已配置该公钥的 v2rayN 或 Clash Verge)发起连接时,它在 TLS Client Hello 的随机数和扩展字段中,使用目标网站的真实 SNI(如 gateway.icloud.com),同时利用预共享的 PublicKey 进行认证数据加密。
    • REALITY 服务端在 443 端口监听到流量后,使用自己的 PrivateKey 尝试解密。如果验证身份成功,服务端在 TLS 握手阶段与客户端直接建立专有的加密隧道,数据进入代理通道。
  3. 借道转发与中间人消除(真实借道):
    • 如果来访流量是未携带密钥的普通访客、爬虫或防火墙主动探测系统,REALITY 服务端会原封不动地将整个 TCP/TLS 会话双向盲转发给真实的目标大厂服务器(如苹果官方服务器)。
    • 探测系统收到的证书、握手签名乃至后续返回的 HTTP 网页,均由真实的官方服务器返回。探测器无论是对比证书哈希、证书链、TLS 指纹还是测试网络延迟,得到的结果都完全等同于直接访问官方大厂。
[合规客户端] ──(携带 PublicKey 认证)──► [REALITY 服务端 :443] ──► 校验成功 ──► 进入 VLESS 代理网络
                                                │
[审查主动探测] ──(普通探测/扫描)───────► [REALITY 服务端 :443] ──► 盲转发 ──► [真实苹果/微软服务器]
                                                                        (返回 100% 官方真实证书与页面)

二、REALITY 相比传统 TLS 方案的压倒性优势 ​

维度对比传统 VLESS / Trojan + 自建 TLSVLESS + REALITY 借道伪装
域名依赖必须自行购买域名,域名易被针对性阻断零域名依赖,免买域名,无续费成本
证书管理需配置 ACME / Certbot 申请并定时续签零证书维护,直接借道目标站点证书
主动探测防御回落至本地自建静态网页,易暴露指纹差异盲转发至国际知名大厂,指纹与大厂完全一致
部署门槛需配置 DNS 解析、开放 80 端口验证、Nginx 反代单一 Xray 二进制即可完成全部配置,极简极速

三、生产环境服务端与客户端配置实战 ​

REALITY 通常必须与轻量级无状态的 VLESS 协议 协同工作。

1. 生成 REALITY 专有密钥 ​

在部署前,通过 Xray 命令行生成专属公私钥对:

bash
xray x25519
# 输出示例:
# Private key: eNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxw=
# Public key:  fMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyk=

同时生成一个或多个随机短 ID(8 到 16 位的十六进制字符串):

bash
openssl rand -hex 8
# 输出示例: 7a8b9c0d1e2f3a4b

2. 服务端配置模板(Xray JSON) ​

json
{
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "a90df182-358a-4d2c-9a4f-51a89c3bc891",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "dest": "gateway.icloud.com:443",
          "xver": 0,
          "serverNames": [
            "gateway.icloud.com"
          ],
          "privateKey": "eNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxw=",
          "shortIds": [
            "7a8b9c0d1e2f3a4b"
          ]
        }
      }
    }
  ]
}

3. 客户端出站配置模板(Xray JSON) ​

json
{
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "198.51.100.23",
            "port": 443,
            "users": [
              {
                "id": "a90df182-358a-4d2c-9a4f-51a89c3bc891",
                "flow": "xtls-rprx-vision",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "fingerprint": "chrome",
          "serverName": "gateway.icloud.com",
          "publicKey": "fMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyk=",
          "shortId": "7a8b9c0d1e2f3a4b",
          "spiderX": "/"
        }
      }
    }
  ]
}

四、目标借道域名(Dest/SNI)筛选黄金准则与避坑清单 ​

配置 REALITY 最核心的技术环节就是借道目标站点(Dest)的选择。若选错目标,可能导致握手直接失败或反而引起审查关注:

  1. 必须支持 TLS 1.3 与 HTTP/2:
    • 目标站点必须能够原生完成 TLS 1.3 握手并支持 ALPN(h2)。可通过终端命令检测:
      bash
      curl -I -v --tlsv1.3 https://gateway.icloud.com
  2. 严禁选择中国大陆境内存有 CDN 节点的域名:
    • 如果所选域名在国内存在 CDN 节点(例如某些国际快餐品牌或跨国电商的中国分站),其解析出来的 IP 与握手行为可能被国内防火墙特殊监控,甚至导致客户端直接与国内节点连接失败。
  3. 客户端指纹必须与主流浏览器严格一致:
    • 在客户端配置中,fingerprint 参数必须显式指定为 chrome、firefox 或 safari(基于 uTLS 技术模拟真实浏览器的 Client Hello 扩展排列与加密套件)。留空或随意填写会导致指纹特征暴露。
  4. 服务器物理链路与目标站点的延迟匹配:
    • 最佳实践是挑选物理机房临近目标服务器的站点(例如美国西海岸 VPS 借道加利福尼亚大厂节点),确保盲转发时的 TLS 回落时延自然可信。

延伸阅读与技术关联 ​