一句话:这个项目是干什么的

适合想自己掌控上网出口、又不想把流量交给陌生免费节点的人。做完你应该能回答:这个节点是什么、数据怎么走、每个配置是干什么的、出问题先查哪里。只做自用,不对外分发。

原理篇:先懂,再动手

你不是在“下载一个翻墙软件”,你是在海外租了一台自己的电脑,然后在你自己的电脑和这台海外电脑之间,修了一条加密隧道。访问海外网站时,数据先加密走隧道到海外电脑,再由它去访问目标网站,目标网站看到的是海外电脑的地址,不是你的真实地址。国内网站不走这条路,直接从你电脑出去,速度快,也不浪费隧道流量,这就是规则分流。

为什么选 VLESS + REALITY,而不是别的协议:Shadowsocks 老、简单,但握手特征明显;VMess 强一点,但同样容易被识别;Trojan 伪装成正常 HTTPS,需要域名和证书,维护麻烦一点。VLESS + REALITY 不用域名、不用证书,握手看起来就像在正常访问大站,主动探测的人拿不到你的密钥,就只能看到大站的内容,分辨不出这是代理。这是目前自用最省事、抗识别也比较强的一套。再加 Vision 流控,传输效率更高、指纹更像正常浏览器。

对一台自用 VPS 的判断标准也很简单:2 核 2G 对一个人用是过剩的,Xray 服务端平时只占几十 MB 内存,瓶颈永远是网络,不是核数。美国西海岸机房离中国最近,延迟一般更低。系统越干净,越不容易被旧配置干扰,优先选 Ubuntu 22.04 / 24.04 这类教程兼容性最好的版本。

你的电脑、加密隧道、海外服务器三者关系示意图

记住这张图:出问题时,先问数据卡在哪一段,是电脑到隧道、隧道本身,还是服务器到目标网站,再去查那一段,不要全站乱改。

动手篇:一步一步,从零到跑通

每一步后面都有验证点,全部通过才算通,不要跳步。

0. 准备清单

一台海外 VPS(有 root 权限、能 SSH 登录)、一台 Windows 电脑、一个客户端(本文以 v2rayN 为例)、能记下新生成密钥的安全地方。准备好之前,先把下面这条安全线记死:新生成的 UUID、私钥、ShortId 和节点链接,绝不发给别人、绝不公开贴出来,泄露了就等于钥匙丢了,要整套重新生成。

1. 登录 VPS

SSH 就是远程登录 VPS 的加密通道,例如 ssh root@你的VPS_IP。密码输入时不显示,是正常的安全设计,不是没输进去。第一次会问是否信任这台主机,输入 yes 就行。

2. 让脚本做四件事

一个可靠的搭建脚本,本质上就是按顺序自动跑这四件事,不是魔法:更新系统并装 curl、unzip、openssl、socat 等依赖;从官方安装脚本装 Xray 服务端;生成三样全新的东西——UUID(节点的门钥匙)、Reality 密钥对(私钥只放服务端,公钥放客户端链接)、ShortId;把它们写进服务端配置文件,核心是入口(监听端口、协议、允许哪个 UUID、伪装域名、私钥和 ShortId)、传输方式(TCP + REALITY)、嗅探(识别真正的目标域名)和出口(正常转发或丢弃)。

3. 验证服务端真的起来了

不要只看脚本说成功了,要在 VPS 里确认三点:Xray 服务是 active、443 端口在监听、配置文件里没有把示例密钥原样抄进去。服务没起来,后面客户端怎么调都没用。

4. 在 Windows 上导入节点并设分流

在 v2rayN 里导入节点链接,重点检查三处,照抄这三处最容易错:路由规则(国内直连、海外走代理)、系统代理开关、DNS 设置(直连用国内 DNS,远程用海外 DNS)。设完先不要急着说通了,按下一步验证。

5. 验证:按这个顺序测

先测服务端端口通不通,再测客户端能不能连上节点,再测海外网站能不能打开、国内网站是不是直连、DNS 有没有泄漏。全部通过才算通,有一步不通就停在那一步查,不要同时改好几个地方。

坑与排查篇:真实踩过的坑,对号入座

  • SSH 突然连不上,报错是握手刚开始就被关掉:这不是密码错,密码错会报 Permission denied。优先查服务是不是 active、换个网络试试、进系统看 sshd 活着没有、是不是你的 IP 被封禁了,不要反复重试 SSH,试多了反而可能加重封禁。
  • 新版 Xray 生成密钥失败、取出来是空的:新版输出格式变了,旧脚本按固定列取密钥会取空。修复办法是按每行最后一个字段取,并把错误输出也抓进来,新旧格式都能取到。Xray 本身可能已经装成功了,卡住的只是解析那一步。
  • 客户端连不上、但服务端是活的:先对 UUID、私钥、ShortId、伪装域名、端口这五处,一处一处对,错一处就全不通;再查防火墙和端口有没有放行。
  • 速度慢、看视频卡:先分清是延迟高、流量超了,还是分流错了(国内网站也走了隧道)。流量用超是被限速或停机,不是被封,别和被封搞混。

长期维护篇:跑通之后才算真正会用

  • SSH 加固:做完验证再做,顺序不能反。改掉默认的弱口令习惯,能用密钥登录就用密钥,少开不必要的入口。
  • 换 IP:很多服务商后台可以自助换 IP,换完客户端地址要改成新 IP,服务器配置不用重建。前提是服务在用、无未结工单、无未解决的滥用记录,具体费用和次数以服务商当时的规则为准。
  • 重建:只要准备清单、脚本逻辑和验证顺序还在,换一台机器也能照着重建。重建时先做一页检查单:服务、端口、配置、客户端、分流、验证,一项一项打勾。
  • 防识别清单:不复用网上示例密钥,不公开节点信息,不把节点给多人共用(一个人出问题,所有人一起受影响),定期看服务状态和流量,异常先停下来查,不要硬撑。

绝不公开

这个项目页只讲方法和原理。节点地址、端口、UUID、密钥、服务器 IP、账号密码等连接信息,永远不会发到这个公开站上。读者按本文动手时,生成的东西是读者自己的,不是本文的示例。

下一步:从这个项目能带走什么

学会的不是一套命令,而是一套可迁移的方法:先懂数据怎么走,再让脚本做重复劳动,每一步都有验证点,出问题按排查表对号入座。这套方法以后换协议、换机器、换客户端,都能复用。