Xray VLESS Reality 搭建:分步指南
VLESS Reality 是一种运行加密代理的方式,对任何盯着网络看的东西而言,它看起来都像是对一个真实网站的一次普通访问。它把 Xray 轻量的 VLESS 传输与 REALITY 握手配在一起,后者借用一个真实网站的 TLS 指纹,让深度包检测无从标记。搭建只需一台小服务器和大约十五分钟。
简短回答:你在被过滤网络之外租一台服务器,在上面装好 Xray,开启一个带 REALITY 安全层的 VLESS 入站,再把生成的链接导入一款客户端 App。难的那部分由 REALITY 来做:它让你服务器的 TLS 握手与一个真实而热门的网站无从区分,这正是为什么在更老的工具被封之处,这个组合仍能穿过去。
要点速览
- VLESS 是 Xray 那个不带花哨的传输。它本身不承载任何加密,所以总要与一个安全层配对——这里是 REALITY。
- REALITY 才是要紧的诀窍:它让你的服务器呈现一个真实第三方网站的 TLS 握手,既击败指纹识别,又击败主动探测,而无需你自己的域名或证书。
- 这是自建。你需要一台自己的服务器(一台便宜的 VPS),位于一个未被过滤的地点——没有账户要注册。
- 两条常见的搭建路径:3x-ui 网页面板(最简单),或手写的 Xray 配置(控制更多)。下面两者都会讲到。
- 它很强大,但要靠你自己来运维:一台服务器、没有故障切换,以及持续的维护,是真实的代价。
VLESS Reality 究竟是什么
三个部件叠在一起,把它们分开来看会有帮助。
Xray(Xray-core)是代理引擎——V2Ray 项目一个被积极维护的后继者。它会说好几种协议;VLESS 是其中之一。
VLESS 是一个刻意做到极简的传输协议。这个名字暗示了它舍弃了什么:更老的 VMess 协议会做自己的加密和基于时间戳的认证,而 VLESS 把这些全部丢掉,自身不承载任何加密。这听起来像是退步,直到你看清它的用意。通过让开道路,VLESS 让一个专门的安全层去做加密,开销更小,在网络上的特征也更干净。
REALITY 就是那个安全层,也是这套搭建值得费这番功夫的原因。它解决的问题很具体。一个普通的 TLS 代理必须呈现一张证书,而一张证书就是一个指纹。自签名的证书看起来可疑;为你自己域名签发的证书会把服务器与你绑定,并且可被枚举。更糟的是,审查系统会运行主动探测:它们自己去连一台可疑服务器,看它如何表现。大多数伪装都过不了这一关。
REALITY 的答案是不再假装,而是开始借用。你的服务器不再呈上自己的证书,而是用一个你指定的、真实而热门的网站的身份,去完成一次真正的 TLS 1.3 握手。一个获得授权的客户端——持有你的公钥和一个相匹配的 short ID——会被引导进入代理。其他任何人,包括一个政府探测者,都会被透明地转发到那个真实网站,并看到它真实而有效的证书。没有异常可供检测,因为在外部观察者看来,这条连接就是一条通往真实网站的真实连接。
如果你想了解这类工具为何存在的更广背景,伊朗、俄罗斯与中国如何封锁 VPN讲了 REALITY 为之而生、要去存活的深度包检测与主动探测系统。
动手之前你需要什么
- 一台 VPS(虚拟专用服务器),位于你想跨越的那道防火墙之外。任何运行较新版 Debian 或 Ubuntu 的小实例都可以。
- 到那台服务器的 SSH 访问,以 root 或一个 sudo 用户身份。
- 大约十五分钟。
有一样东西你不需要,那就是你自己的域名或一张 TLS 证书。去掉这个要求,是 REALITY 主要的便利之处,也是这套搭建比此前那些需要 TLS 与域名的代理更快立起来的很大一部分原因。
搭建路径 A:3x-ui 面板
如果你宁可点按而不愿编辑 JSON,3x-ui 面板是最常见的路线,而且它会替你生成密钥。带编号的步骤:
- 开一台 VPS 并连接。在你的提供方那里创建服务器,然后 SSH 进去:
ssh root@your-server-ip。 - 运行安装脚本。从 3x-ui 项目的 README 里粘贴那行一句话安装命令。它会装好面板和 Xray,并打印出一个面板地址、端口和登录信息。
- 登录并把它锁好。在浏览器里打开面板 URL 并登入。立即更改默认的用户名、密码和面板路径——一个用默认凭证、暴露在外的面板,是这类搭建被攻破最常见的方式。
- 创建入站。新增一个入站,把协议设为 VLESS,把 Security 设为 REALITY。
- 让面板填好加密部分。用那些按钮来生成 UUID、x25519 密钥对,以及一个 short ID。至于目的地和 SNI,挑一个满足下文那一节标准的真实网站。
- 导出并导入。保存,然后把分享链接复制、或把二维码扫进你的客户端 App。那一条链接就包含了客户端所需的一切。
这就是整套流程。面板所做的,正是手动路径所做的;它只是把配置文件藏了起来。
搭建路径 B:手写 Xray 配置
手动路线给你更多控制,也没有多余的可动部件。你会运行两条命令来生成凭证,然后写一个配置文件。
- 安装 Xray-core。使用来自 XTLS Xray-core 项目的官方安装程序。它会在服务器上放好二进制文件和一个 systemd 服务。
- 生成凭证。运行
xray uuid得到一个客户端 ID,再运行xray x25519得到一个密钥对。把私钥留在服务器上;公钥发给你的客户端。 - 写配置。一个带 REALITY 的最小 VLESS 入站看起来是这样:
{ "inbounds": [{ "port": 443, "protocol": "vless", "settings": { "clients": [{ "id": "PASTE-UUID", "flow": "xtls-rprx-vision" }], "decryption": "none" }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "dest": "example.com:443", "serverNames": ["example.com"], "privateKey": "PASTE-PRIVATE-KEY", "shortIds": ["", "0123abcd"] } } }], "outbounds": [{ "protocol": "freedom" }] } - 重启并检查。重启 Xray 服务,确认它正在 443 端口监听。
- 构建客户端链接。用 UUID、你的公钥、一个 short ID 和 SNI 拼出分享 URL。大多数人只生成一次,然后反复使用。
这里有几个字段各有其用。flow 设为 xtls-rprx-vision 会开启 XTLS Vision,它削去了把 TLS 套进 TLS 那种双重加密,于是既更快也更安静。dest 和 serverNames 是那个借来的身份。privateKey 与你客户端持有的公钥配对,而 shortIds 让一台服务器得以分辨不同的客户端。
挑选一个 "dest"——那唯一要紧的决定
你借用的那个目的地网站,决定了你是融入背景还是显得扎眼。瞄准一个这样的网站:
- 支持 TLS 1.3 和 HTTP/2(REALITY 需要一个现代握手去模仿)。
- 在你客户端所在之处尚未被封锁——你藏在它的流量里,所以它必须可达。
- 托管在你自己国家之外,且对当地的人来说访问它并不反常。
- 不是你自己的域名,也不是一个小众或冷僻的主机——那作为目的地会显得古怪。
把这一点做对,你服务器的流量在统计上就平淡无奇。做错了——一个被封锁的网站,或一个并不真正支持你所声称握手的网站——你就让自己更显眼,而非更不显眼。
连接客户端
同一条连接链接跨平台通用;你把它导入最适合你设备的那款客户端。
- Windows / Linux:v2rayN 及类似的桌面客户端。
- Android:v2rayNG。
- iOS:支持带 REALITY 和 Vision flow 的 VLESS 的 App——Shadowrocket、Streisand 和 V2Box 是常见之选。粘贴链接或扫描二维码。
无论你用哪一款,连上之后都做一次快速检查:确认你的公网 IP 已变为服务器的,且 DNS 没有绕过隧道泄漏。一个悄悄泄漏的代理,会让一切前功尽弃。
它擅长什么——以及它真实的局限
这套说辞诚实的版本很短。VLESS Reality 在今天,是把连接从一个被重度过滤的网络里送出来最可靠的方式之一。它击败了那些能逮住更简单工具的主动探测,它不需要域名或证书,而有了 Vision,性能代价也很小。专就审查这个问题而言,它非常出色。
但自建是一种交换,而非免费的午餐,其代价值得直白说明:
- 它是一个单点故障。一台服务器,一个 IP 地址。如果那个 IP 被封,或你的提供方标记了那个实例,你就掉线了,没有故障切换,直到你在别处重建。
- 你就是运维者。给操作系统打补丁、更新 Xray、保管好密钥和面板的安全:这些活儿不会停。一个过期的面板,或一个重复使用的默认密码,是真实的风险,而非假想。
- 覆盖范围取决于客户端。路由整部设备、处理 DNS,以及在隧道掉线时表现安全,在这里都是客户端的职责,而客户端各有差异。一个完整的 VPN 会把那种行为标准化;一套代理搭建则把其中更多留给你自己。那种对比,正是Shadowsocks 对比 VPN的核心。
- 伪装本身也需要维护。一个被封锁的借用目的地,或一个落后于协议的客户端,都能把一套安静的搭建变得喧闹起来。
还有一条值得知道的并行思路。REALITY 靠模仿一个网站来藏起一个代理;而 WireGuard 那一侧应对同样的深度包检测问题,是从 VPN 这边、通过重塑协议本身来做,这正是AmneziaWG 对比 WireGuard的主题。如果你想先从最基础处比较这些隧道协议,WireGuard 对比 OpenVPN 与 IKEv2陈列了其中的取舍。
常见问题
VLESS Reality 是什么?它是 Xray 里两样东西的配对:VLESS,一个承载你流量的轻量传输协议;以及 REALITY,一个把连接伪装成对一个真实网站普通 TLS 访问的安全层。两者合在一起,构成一个让审查系统难以检测或探测的代理。
VLESS Reality 加密吗?加密——但不是由 VLESS。VLESS 本身不承载任何加密。加密来自 REALITY 所建立的那个真正的 TLS 1.3 会话,也就是保护普通 HTTPS 的那种现代加密。所以你的流量是加密的;只不过加密栖身于 REALITY 层,而不是传输层。
「VLESS」是什么意思?它是 V2Ray/Xray 家族里的一个传输协议,被设计成 VMess 一个更轻的后继者。这个名字指向它移除了什么:它做得更少,最显著的是丢掉了 VMess 所带的内置加密和时间戳认证。那份极简正是它的特性——它把加密留给 TLS 或 REALITY,并把开销与特征压得很低。
VLESS 比 VMess 好吗?就一套现代的隐身搭建而言,通常是的。VLESS 更轻,能用 XTLS Vision flow,而 VMess 不能,并且它与 REALITY 配得很干净。VMess 仍然能用,也自带它自己的加密,但它的握手更容易被取指纹,而那恰恰是你在一个被过滤的网络上想要避免的。
VLESS Reality 免费吗?软件是免费的——Xray 和 REALITY 都是开源的,不收费。你付费的是它运行所在的那台服务器。要警惕网上分享的「免费」公开配置:用一个,就意味着把你的全部流量经由一个陌生人的服务器路由,与任何免费代理有着同样的信任问题。
结论
- VLESS Reality 是一个自建的隐身代理:Xray 的 VLESS 传输加上 REALITY 握手,后者把服务器伪装成一个真实网站。
- 它击败了那些封锁更简单工具的指纹识别与主动探测,而且不需要你自己的域名或证书。
- 搭建是一台 VPS 加一份简短的配置(通过 3x-ui 面板,或一个手写文件),而单一最重要的选择,是你借用的那个目的地网站。
- 代价是所有权:一台服务器、没有故障切换,以及运维自己基础设施所伴随的那份维护。
运行你自己的 VLESS Reality 服务器,换来的是彻底的掌控,代价是你成了那个让它保持打好补丁、付清费用、持续在线的人。如果你用的是 iPhone,又宁愿有一条无需自己运维的混淆 WireGuard 连接——没有服务器要租、没有密钥要轮换、没有邮箱也没有账户——那正是 Snap VPN 为之而建的那一侧,它已在 App Store 上线。