内容纲要
简介
为了应对 TLS in TLS 和指纹识别等阻断或封禁的风险,Xray-core 团队推出了 VLESS Vision 和 VLESS Reality 两种新颖的技术方案。它们能够有效地隐藏和保护流量的特征,提高安全性和稳定性。
手动部署
依赖
- curl
- nano
安装Xray
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Xray配置
编辑config文件
修改 Xray 默认配置文件,默认路径在 /usr/local/etc/xray/config.json,默认内容为 {}
nano /usr/local/etc/xray/config.json
参考配置
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"protocol": [
"bittorrent"
],
"outboundTag": "block"
},
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
},
{
"type": "field",
"ip": [
"geoip:cn"
],
"outboundTag": "block"
},
{
"type": "field",
"domain": [
"geosite:category-ads-all"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"tag": "xray-xtls-reality",
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "", // 可以使用 xray uuid 生成,注意保存
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "", // 自行设置合适的回落域名,必须带端口,比如:www.example.com:443
"serverNames": [
"" // 自行设置客户端可用的 server name 列表,例如:www.example.com
],
"privateKey": "", // 可以使用 xray x25519 生成
"shortIds": [
""
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}
参考配置中的 必须替换并修改为自己的配置,替换方法参考注释,其他例如 shortIds、流量过滤等可以自行决定是否配置。
参考配置支持的特性
- 使用 reality 协议;
- 开启 vision 分流;
- 禁用 bittorrent、广告、回国等流量;
自动更新geoip.dat
创建文件夹
mkdir /usr/local/etc/xray-script
编辑更新脚本
nano /usr/local/etc/xray-script/update-dat.sh
脚本内容
#!/usr/bin/env bash
set -e
XRAY_DIR="/usr/local/share/xray"
GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
[ -d $XRAY_DIR ] || mkdir -p $XRAY_DIR
cd $XRAY_DIR
curl -L -o geoip.dat.new $GEOIP_URL
curl -L -o geosite.dat.new $GEOSITE_URL
rm -f geoip.dat geosite.dat
mv geoip.dat.new geoip.dat
mv geosite.dat.new geosite.dat
systemctl -q is-active xray && systemctl restart xray
添加执行权限
chmod +x /usr/local/etc/xray-script/update-dat.sh
设置定时任务
crontab -e
crontab内容
说明:可自行决定更新时间,示例中为每周一 23 点执行(注意服务器时区)。
00 23 * * 1 /usr/local/etc/xray-script/update-dat.sh >/dev/null 2>&1
回落域名选择
根据 reality 文档 的说明回落域名的网站需要满足以下要求:
- 国外网站,网站服务器在国外且未被 GFW 屏蔽,越靠近代理服务越好(伪装效果更好,延迟也更低);
- 支持 TLSv1.3 与 H2;
域名非跳转用;
另外需要注意的是,不要选择套了 Cloudflare CDN 的网站,有被其他人当作中转服务器的风险。
一般来讲回落域名选择有以下几种选择: - 海外大厂的域名,例如 Microsoft、Apple 等;
- 代理服务器的当地网站,例如当地大学、旅游局等机构的网站;
- 自己网上邻居的网站;
- 自己的网站;
除选择 1 不推荐以外,其他选择可以自行决定使用哪种,本文以选择 3 为例。
找到网上邻居的网站
使用 BGP.TOOLS 查询工具查询代理服务器的 ASN


使用 FOFA 查找符合条件的网站,查询条件为
asn=="" && country=="HK" && port=="443" && cert!="Let's Encrypt" && cert.issuer!="ZeroSSL" && status_code="200";

逐个验证查询到的网站是否满足回落域名的要求(使用浏览器的开发人员工具验证);
注意:需要将 FOFA 查询条件中的 替换为你代理服务器的 ASN,一定要用浏览器打开网站验证,确保能正常打开,是正规网站且满足回落域名要求。
TLS 版本可以打开开发人员工具后在 Security 选项卡中查看;是否支持 H2 可以在 Network 选项卡中查看 Protocol 列(默认未勾选)或者使用在线网站检测。

客户端配置
proxies:
- name: "node1"
type: vless
server: # 代理服务器地址
port: 443
udp: true
uuid: # Xray 服务端的 UUID
flow: xtls-rprx-vision
tls: true
servername: # 服务端配置的可用 server name
client-fingerprint: chrome
skip-cert-verify: false
reality-opts:
public-key: # 与服务端私钥配套的公钥
network: tcp
将所有 替换为自己的信息,如果服务端设置了 shortIds 可自行配置。
延伸阅读
- 代理与网络工具教程
- Reality 443 端口复用怎么实现:Nginx ssl_preread 与 PSM 一键脚本
- 【jtti.cc】HK 轻量云 三网优化测评:1C | 1G | 50G SSD | 1000G@200Mbps | 87USD/年
了解 VPS测评 - JQ 的更多信息
订阅后即可通过电子邮件收到最新文章。