首页
首页
文章目录
  1. 前言
  2. 第一步:准备服务器
    1. 购买阿里云海外服务器
    2. 安全组配置
  3. 第二步:服务器端配置
    1. 连接服务器
    2. 安装 Xray
    3. 生成密钥对
    4. 生成 UUID
    5. 配置 Xray
    6. 设置权限并启动
  4. 第三步:客户端配置(macOS)
    1. 安装 FlClash
    2. 创建配置文件
    3. 导入到 FlClash
    4. 选择节点
  5. 第四步:测试连接
    1. 浏览器测试
    2. 测试 AI 服务
    3. 确认国内网站直连
  6. 踩坑点总结 ⚠️
    1. 坑点 1:FlClash 不支持直接导入 vless:// 链接
    2. 坑点 2:TUN 模式 vs 系统代理模式
    3. 坑点 3:Reality 协议的 Public Key 计算
    4. 坑点 4:配置文件修改后不生效
  7. 常见问题
    1. Q1: 连接失败怎么办?
    2. Q2: 速度慢怎么办?
    3. Q3: 如何更新 Xray?
    4. Q4: 如何查看日志?
  8. 安全建议
  9. 总结
  10. 参考资料

从零搭建海外代理服务器:Xray + Reality 完整实战

前言

本文记录了在阿里云海外服务器上搭建自己的代理服务的完整过程,使用 Xray + VLESS + Reality 协议。包括实际遇到的所有坑点和解决方案。

为什么选择自建?

  • 完全掌控,不受第三方限制
  • 独享带宽,速度稳定
  • 隐私安全,数据不经过他人
  • 成本可控,按需付费

技术栈:

  • 服务器:阿里云海外 Ubuntu 24.04
  • 代理工具:Xray v26.3.27
  • 协议:VLESS + XTLS-Reality
  • 客户端:FlClash (macOS)

第一步:准备服务器

购买阿里云海外服务器

  1. 登录阿里云控制台
  2. 选择 ECS 云服务器
  3. 地区选择:香港/新加坡/日本(延迟低)
  4. 系统:Ubuntu 24.04 LTS
  5. 配置:最低 1核2G 即可
  6. 带宽:按需选择,建议至少 5Mbps

记录服务器信息:

  • 公网 IP
  • 登录密码

安全组配置

在阿里云控制台配置安全组规则:

协议 端口 源地址 说明
TCP 22 0.0.0.0/0 SSH 管理
TCP 443 0.0.0.0/0 Xray 代理

第二步:服务器端配置

连接服务器

1
ssh root@你的服务器IP

Mac 用户自动化登录(可选):

创建 expect 脚本 ssh-login.sh

1
2
3
4
5
6
#!/usr/bin/expect -f
set timeout 30
spawn ssh root@你的服务器IP
expect "password:"
send "你的密码\r"
interact

使用方法:

1
2
chmod +x ssh-login.sh
./ssh-login.sh

安装 Xray

使用官方一键安装脚本:

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

验证安装:

1
xray version

生成密钥对

Xray Reality 需要一对公私钥:

1
xray x25519

输出示例:

1
2
Private key: QI6nmwo4Qb14m3_kKHxl1W3BFUkoAa05tpe8S7jlHXQ
Public key: nSLrUCWmOfCSDKiquOXXrIt5QFNBc4vZtEMSexnZQzw

保存好这两个密钥!

生成 UUID

1
xray uuid

保存输出的 UUID。

配置 Xray

编辑配置文件:

1
nano /usr/local/etc/xray/config.json

粘贴以下内容(替换你自己的密钥和 UUID):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "你的UUID",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.microsoft.com:443",
"serverNames": [
"www.microsoft.com"
],
"privateKey": "你的私钥",
"shortIds": [
"abcd1234"
]
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
}
]
}

配置说明:

  • port: 443:使用 HTTPS 端口,不易被封
  • protocol: vless:轻量级协议
  • flow: xtls-rprx-vision:启用 XTLS 加速
  • dest: www.microsoft.com:443:伪装目标,看起来像在访问微软
  • shortIds:自定义短 ID,可以随意设置

保存文件(Ctrl+O,Enter,Ctrl+X)。

设置权限并启动

1
2
3
chmod 644 /usr/local/etc/xray/config.json
systemctl start xray
systemctl enable xray # 开机自启

验证运行状态:

1
2
systemctl status xray
ss -tlnp | grep 443

应该看到 active (running) 和 Xray 在监听 443 端口。

第三步:客户端配置(macOS)

安装 FlClash

  1. 下载 FlClash:https://github.com/chen08209/FlClash/releases
  2. 安装到应用程序文件夹
  3. 打开 FlClash,允许系统权限

创建配置文件

创建文件 aliyun_proxy.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
proxies:
- name: 🇨🇳 Aliyun
type: vless
server: 你的服务器IP
port: 443
uuid: 你的UUID
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision
servername: www.microsoft.com
reality-opts:
public-key: 你的公钥
short-id: abcd1234
client-fingerprint: chrome

proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- 🇨🇳 Aliyun
- DIRECT

- name: 🤖 AI
type: select
proxies:
- 🇨🇳 Aliyun
- 🚀 节点选择

- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- 🚀 节点选择

rules:
- DOMAIN-SUFFIX,deepseek.com,🤖 AI
- DOMAIN-KEYWORD,deepseek,🤖 AI
- DOMAIN-SUFFIX,openai.com,🤖 AI
- DOMAIN-SUFFIX,anthropic.com,🤖 AI
- DOMAIN-SUFFIX,claude.ai,🤖 AI
- GEOIP,CN,🎯 全球直连
- MATCH,🚀 节点选择

导入到 FlClash

打开 FlClash → 配置 → 添加 → 从文件导入 → 选择 aliyun_proxy.yaml

选择节点

  1. 点击菜单栏 FlClash 图标
  2. 代理 → 🚀 节点选择
  3. 选择 “🇨🇳 Aliyun”

第四步:测试连接

浏览器测试

  1. 访问 https://www.google.com
  2. 搜索 “what is my ip”
  3. 确认显示的是服务器 IP

测试 AI 服务

确认国内网站直连

访问 https://www.baidu.com,应该显示你的真实 IP(不走代理)。

踩坑点总结 ⚠️

坑点 1:FlClash 不支持直接导入 vless:// 链接

问题:尝试用 vless:// 格式的链接导入时,FlClash 提示”要网址格式”。

解决方案:创建 YAML 配置文件,通过”从文件导入”。

坑点 2:TUN 模式 vs 系统代理模式

问题:命令行工具(curl)无法通过代理访问,但浏览器可以。

原因

  • TUN 模式(虚拟网卡):直接接管系统网络流量,不监听代理端口
  • 系统代理模式:监听端口(如 7890),需要应用主动连接

解决方案

  • 如果主要用浏览器:推荐 TUN 模式
  • 如果需要命令行工具走代理:切换到系统代理模式

坑点 3:Reality 协议的 Public Key 计算

问题:服务器配置文件中只有 privateKey,客户端需要 public-key

解决方案

1
2
3
# 在服务器上执行
xray x25519
# 会同时输出私钥和公钥

坑点 4:配置文件修改后不生效

问题:修改了配置文件,但 FlClash 还是用旧配置。

解决方案

  • 在 FlClash 界面切换到其他配置再切回来
  • 或点击配置文件旁边的刷新按钮

常见问题

Q1: 连接失败怎么办?

检查服务器端:

1
2
systemctl status xray  # 确认服务运行
ss -tlnp | grep 443 # 确认端口监听

检查防火墙:

1
2
ufw status  # 如果启用了,需要开放 443 端口
ufw allow 443/tcp

检查阿里云安全组:

  • 确保 443 端口对外开放

Q2: 速度慢怎么办?

  1. 更换服务器地区(选择离你更近的)
  2. 升级带宽
  3. 更换伪装域名(dest 参数)

Q3: 如何更新 Xray?

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

Q4: 如何查看日志?

1
journalctl -u xray -f

安全建议

  1. 定期更新系统:

    1
    apt update && apt upgrade -y
  2. 修改 SSH 端口:

    1
    2
    3
    nano /etc/ssh/sshd_config
    # 修改 Port 22 为其他端口
    systemctl restart sshd
  3. 禁用密码登录,使用密钥:

    1
    2
    3
    ssh-keygen -t ed25519
    ssh-copy-id root@你的服务器IP
    # 然后在 sshd_config 中设置 PasswordAuthentication no
  4. 定期更换 UUID 和密钥:

    • 每 3-6 个月更换一次
    • 同时更新服务器和客户端配置
  5. 监控流量:

    1
    2
    apt install vnstat
    vnstat -l # 实时流量监控

总结

通过本文,你已经成功搭建了自己的代理服务器!

优势:

  • ✅ 独享带宽,速度稳定
  • ✅ 隐私安全,数据加密
  • ✅ 完全掌控,随时调整
  • ✅ Reality 伪装,不易被检测

后续优化:

  • 配置 CDN 加速
  • 多端口负载均衡
  • 自动化监控告警
  • 流量统计分析

参考资料


免责声明: 本教程仅供技术学习交流使用,请遵守当地法律法规。

🌹
加油,越来越好