介绍
通常我们使用v2ray需要购买一个域名来生成tls免费证书,虽然有各种伪装,但现在v2ray 的协议已经被识别,经常会被封vps的443端口。现在xray新开发出了REALITY 来取代TLS,可消除服务端 TLS 指纹特征,仍有前向保密性等,且证书链攻击无效,安全性超越常规 TLS。可以指向别人的网站,无需自己买域名、配置 TLS 服务端更方便,实现向中间人呈现指定 SNI 的全程真实 TLS。
和原先的v2ray代理相比,之前TLS或者XTLS已经被墙识别,所以Xray端口经常被封或阻断,Xray1.8.0版本推出了最新的Reality协议,再配合之前的Vision协议,组合成了目前最新的协议“VLESS-Vision-uTLS-REALITY”,它们能够有效地隐藏和保护流量的特征,提高安全性和稳定性。据说用了Reality后sni阻断消失了。
使用REALITY 你只需一台vps,无需购买域名。服务端、客户端Xray都需要升级到Xray1.8.0版本以上。Reality不支持CDN。
Xray REALITY 官方github地址:https://github.com/XTLS/REALITY
搭建
这里我们使用官方代码进行搭建,服务器使用的系统是debian11,注意不要有其他程序占用443端口,如Nginx,Caddy等。
首先xshell登录vps,安装下列官方代码
cd bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install --version 1.8.0
上段--version 1.8.0
是安装的版本,有新版本自行更改。
安装完成后使用下列命令生成uuid,Xray可执行文件xray在/usr/local/bin/
目录下。
cd /usr/local/bin/ ./xray uuid > uuid
使用下列命令生成公、私密钥到key文件。
#cd /usr/local/bin/ ./xray x25519 > key
uuid、key文件均在/usr/local/bin/
目录下,先查看uuid 和key ,一会直接复制到配置文件。
cat uuid cat key

配置文件示例如下,复制到电脑文本文件里修改。注意回落网站必须支持 TLSv1.3,国外大站基本都是TLSv1.3。本例用的是亚马逊购物网站www.amazon.com
{ "inbounds": [ // 服务端入站配置 { "listen": "0.0.0.0", "port": 443, "protocol": "vless", "settings": { "clients": [ { "id": "94b60beb-a0fd-4aff-9c7c-9a36f74022db", // 必填,改成自己的uuid,或 1-30 字节的字符串 "flow": "xtls-rprx-vision" // 选填,使用tcp就用这个;使用H2协议则为空 } ], "decryption": "none" }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "show": false, // 选填,若为 true,输出调试信息 "dest": "www.amazon.com:443", // 必填,国外的真正存在的网站,后面必须带有443 "xver": 0, // 选填,格式同 VLESS fallbacks 的 xver "serverNames": [ // 必填,客户端可用的 serverName 列表,暂不支持 * 通配符,和dest相配 "amazon.com", "www.amazon.com" ], "privateKey": "UCWnsGnHIqsCgb10JzaL7TaC9pZKJSSax9vW-QbaVkM", // 必填,刚才生成的私钥Private key "minClientVer": "", // 选填,客户端 Xray 最低版本,格式为 x.y.z "maxClientVer": "", // 选填,客户端 Xray 最高版本,格式为 x.y.z "maxTimeDiff": 0, // 选填,允许的最大时间差,单位为毫秒,0为不限制,可以改为10000-60000之间。 "shortIds": [ // 必填,客户端可用的 shortId 列表,可用于区分不同的客户端 "88", // 客户端ID之一 "888888" // 0 到 f,长度为 2 的倍数,长度上限为 16 ] } } } ], "outbounds": [ { "protocol": "freedom", "tag": "direct" }, { "protocol": "blackhole", "tag": "blocked" } ] }
下面配置Xray REALITY:
nano /usr/local/etc/xray/config.json
把刚才的配置文件黏贴进去,Ctrl X
退出,按y
确认。
配置完成后,运行下列命令执行
service xray start
查看状态
service xray status
重启Xray
service xray restart
不报错即表示正常运行。如果出错,可以把配置文件中的"show": false,
改为"show": true,
,运行/usr/local/bin/xray -c /usr/local/etc/xray/config.json
查看详细出错信息。
VPS到国内线路不好的话,可以安装BBR加速,提高tcp发包,让网速更快。
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
安装完成后按要求重启即可。
客户端配置
电脑端下载地址https://github.com/2dust/v2rayN/releases
电脑端需要下载最新V2rayN版本,看项目的介绍。其中Xray-Core需要1.8.0以上,如果不是需要打开V2rayN设置
,打开检查Pre-Release更新
。然后服务器
— 添加[VLESS]服务器
。详细配置见下图:

安卓端下载地址https://github.com/2dust/v2rayNG/releases
2023年4月份后编译的最新路由器固件也可以使用Reality协议,路由端配置见下图:

答疑
REALITY 作为 TLS 有前向安全,也不依赖 CA证书,比常规 TLS 更安全。有人疑惑为什么 REALITY 没有直接用 VLESS UUID 来做认证,而是加了一套公私钥机制?解答如下:若使用对称密钥,GFW 拿到客户端配置就可以进行中间人攻击。若使用 X25519 公私钥结合 TLSv1.3 key_share,即使 GFW 拿到了客户端的公钥,它也无法用来验证某一条连接是不是 REALITY,更无法进行有效的中间人攻击。REALITY 开发原则是默认认为用户客户端配置已经泄露,所以把安全性拉满了。只要保护好 REALITY 服务端的私钥,你的流量就非常安全(若私钥泄露,GFW 无法拿它直接解密流量,但可以进行中间人攻击)。有条件定期更换公私钥就更好了。此外用户可以放心地在多个客户端之间共享公钥。
关于 TLS in TLS 问题,它指的是内层 TLS 握手特征,以及加密套娃特征。REALITY 是 TLS,所以我们可以直接用现成的 XTLS Vision 成熟解决方案,这也是 REALITY 的优点之一,即 TLS 上的东西都可以直接平移过来。包括 HTTP/2 与 gRPC,它们自带多路复用,可以缓解网速问题。REALITY +vision是如何做到在自身是tls时同时又消除tls套tls特征的,REALITY 是对内层TLS握手包进行了填充,不加密内层tls 直接发送。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/994.html
评论列表(5条)
用的楼主的办法 创建的主机 用了有一段时间了
昨天开始不能访问了 用同样的办法 创建其他ip的机器 结果都不能访问
是不是该协议也被攻克了呢..
010 电信线路
請問 80 與 433 端口是搭建時還是任何時間均不可被佔用?謝謝。
@Milano:V2ray Reality监听443端口,使用期间不能有其他程序占用VPS 443端口。80端口没有要求。
非常好使。目前最好 的教程。感谢。
你好,请问能有偿提供技术支持嘛?