REALITY 协议由 XTLS 项目提出,核心思想:让你的代理流量在审查者眼中和访问真实网站的 HTTPS 流量完全一致。不需要买域名,不需要申请证书,不需要套 CDN——只需要一台有公网 IP 的服务器。
项目地址:reality-ezpz
准备工作
SSH 工具(任选其一):
第 1 步:关闭防火墙或放行端口
最简单的方式——直接关闭:
sudo ufw disable
如果想保留防火墙,只放行需要的端口:
sudo ufw allow 8443/tcp
sudo ufw reload
CentOS 用 firewall-cmd,云服务器还需在控制台安全组放行对应端口。
第 2 步:安装 Docker
Docker 是 reality-ezpz 的运行环境,脚本以容器方式部署 sing-box:
curl -fsSL https://get.docker.com | sh
验证安装:
docker --version
第 3 步:一键部署
bash <(curl -sL https://bit.ly/realityez)
短链不可用时用完整地址:
bash <(curl -sL https://raw.githubusercontent.com/aleskxyz/reality-ezpz/master/reality-ezpz.sh)
脚本自动完成:拉取 sing-box 镜像 → 生成密钥对和 UUID → 写入配置并启动容器 → 优化内核参数 → 输出 VLESS 链接和二维码。
国内服务器必须调整 SNI 和端口
默认 SNI 是 www.google.com,国内无法访问会导致握手失败。默认端口 443,国内被封禁。必须同时指定:
bash <(curl -sL https://bit.ly/realityez) -d yahoo.com --port 8443
推荐国内可达的 SNI:www.microsoft.com、www.apple.com、dl.google.com——支持 TLS 1.3 + H2。
第 4 步:客户端导入
脚本会输出 VLESS 链接和二维码,复制到对应客户端。如果客户端需要订阅链接而非原始 VLESS 链接,可以用 CZL 工具箱 进行订阅转换。
| 平台 | 客户端 | 导入方式 |
|---|---|---|
| Android | v2rayNG / NekoBox | 扫码或粘贴链接 |
| iOS | Shadowrocket / Stash / FoXray | 扫码或粘贴链接 |
| Windows | v2rayN | 复制链接 → 剪贴板导入 |
| Win / Linux / macOS | NekoRay / Furious | 复制链接导入 |
| macOS | Clash Verge / V2rayU | 复制链接导入 |
连接参数确认:
| 参数 | 值 | 说明 |
|---|---|---|
| 协议 | VLESS | — |
| 传输 | TCP | 默认 |
| 安全 | Reality | 核心选项 |
| SNI | 和部署时一致 | 国内需替换 |
| Flow | xtls-rprx-vision | 必须开启 |
| Fingerprint | chrome | 模拟浏览器指纹 |
高级功能
以下按需使用,基础部署不需要。
TUI 交互菜单
不想记命令参数,用菜单模式操作:
bash <(curl -sL https://bit.ly/realityez) -m
切换核心引擎
默认 sing-box(性能更好),可切换 xray:
bash <(curl -sL https://bit.ly/realityez) -c xray
多协议支持
除默认的 VLESS + Reality + TCP,还支持:
| 协议 | 传输方式 | 安全选项 | 备注 |
|---|---|---|---|
| VLESS | tcp / http / grpc | reality / letsencrypt / selfsigned | 默认 |
| VLESS | ws | letsencrypt / selfsigned | ws 不兼容 reality |
| TUIC | — | letsencrypt / selfsigned | 仅 sing-box |
| Hysteria2 | — | letsencrypt / selfsigned | 仅 sing-box |
| ShadowTLS | — | 需指定 SNI | 仅 sing-box + Shadowsocks |
示例——部署 gRPC + Reality:
bash <(curl -sL https://bit.ly/realityez) -t grpc -d www.microsoft.com
TLS 安全选项
| 选项 | 说明 | 需要域名 |
|---|---|---|
| reality(默认) | 借用真实网站证书 | 否 |
| letsencrypt | 自动申请 Let’s Encrypt 证书 | 是(需 --server 指定) |
| selfsigned | 自签证书,不推荐 | 否 |
bash <(curl -sL https://bit.ly/realityez) --security letsencrypt --server your.domain.com
CDN 兼容性
| 传输方式 | Cloudflare | ArvanCloud |
|---|---|---|
| reality / tcp | ❌ | ❌ |
| http | ❌ | ✔️ |
| grpc / ws | ✔️ | ✔️ |
| tuic / hysteria2 | ❌ | ❌ |
如需 CDN 中转,选 ws + letsencrypt,并在 Cloudflare 开启 WebSocket。
多用户管理
bash <(curl -sL https://bit.ly/realityez) --add-user user1 # 添加用户
bash <(curl -sL https://bit.ly/realityez) --list-users # 查看列表
bash <(curl -sL https://bit.ly/realityez) --show-user user1 # 查看用户配置
bash <(curl -sL https://bit.ly/realityez) --delete-user user1 # 删除用户
Cloudflare WARP
隐藏服务器出站 IP,减少验证码和 IP 限制:
# 免费版
bash <(curl -sL https://bit.ly/realityez) --enable-warp true
# WARP+(更高性能,每许可证限 4 台设备)
bash <(curl -sL https://bit.ly/realityez) --enable-warp true --warp-license aaaaaaaa-bbbbbbbb-cccccccc
安全上网过滤
屏蔽恶意软件和成人内容:
bash <(curl -sL https://bit.ly/realityez) --enable-safenet true
备份与恢复
# 创建备份(上传 temp.sh,3 天有效,可加密)
bash <(curl -sL https://bit.ly/realityez) --backup --backup-password "密码"
# 从备份恢复(支持 URL 或本地文件,可用于服务器迁移)
bash <(curl -sL https://bit.ly/realityez) --restore "https://temp.sh/xxx/backup.zip" --backup-password "密码"
常用维护命令
bash <(curl -sL https://bit.ly/realityez) --regenerate # 重新生成密钥
bash <(curl -sL https://bit.ly/realityez) -r # 重启服务
bash <(curl -sL https://bit.ly/realityez) --default # 恢复默认配置
bash <(curl -sL https://bit.ly/realityez) --show-server-config # 查看服务端配置
bash <(curl -sL https://bit.ly/realityez) -u # 卸载
常见问题
连接失败,提示 reality handshake error
- SNI 是否和部署时一致
- 防火墙/安全组是否放行端口
- 容器是否正常:
docker ps
能连上但无法上网
- 出站网络是否正常:
curl -I https://www.microsoft.com - 重启服务:
bash <(curl -sL https://bit.ly/realityez) -r
速度慢
确认 BBR 已开启:
sysctl net.ipv4.tcp_congestion_control
未开启则执行:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
安全建议
- 不要分享配置——每人一套 UUID + shortId
- 定期更换 shortId——增加追踪难度
- 只开必要端口——最小化暴露面
- SSH 密钥登录——禁用密码登录
- 系统加固——fail2ban + 自动安全更新
为什么 REALITY 抗检测
传统 TLS 代理返回自签证书,主动探测一查就知道不是真实网站。Reality 直接向真实大站发起 TLS 握手,拿到的是 CA 签发的真实证书——探测者看到的和你正常访问微软/苹果官网完全一样。
| 方案 | 致命弱点 |
|---|---|
| VMess + TLS | TLS 指纹可被识别 |
| VLESS + WS + TLS | 需要域名和伪装网站 |
| Trojan | 密码在握手中明文传输 |
| Shadowsocks | 流量特征明显 |
| Reality | 借用真实证书,无特征 |