---
title: "我用自己的日本服务器翻墙，折腾了一天终于搞定了"
date: 2026-05-21
tags: [VPS, 科学上网, Xray, 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
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
```

### 验证安装

```bash
# 查看版本号
xray --version

# 查看运行状态，应该显示 active (running)
systemctl status xray
```

安装后各文件的位置：

| 路径 | 用途 |
|------|------|
| `/usr/local/bin/xray` | 可执行文件 |
| `/usr/local/etc/xray/config.json` | **主配置文件，我们主要编辑这个** |
| `/var/log/xray/` | 日志目录 |

---

## 🔑 第二步：生成密钥

Reality 协议需要三个关键参数，都用 Xray 自带的命令生成，**不要自己随便写**。

### 生成 Reality 密钥对

```bash
xray x25519
```

输出类似这样（你的结果和这里不同，这是正常的）：

```
PrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Password (PublicKey): yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
```

- `PrivateKey` → **只填在服务端配置里，绝对不要泄露**
- `PublicKey` → **填在客户端配置里，可以公开**

### 生成用户 UUID

```bash
xray uuid
```

输出一串类似这样的 ID：

```
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```

**服务端和客户端都要填这个，而且必须完全一致。**

### 生成 shortId

```bash
openssl rand -hex 8
```

输出 16 位十六进制字符串，例如：

```
a1b2c3d4e5f6a7b8
```

> 📝 **建议现在就把这三个值记在一个文本文件里**，接下来配置文件里会用到。

---

## ⚙️ 第三步：配置服务端

### 打开配置文件

```bash
# nano 编辑器（Ctrl+O 保存，Ctrl+X 退出）
nano /usr/local/etc/xray/config.json
```

### 把文件内容全部替换为以下内容

把下面 `YOUR-` 开头的占位符全部换成你刚才生成的值：

```json
{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 8443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "YOUR-UUID-HERE",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "dest": "YOUR-DOMAIN:443",
          "xver": 0,
          "serverNames": [
            "YOUR-DOMAIN"
          ],
          "privateKey": "YOUR-PRIVATE-KEY",
          "shortIds": [
            "YOUR-SHORT-ID",
            ""
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls", "quic"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "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 格式注意事项：**
> - 不能有多余的逗号（最后一项后面不加逗号）
> - 所有引号必须是英文双引号 `"`，不能是中文引号 `""`

### 验证配置并重启

```bash
# 测试配置文件语法
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 默认防火墙）

```bash
# 放行 8443 端口
ufw allow 8443/tcp

# 确认
ufw status | grep 8443
```

### 如果用的是 iptables

```bash
iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
iptables-save > /etc/iptables/rules.v4
```

> 💡 **别忘了检查 VPS 厂商的控制台！** 很多厂商（比如腾讯云、阿里云、Vultr 等）除了系统防火墙，还有一层**安全组/网络防火墙**需要在控制面板里单独放行端口。进控制台找"安全组"或"防火墙"，添加一条入站规则放行 TCP 8443 端口。

### 测试端口是否可达

在你的 Windows 电脑上，打开 PowerShell 执行：

```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-` 开头的占位符换成你自己的值：

```yaml
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                 # 其余走代理
```

### 导入配置并开启代理

1. 打开 Clash Verge Rev
2. 左侧点击 **"配置"** → 右上角点击 **"导入"** → 选择本地文件 → 找到 `config.yaml`
3. 点击配置条目右侧的 **"启用"**
4. 左侧点击 **"设置"** → 打开 **"系统代理"** 开关（变蓝色）
5. 代理模式保持 **"规则"**

---

## ✅ 第七步：验证一下

### 测节点延迟

Clash Verge Rev → **"代理"** 页面 → 找到 `Japan-VPS` → 点击旁边的 ⚡ 测速图标。

- 显示毫秒数（如 `85ms`）= 连接正常 🎉
- 显示超时 = 检查配置，看下方排错指南

### 测代理 IP

打开浏览器访问 `https://ip.sb`，显示日本 IP = 成功。

### 测国内直连

访问 `https://www.baidu.com`，速度和没开代理一样 = 分流规则正常工作。

---

## 🛠️ 排错指南

遇到问题别慌，90% 的情况都是这几种：

### ❌ Configuration FAILED（配置格式错误）

把 `config.json` 的内容复制到 [https://jsonlint.com](https://jsonlint.com) 在线验证，通常是多了逗号或者引号用了中文。

### ❌ 节点超时，连不上

按顺序检查：

```bash
# 1. Xray 是否在跑
systemctl status xray

# 2. 端口是否在监听
ss -tlnp | grep 8443

# 3. 防火墙是否放行
ufw status | grep 8443
```

还不行就去 VPS 控制台检查安全组设置。

### ❌ 浏览器走代理了，但游戏不走

在 Clash Verge Rev **"设置"** 里开启 **TUN 模式**，可以接管系统所有流量，包括不读系统代理的程序。

### ❌ 开代理后国内网站变慢

确认 Clash 的代理模式是 **"规则"** 而不是 **"全局"**。规则模式下国内流量完全不经过代理。

---

## 🔧 日常维护

### 升级 Xray 到最新版

```bash
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
systemctl restart xray
```

### 查看实时日志

```bash
journalctl -u xray -f
```

### 添加更多用户

在 `config.json` 的 `clients` 数组里追加新条目，每个用户用不同的 UUID：

```json
"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 uuid` |
> | PrivateKey（服务端用）| `xray x25519` |
> | PublicKey（客户端用）| `xray x25519` |
> | shortId | `openssl rand -hex 8` |
> | 伪装域名 | 自选，需支持 TLS 1.3 + H2 |

---

*有问题欢迎留言，能帮到你就好。* ✌️
