一、引言:为什么你“会装不会用”?💡
Reality 真正的优势在于:免域名、免证书、握手更贴近真实 TLS。但翻车多发的根因往往不是脚本,而是目标域名不合格、服务器时间不准、客户端与服务端参数不一致。只要把这三件事做好,后续部署几乎一把过。✅
1.目标域名必须满足 TLS1.3 / X25519 / HTTP/2 / SNI 匹配;
2.VPS NTP 时间同步必须开启且准确;
3.客户端与服务端的 serverName / publicKey / shortId / 端口,必须一一对应。 以上任一环节出错,都会导致 握手失败、测速为零、秒断。⚠️
二、准备工作与环境基线(一次到位)⚙️
建议系统:Debian 12 / Ubuntu LTS(示例环境:搬瓦工 CN2 GIA ECOMMERCE)。
必须启用 NTP(Reality 对时间极其敏感):
timedatectl set-ntp true
timedatectl status
本地工具(必备):
- RealiTLScanner:目标站扫描与导出(CSV)
- Reality Checker:批量检测 TLS 能力与加分项
网络与安全组:提前放行需要的 443 / 面板端口 / 自定义节点端口。
操作建议:尽量在 本地 跑扫描与检测,远程 VPS 只做部署,降低误差与暴露面。🛡️
三、目标域名的“硬性条件”与“加分项”(成功率 70% 决定于此)🧠
3.1 基础条件(必须同时满足)
- 不要使用跳转域名(避免握手不一致);
- 支持 TLS1.3;
- 支持 X25519 椭圆曲线;
- 支持 HTTP/2 (H2);
- SNI 必须与目标域名匹配(serverName 对齐)。
3.2 加分项(更稳更快)
- 尽量不用带 CDN 的热门站;
- 选择 TLS 握手延迟更小 的站点;
- 与 VPS IP 就近(网络路径与地理更接近)。🚀
四、系统化“找目标”:扫描 → 导出 → 批量检测 🔍
4.1 RealiTLScanner 扫描并导出 CSV
macOS / Linux:
# 如遇“文件已损坏”,先解除隔离:
sudo xattr -r -d com.apple.quarantine <App路径>
# 扫描(VPSIP 换成你的服务器 IP)
./RealiTLScanner -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv
Windows(桌面示例):
cd "%USERPROFILE%\Desktop"
RealiTLScanner-windows-64.exe -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv
4.2 Reality Checker 批量检测(单域名 / 批量 / CSV)
apt update
apt install unzip curl wget -y
# 下载并解压(X86 示例)
wget https://github.com/V2RaySSR/RealityChecker/releases/latest/download/reality-checker-linux-amd64.zip
unzip reality-checker-linux-amd64.zip
chmod +x reality-checker
# 开始检测
./reality-checker check apple.com # 基础单域名检测
./reality-checker batch apple.com tesla.com microsoft.com # 批量检测多个域名(空格分隔)
./reality-checker csv file.csv # 从 CSV 文件批量检测
判读要点:优先选择 TLS1.3 / X25519 / H2 全通过,且握手延迟低、稳定的小众站,建立你的“目标域名池”。🗂️
五、S-UI 面板部署,但请“先用隧道再进面板”🧩
5.1 安装命令
# 安装最新版
bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh)
# 指定旧版本示例(ver 1.0.0)
VERSION=1.0.0 && bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/$VERSION/install.sh) $VERSION
5.2 关键安全提示(不要裸奔访问面板)
在未开启 SSL 登录之前,请 不要公网直连 面板!
正确方式是 建立本地 SSH 加密隧道,再用浏览器访问本地地址:
# 标准隧道
ssh -L <本地端口>:127.0.0.1:<远程面板端口> <服务器用户名>@<服务器IP>
# 例:
ssh -L 54321:127.0.0.1:55555 [email protected]
# 若 SSH 用非默认端口(如 2222)
ssh -fN -p 2222 -L 54321:127.0.0.1:55555 [email protected]
看到 VPS 的 # 回显,代表 隧道建立成功。此时在浏览器访问:
http://127.0.0.1:54321/55555 → 开始在本地安全地配置 Reality 入站与用户。🔐
六、面板基础操作(Reality 入站 / 用户 / 保存与应用)✅
- TLS 模版设置:按面板向导配置(若不熟,看参考视频/文档即可);
- 添加 Reality 入站协议:填入你前文筛选出的目标域名参数;
- 添加用户:分配用户标识/密钥;
- 保存并重载配置:变更生效后,再测试连通性与稳定性。
- 小步试点:先少量用户验证,再逐步扩容。📈
七、客户端使用与对齐(V2rayN / NekoBox / Shadowrocket)📱💻
不同客户端的字段名字会略有差异,但语义一致;务必做到 与服务端逐项一致:
- serverName = 目标域名(SNI 匹配);
- publicKey / shortId 与服务端一致;
- 端口、传输安全层(Reality)一致;
- 首测用 蜂窝/宽带/不同运营商 多路径验证,剔除偶发网络问题。🚦
八、常见故障与对症排查(两分钟定位)🧯
1)握手失败 / 测速为零 / 秒断
- 目标站不满足条件(TLS1.3 / X25519 / H2 / SNI 匹配);
- 服务器时间不准(NTP 未开启或漂移);
- publicKey / shortId / serverName 不一致;
- 线路抖动或目标站质量差 → 更换为更小众、延迟更低的站点。
2)面板为什么不能直接开?
- 未启 SSL 的面板易被探测,暴露节点与用户信息;
- 在启用 HTTPS 之前,一律通过 SSH 隧道 访问。🔒
3)所有参数都对,仍然不稳?
- 更换访问网络环境(不同运营商/地区);
- 用 Reality Checker 重测新一批目标,做“滚动冗余”;
- 观察握手阶段是否确为 TLS1.3 + X25519 + H2。🧪
九、部署 Checklist(发布前最后一跳)✅
- VPS 初始化完成(Debian 12 / Ubuntu LTS)
- NTP 已启用且时间准确(timedatectl)
- 安全组/防火墙放行端口(443 / 面板端口 / 自定义端口)
- 本地跑 RealiTLScanner,导出 file.csv
- 用 Reality Checker 批量校验,筛出“目标域名池”
- S-UI 安装完成;未启 SSL 前仅走隧道
- Reality 入站 / 用户参数与客户端完全一致
- 先小规模试点,稳定后扩容
- 每周复测目标域名,替换高抖动目标,保持冗余
十、实用命令与工具(收藏区 | 可直接复制)📦
RealiTLScanner 扫描 → 导出:
# macOS / Linux
sudo xattr -r -d com.apple.quarantine <App路径>
./RealiTLScanner -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv
# Windows
cd "%USERPROFILE%\\Desktop"
RealiTLScanner-windows-64.exe -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv
Reality Checker 批量检测:
apt update
apt install unzip curl wget -y
wget https://github.com/V2RaySSR/RealityChecker/releases/latest/download/reality-checker-linux-amd64.zip
unzip reality-checker-linux-amd64.zip
chmod +x reality-checker
./reality-checker check apple.com
./reality-checker batch apple.com tesla.com microsoft.com
./reality-checker csv file.csv
S-UI 面板安装:
# 最新版
bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh)
# 指定版本示例
VERSION=1.0.0 && bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/$VERSION/install.sh) $VERSION
SSH 隧道访问未启 SSL 的面板:
# 标准
ssh -L 54321:127.0.0.1:55555 root@<服务器IP>
# 非默认 SSH 端口(如 2222)
ssh -fN -p 2222 -L 54321:127.0.0.1:55555 root@<服务器IP>
# 浏览器访问(示例)
http://127.0.0.1:54321/55555
十一、进阶建议:把“稳定”做成流程 🧩
- 多目标冗余:准备 5–10 个合格目标域名,按延迟与稳定性排序;
- 周度复测:Reality Checker 每周跑一次,剔除波动大、握手异常的站;
- 分发策略:按用户地域/运营商分配不同目标集合,提升全局可用率;
- 最小暴露面:未启面板 HTTPS 前,禁止公网直连;
- 日志最小化:仅保留错误级别日志,定期清理;
- 监控告警:对握手失败数、延迟、丢包、带宽进行可视化监控。📈
十二、总结:把三件事做好,其它就顺了 ✅
- 目标域名合格(TLS1.3 / X25519 / H2 / SNI)
- 服务器时间准确(NTP)
- 客户端/服务端参数 1:1 对齐(serverName / publicKey / shortId / 端口)
把它们固化为你日常的“筛选—验证—替换”流程,Reality 的部署与维护就会一次配对成功,长期稳定运行。🚀












暂无评论内容