机场知识 知识解读

Reality 是什么?无需域名证书的 TLS 伪装技术原理与参数解读

Reality 是 Xray 推出的传输安全层,借用真实网站的 TLS 握手,让代理服务器无需自有域名和证书。本文讲清原理、公钥与 shortId 等参数、VLESS + Reality 组合、局限与客户端支持。

首次发布
最后更新
内容类型
知识解读
资料核对
阅读时间
约 4 分钟

信息可能随服务调整而变化,请以最新官方信息为准。

直接答案

Reality 不是独立的代理协议,而是 Xray 推出的一种传输安全层,用来替代传统 TLS。服务器不需要自己的域名和证书,而是在握手时借用一个真实网站的 TLS 特征:持有正确公钥的客户端能完成认证并建立代理,其他访问者和探测者则会被转交给那个真实网站。它最常与 VLESS 和 Vision 流控组合,即常说的 VLESS + Reality。

定义 Reality
Xray 项目提出的 TLS 替代方案。服务端以某个真实网站为伪装目标,在 TLS 握手过程中用预先分发的密钥对客户端进行认证;认证通过则建立代理连接,否则将连接转发至目标网站,使服务器对外表现为该网站。

Key Takeaways · 要点速览

  • Reality 是传输安全层,不是代理协议,通常与 VLESS 搭配使用。
  • 服务器借用真实网站的 TLS 握手,不需要自有域名和证书。
  • 未认证的连接会被转交给真实网站,抗主动探测能力较强。
  • 客户端需要公钥、shortId、SNI、指纹等参数,任何一项不匹配都会连不上。
  • Reality 不能经过普通 CDN,节点 IP 与伪装网站的归属差异仍可能成为特征。

Reality 的直接解释

在 Reality 出现之前,想让代理流量拥有标准 HTTPS 外观,就要给服务器准备一个域名和对应证书,Trojan、VLESS + TLS 都是如此。这带来几个问题:域名需要注册和维护,证书需要续期,自建网站的特征(新注册域名、证书签发记录、站点内容单薄)也可能被关注。

Reality 换了一个思路:服务器不再假装是「自己的网站」,而是在握手阶段表现得像某个真实存在的知名网站。合法客户端通过密钥认证进入代理通道,其他人连过来,看到的就是那个真实网站的握手与内容。

说明Reality 是传输安全层,与它搭配的代理协议最常见的是 VLESS。所以订阅里看到的通常是「VLESS + Reality」,而不是单独的「Reality 节点」。VLESS 本身的介绍见 VLESS 是什么。

工作原理

  1. 服务端配置一个伪装目标网站,并生成一对密钥,公钥分发给客户端。
  2. 客户端发起 TLS 握手,SNI 填写伪装目标的域名,并在握手消息中嵌入基于密钥计算的认证信息。
  3. 服务端检查认证信息:
    • 认证通过:服务端与客户端完成握手,建立代理通道。
    • 认证失败:服务端把这次连接原样转发给伪装目标网站,由真实网站完成握手和响应。
  4. 对探测者而言,这台服务器的行为与伪装目标网站一致。

这一设计把 Trojan 的「回落到正常网站」提前到了握手阶段,并且回落的对象是一个真实网站,而不是服务器自己搭的页面。

客户端需要的参数

参数 常见写法 作用
公钥 public-key、pbk 用于计算认证信息,必须与服务端私钥配对
shortId short-id、sid 区分客户端的短标识,需在服务端允许列表内
SNI servername、sni 伪装目标的域名,必须与服务端配置一致
指纹 client-fingerprint、fp 模拟浏览器的 TLS 握手特征,Reality 通常要求设置
spiderX spx 爬虫路径参数,部分客户端提供,按订阅下发
flow xtls-rprx-vision Vision 流控,与 VLESS 搭配时常见

注意Reality 节点对参数完整性要求很高。手动编辑配置时漏掉公钥、shortId 或改动 SNI,都会表现为节点超时或握手失败。使用订阅时不要手动改参数,更新订阅即可获取最新配置。

常见组合

组合 特点
VLESS + TCP + Reality + Vision 最常见的直连节点配置,兼顾免证书与 TLS in TLS 处理
VLESS + gRPC + Reality 基于 HTTP/2,支持多路复用
VLESS + XHTTP + Reality 较新的传输方式,客户端支持以最新说明为准

与传统 TLS 的对比

对比项 传统 TLS(如 Trojan、VLESS + TLS) Reality
自有域名与证书 需要 不需要
未认证访问看到什么 服务端设置的回落网站 真实伪装目标网站
TLS 指纹 可选模拟 通常要求模拟浏览器指纹
能否经过 CDN 可以(配合 WS 等) 不能
客户端生态 最广 Xray、Mihomo、sing-box 等为主

局限与需要注意的地方

  • 不能走 CDN:服务器 IP 被干扰时,无法像 WS + TLS 那样借 CDN 绕开。
  • IP 与域名归属:伪装目标是知名网站,而服务器 IP 属于某个云服务商,两者不一致仍可能被关注。服务端通常会挑选与机房位置、网络特征更匹配的目标,这部分由机场处理。
  • 生态集中:主要由 Xray 推动,其他内核跟进,部分客户端支持有限。
  • 不改变线路与 IP:Reality 解决的是握手外观,速度与 AI、流媒体可用性仍取决于线路和落地 IP。

客户端支持情况

客户端 Reality 支持
v2rayN(Xray 内核) 支持
Clash Verge Rev(Mihomo 内核) 支持
sing-box 支持
Shadowrocket / Stash 以最新版本说明为准
Surge 以官方说明为准

sing-box 用户可参考 sing-box 使用入门;握手相关报错见 TLS 握手失败怎么办。

在机场中的使用场景

Reality 多用于直连节点:省去证书维护,抗主动探测能力较强,配合 Vision 也处理了 TLS in TLS 特征。专线中转节点对伪装要求较低,未必使用 Reality;需要 CDN 的备用节点则会使用 WS + TLS。订阅中同时存在 Reality 与 Trojan 节点时,可以在自己的网络下对比稳定性。

结论

Reality 用借用真实网站握手的方式,去掉了 TLS 方案对域名和证书的依赖,并把回落机制前移到握手阶段,是近几年 TLS 类伪装思路的重要变化。它的限制在于不能走 CDN、参数要求严格、客户端生态相对集中。确认客户端支持后,VLESS + Reality 是直连节点很值得优先测试的组合。

常见问题

Reality 和 TLS 有什么区别?

传统 TLS 方案需要服务器持有自己域名的合法证书,Reality 则借用真实网站的握手特征,不需要自有域名和证书。对用户来说,两者都提供加密;Reality 主要在免证书和抗主动探测方面有优势。

Reality 节点里的 SNI 能随便改吗?

不能。SNI 必须与服务端配置的伪装目标一致,改成其他域名会导致握手失败。使用机场订阅时保持订阅下发的参数即可。

Reality 能套 CDN 吗?

不能经过普通 CDN。Reality 依赖客户端与服务器直接进行握手认证,CDN 会终止 TLS 连接,破坏这一过程。需要经过 CDN 时通常使用 WS + TLS 等组合。

哪些客户端支持 Reality?

Xray 内核的 v2rayN、Mihomo 内核的 Clash Verge Rev 以及 sing-box 均支持。Shadowrocket、Stash 等以最新版本说明为准,Surge 以官方说明为准。