我用自己的日本服务器飞跃,折腾了一天终于搞定了
💬 **写在前面:** 买了台日本 VPS 本来是跑博客的,后来想着反正服务器在那儿,干脆顺手搭个代理用。没想到越研究越着迷,从最早的 SS 一路折腾到现在的 VLESS + Reality——这篇文章是我踩了很多坑之后的总结,争取让你一遍就能搭好。

我用自己的日本服务器飞跃,折腾了一天终于搞定了 🛸
💬 写在前面: 买了台日本 VPS 本来是跑博客的,后来想着反正服务器在那儿,干脆顺手搭个代理用。没想到越研究越着迷,从最早的 SS 一路折腾到现在的 VLESS + Reality——这篇文章是我踩了很多坑之后的总结,争取让你一遍就能搭好。
🤔 为什么不用机场,要自己搭?
说真的,机场用起来确实方便,开箱即用。但有几个点一直让我心里不踏实:
- 隐私问题:你的所有流量都经过别人的服务器,他看不看是一回事,但数据在那里
- 跑路风险:机场说没就没,有时候钱都付了,第二天就关门
- 被共享封锁:几百人共用一个 IP,一旦有人用来搞事,大家一起被封
自己有服务器,自己搭,IP 是自己独占的,想怎么用就怎么用。而且搭完之后成本也不高,一台日本 VPS 一个月也就几十块钱。
✨ 这套方案能做到什么?
先说结论,这套方案基于 Xray-core 的 VLESS + Reality + XTLS-Vision 协议组合,是目前公认最难被检测的自建代理方案之一。
🇨🇳 国内网站(百度、淘宝、微信)
↓
直接连接,不走代理,速度不受任何影响
🌍 国外网站(Google、YouTube、Twitter)
↓
加密隧道 → 日本 VPS → 目标网站
四个核心特性
| 特性 | 实现方式 | 通俗解释 |
|---|---|---|
| 🎭 流量伪装 | Reality 协议 | 你的代理流量看起来像在访问一个普通 HTTPS 网站,路过的防火墙不知道你在飞跃 |
| 🔒 强加密 | TLS 1.3 | 银行级别的加密,内容无法被中间人窃取或篡改 |
| 📦 完整流量 | XTLS-Vision | HTTP、HTTPS、UDP 全部走代理,没有遗漏 |
| 🖥️ 指纹伪装 | uTLS Chrome | 连接时模拟真实 Chrome 浏览器的 TLS 握手特征,让检测系统以为你只是个普通用户在上网 |
🗺️ 整体架构图
搞清楚结构,后面操作就不会晕:
┌─────────────────────────────────────────────────────┐
│ 你的 Windows 电脑 │
│ │
│ Clash Verge Rev(客户端,负责分流和加密) │
│ │ │
│ ├── 国内流量 ──→ 直接出去,不绕路 │
│ └── 国外流量 ──→ 加密打包 ──→ 发往日本 VPS │
└─────────────────────────────────────────────────────┘
│
加密隧道(TLS 1.3)
│
┌─────────────────────────────────────────────────────┐
│ 日本 VPS │
│ │
│ Xray-core(服务端,负责接收和转发) │
│ └── 解包请求 ──→ 访问目标网站 ──→ 返回结果 │
└─────────────────────────────────────────────────────┘
📋 开始之前,先准备好这些
服务端(VPS)
| 要求 | 说明 |
|---|---|
| 位置 | 境外 VPS,日本、香港、新加坡都行,国内 VPS 无效 |
| 系统 | Ubuntu 20.04 / 22.04 / 24.04,或 Debian 11 / 12 |
| 配置 | 最低 1核 512MB,Xray 本身几乎不吃资源 |
| 权限 | 需要 root 或 sudo 权限 |
伪装域名
Reality 最关键的一步——它需要借用一个真实 HTTPS 网站的身份来伪装你的流量。
伪装域名必须满足:
- ✅ 支持 TLS 1.3
- ✅ 支持 HTTP/2(h2)
- ✅ 域名能正常访问
- ✅ 服务器在境外
💡 最佳选择: 如果你的 VPS 上本来就跑了一个 HTTPS 网站(比如个人博客),直接用自己的域名!这样安全性最高,因为你完全掌控这个域名,不依赖任何第三方。
如果没有,可以借用境外知名网站,比如
www.lovelive-anime.jp(日本动画官网)或jp.mercari.com(日本二手平台),这类网站都支持 TLS 1.3 + H2,而且不会突然下线。
客户端(Windows 电脑)
- Windows 10 / 11,64位系统
- 能正常上国内网就行
🖥️ 第一步:服务端安装 Xray
SSH 连接到你的 VPS,执行下面的命令。
⚠️ 注意: 以下命令全部在 VPS 的 SSH 终端里执行,不是在你的 Windows 电脑上。
一键安装
Xray 官方提供了一键脚本,执行一条命令搞定全部:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
等待大约 1 分钟,看到这个就说明安装成功了:
info: Xray v26.x.x is installed.
info: Enable and start the Xray service
验证安装
# 查看版本号
xray --version
# 查看运行状态,应该显示 active (running)
systemctl status xray
安装后各文件的位置:
| 路径 | 用途 |
|---|---|
/usr/local/bin/xray | 可执行文件 |
/usr/local/etc/xray/config.json | 主配置文件,我们主要编辑这个 |
/var/log/xray/ | 日志目录 |
🔑 第二步:生成密钥
Reality 协议需要三个关键参数,都用 Xray 自带的命令生成,不要自己随便写。
生成 Reality 密钥对
xray x25519
输出类似这样(你的结果和这里不同,这是正常的):
PrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Password (PublicKey): yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
PrivateKey→ 只填在服务端配置里,绝对不要泄露PublicKey→ 填在客户端配置里,可以公开
生成用户 UUID
xray uuid
输出一串类似这样的 ID:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
服务端和客户端都要填这个,而且必须完全一致。
生成 shortId
openssl rand -hex 8
输出 16 位十六进制字符串,例如:
a1b2c3d4e5f6a7b8
📝 建议现在就把这三个值记在一个文本文件里,接下来配置文件里会用到。
⚙️ 第三步:配置服务端
打开配置文件
# nano 编辑器(Ctrl+O 保存,Ctrl+X 退出)
nano /usr/local/etc/xray/config.json
把文件内容全部替换为以下内容
把下面 YOUR- 开头的占位符全部换成你刚才生成的值:
{
// 日志配置:这里只保留 warning 级别,减少无关日志输出
"log": {
// 日志级别:warning 表示只记录警告和错误
"loglevel": "warning"
},
// 入站配置:定义客户端如何连到你的 VPS
"inbounds": [
{
// 监听地址:0.0.0.0 表示接受所有网卡上的连接
"listen": "0.0.0.0",
// 监听端口:客户端将连接这个端口
"port": 8443,
// 入站协议:这里使用 vless
"protocol": "vless",
// VLESS 本身的参数配置
"settings": {
// 客户端列表:每个对象代表一个允许连接的用户
"clients": [
{
// 用户 UUID:服务端和客户端必须完全一致
"id": "YOUR-UUID-HERE",
// 流控方式:Reality 常见搭配是 xtls-rprx-vision
"flow": "xtls-rprx-vision"
}
],
// 解密方式:VLESS 固定填 none
"decryption": "none"
},
// 传输层配置:定义 TCP、TLS、Reality 等细节
"streamSettings": {
// 传输网络:这里走 TCP
"network": "tcp",
// 安全层:这里启用 reality
"security": "reality",
// Reality 的详细参数
"realitySettings": {
// 是否在日志中显示更多调试信息:生产环境通常设为 false
"show": false,
// 伪装目标:Reality 握手时要伪装成访问这个域名的 443 端口
"dest": "YOUR-DOMAIN:443",
// XTLS 版本参数:通常保持 0 即可
"xver": 0,
// 允许的伪装域名列表:客户端 servername 必须命中这里
"serverNames": [
// 你的伪装域名,例如 blog.example.com
"YOUR-DOMAIN"
],
// 服务端私钥:由 xray x25519 生成,只能放服务端
"privateKey": "YOUR-PRIVATE-KEY",
// shortId 列表:客户端 short-id 必须命中其中一个
"shortIds": [
// 主要使用的 shortId
"YOUR-SHORT-ID",
// 空字符串保留项:有些配置会顺手保留这个兜底值
""
]
}
},
// 嗅探配置:帮助 Xray 识别目标协议并改进转发
"sniffing": {
// 是否启用嗅探:true 表示开启
"enabled": true,
// 允许覆盖识别的目标协议:HTTP、TLS、QUIC 都包含在内
"destOverride": ["http", "tls", "quic"]
}
}
],
// 出站配置:定义服务端把流量往哪里发
"outbounds": [
{
// freedom 表示正常直连外部目标网站
"protocol": "freedom",
// 这个出站的标签名,便于以后路由引用
"tag": "direct"
},
{
// blackhole 表示丢弃流量
"protocol": "blackhole",
// 这个出站的标签名,通常用于拦截规则
"tag": "block"
}
]
}
替换说明:
| 占位符 | 替换为 |
|---|---|
YOUR-UUID-HERE | xray uuid 生成的 UUID |
YOUR-DOMAIN | 你的伪装域名,例如 blog.example.com |
YOUR-PRIVATE-KEY | xray x25519 生成的 PrivateKey |
YOUR-SHORT-ID | openssl rand -hex 8 生成的值 |
⚠️ JSON 格式注意事项:
- 不能有多余的逗号(最后一项后面不加逗号)
- 所有引号必须是英文双引号
",不能是中文引号""
验证配置并重启
# 测试配置文件语法
xray run -test -config /usr/local/etc/xray/config.json
# 看到 "Configuration OK." 才继续
# 重启服务
systemctl restart xray
# 确认端口正在监听
ss -tlnp | grep 8443
看到这行输出就说明 Xray 已经在 8443 端口正常运行了:
LISTEN 0 4096 *:8443 *:* users:(("xray",...))
🔥 第四步:开放防火墙端口
这一步很多人忘了,然后一直以为是配置出问题。
UFW(Ubuntu 默认防火墙)
# 放行 8443 端口
ufw allow 8443/tcp
# 确认
ufw status | grep 8443
如果用的是 iptables
iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
iptables-save > /etc/iptables/rules.v4
💡 别忘了检查 VPS 厂商的控制台! 很多厂商(比如腾讯云、阿里云、Vultr 等)除了系统防火墙,还有一层安全组/网络防火墙需要在控制面板里单独放行端口。进控制台找"安全组"或"防火墙",添加一条入站规则放行 TCP 8443 端口。
测试端口是否可达
在你的 Windows 电脑上,打开 PowerShell 执行:
# 把 your.vps.ip 换成你 VPS 的实际 IP
Test-NetConnection -ComputerName your.vps.ip -Port 8443
看到 TcpTestSucceeded : True = 端口正常可达 ✅
💻 第五步:安装客户端
为什么用 Clash Verge Rev?
必须用 Clash Verge Rev(内核是 Mihomo),不能用普通的 Clash for Windows。原因是老版 Clash 不支持 Reality 协议,会直接报错。
前往 GitHub 下载最新版:
👉 https://github.com/clash-verge-rev/clash-verge-rev/releases/latest
在页面底部 Assets 区域找到 Clash.Verge_x.x.x_x64-setup.exe(64位 Windows),下载安装,一路下一步即可。
安装完成后,任务栏右下角会出现一个 🐱 猫咪图标,代表软件正在运行。
📄 第六步:配置客户端
新建一个文本文件,命名为 config.yaml,填入以下内容,同样把 YOUR- 开头的占位符换成你自己的值:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: warning
ipv6: false
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://dns.alidns.com/dns-query # 国内 DNS
- https://doh.pub/dns-query
fallback:
- https://1.1.1.1/dns-query # 境外 DNS
- https://8.8.8.8/dns-query
fallback-filter:
geoip: true
geoip-code: CN
proxies:
- name: Japan-VPS
type: vless
server: YOUR.VPS.IP # ← VPS 的 IP 地址
port: 8443 # ← 和服务端一致
uuid: YOUR-UUID-HERE # ← 你生成的 UUID
flow: xtls-rprx-vision
tls: true
udp: true
network: tcp
reality-opts:
public-key: YOUR-PUBLIC-KEY # ← xray x25519 生成的 PublicKey
short-id: YOUR-SHORT-ID # ← openssl rand -hex 8 的结果
servername: YOUR-DOMAIN # ← 伪装域名,如 blog.example.com
client-fingerprint: chrome # 伪装成 Chrome,也可填 firefox
proxy-groups:
- name: Proxy
type: select
proxies:
- Japan-VPS
- DIRECT
rules:
- GEOSITE,private,DIRECT # 局域网直连
- GEOIP,private,DIRECT,no-resolve
- GEOSITE,cn,DIRECT # 国内域名直连
- GEOIP,cn,DIRECT,no-resolve # 国内 IP 直连
- MATCH,Proxy # 其余走代理
导入配置并开启代理
- 打开 Clash Verge Rev
- 左侧点击 "配置" → 右上角点击 "导入" → 选择本地文件 → 找到
config.yaml - 点击配置条目右侧的 "启用"
- 左侧点击 "设置" → 打开 "系统代理" 开关(变蓝色)
- 代理模式保持 "规则"
✅ 第七步:验证一下
测节点延迟
Clash Verge Rev → "代理" 页面 → 找到 Japan-VPS → 点击旁边的 ⚡ 测速图标。
- 显示毫秒数(如
85ms)= 连接正常 🎉 - 显示超时 = 检查配置,看下方排错指南
测代理 IP
打开浏览器访问 https://ip.sb,显示日本 IP = 成功。
测国内直连
访问 https://www.baidu.com,速度和没开代理一样 = 分流规则正常工作。
🛠️ 排错指南
遇到问题别慌,90% 的情况都是这几种:
❌ Configuration FAILED(配置格式错误)
把 config.json 的内容复制到 https://jsonlint.com 在线验证,通常是多了逗号或者引号用了中文。
❌ 节点超时,连不上
按顺序检查:
# 1. Xray 是否在跑
systemctl status xray
# 2. 端口是否在监听
ss -tlnp | grep 8443
# 3. 防火墙是否放行
ufw status | grep 8443
还不行就去 VPS 控制台检查安全组设置。
❌ 浏览器走代理了,但游戏不走
在 Clash Verge Rev "设置" 里开启 TUN 模式,可以接管系统所有流量,包括不读系统代理的程序。
❌ 开代理后国内网站变慢
确认 Clash 的代理模式是 "规则" 而不是 "全局"。规则模式下国内流量完全不经过代理。
🔧 日常维护
升级 Xray 到最新版
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
systemctl restart xray
查看实时日志
journalctl -u xray -f
添加更多用户
在 config.json 的 clients 数组里追加新条目,每个用户用不同的 UUID:
"clients": [
{
"id": "第一个用户的UUID",
"flow": "xtls-rprx-vision"
},
{
"id": "第二个用户的UUID",
"flow": "xtls-rprx-vision"
}
]
修改后记得 systemctl restart xray。
💬 最后说几句
搭完这套东西之后我用了好几个月,稳定性比我用过的任何机场都要好。最重要的是心里踏实——IP 是自己的,流量是自己的,没有人在中间看着你。
Reality 这个协议真的厉害,和服务器的握手过程跟访问普通 HTTPS 网站一模一样,连深度包检测都很难分辨。加上 XTLS-Vision 的内层透传,整个流量链路几乎没有任何多余的特征暴露。
如果你也有一台境外 VPS 闲置着,强烈建议按这篇教程折腾一下。30 分钟搭好,用好几年。
📌 参数速查卡(抄到备忘录里)
参数 来源 VPS IP 你的 VPS 控制台 端口 自定义,本文用 8443 UUID xray uuidPrivateKey(服务端用) xray x25519PublicKey(客户端用) xray x25519shortId openssl rand -hex 8伪装域名 自选,需支持 TLS 1.3 + H2
有问题欢迎留言,能帮到你就好。 ✌️
读者反馈
你希望这篇文章补充什么?
可以留下你想看的功能、改进建议或后续教程方向。我会定期整理。
最新建议
还没有建议,你可以抢个沙发。
为了去重统计,只保存 IP、浏览器信息和本机指纹的哈希,不保存明文 IP。