在今天的讲解中,我们使用目前圈子里公认最好用的——233boy/sing-box一键脚本搭建VPN服务器。
如果只有单台服务器,直接使用方案一即可,十秒秒获VLESS-REALITY的服务器节点,连入你的VPN客户端即可。
如果你也像我一样,有链式代理(VPS-A中转 → VPS-B落地)的需求,建议使用方案二在VPS-B(落地节点)上用一键脚本部署Reality服务,在VPS-A(中转节点)上用iptables做端口转发。这样配置简单、性能最高。

下面我分别给出两种方案:


📦 方案一:单台VPS一键脚本部署(强烈推荐)

🔧 233boy/sing-box 一键脚本

这是目前GitHub上最流行、功能最全的sing-box一键脚本,由233boy开发。

一键安装命令:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

脚本特点:

  • ⚡ 秒级添加配置,零学习成本
  • 🔐 自动创建 VLESS-REALITY(默认)、TUIC、Trojan、Hysteria2、Shadowsocks 2022等
  • 🌐 支持 VMess-(TCP/HTTP/QUIC) 及 WS/HTTPUpgrade TLS 变种
  • 🔧 一键更改端口/UUID/域名/密码/伪装网站等
  • 📱 自动显示分享链接、二维码、Clash-Meta配置等

常用管理命令:

功能 命令
添加配置(默认Reality) sing-box a
添加Hysteria2 sing-box a hysteria2
添加TUIC sing-box a tuic
查看所有配置 sing-box i
删除配置 sing-box d [name]
更改端口 sing-box change [name] port auto
查看日志 sing-box log
重启服务 sing-box restart
显示帮助 sing-box help

📚 官方文档https://233boy.com/sing-box/sing-box-script/


🔗 方案二:完整链式代理配置(中转+落地)

如果你需要“电脑 → VPS-A(中转) → VPS-B(落地Reality)→ 目标”的完整链路,这是可用的直接版本。

📍 第一步:VPS-B(落地节点)部署Reality

用233boy一键脚本在VPS-B上安装:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

安装完成后,添加Reality配置:

1
sing-box a reality

记录输出信息,你需要记下:端口UUID公钥(PublicKey)短ID(ShortId)

📍 第二步:VPS-A(中转节点)端口转发

VPS-A不需要装sing-box,只需要用iptables做四层转发。

1. 开启IP转发:

1
2
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

2. 添加转发规则(假设VPS-B内网IP为10.0.0.2,Reality端口为443):

1
2
3
# 将发往VPS-A:8443的流量转发到VPS-B:443
iptables -t nat -A PREROUTING -p tcp --dport 8443 -j DNAT --to-destination 10.0.0.2:443
iptables -t nat -A POSTROUTING -d 10.0.0.2 -j MASQUERADE

3. 保存规则:

Ubuntu/Debian:

1
2
apt install iptables-persistent -y
netfilter-persistent save

CentOS:

1
2
yum install iptables-services -y
service iptables save

📍 第三步:电脑客户端连接

在客户端软件(如nekoray、sing-box、Clash Meta)中,服务器地址填写 VPS-A的公网IP,端口填写8443,其他参数(UUID、PublicKey、ShortId等)与VPS-B的Reality配置完全一致。

这样流量路径是:电脑(Reality)→ VPS-A:8443 →(内网转发)→ VPS-B:443 → 目标网站,落地节点IP完全隐藏。


📋 其他补充参考

🐍 Python链式代理方案

如果你需要程序化集成,可以使用singbox2proxy这个PyPI包,支持VMess、VLESS、Trojan、Hysteria2、TUIC等协议的链式代理:

1
2
3
4
5
6
from singbox2proxy import SingBoxProxy

# 链式代理:电脑 → proxy1 → proxy2 → 目标
proxy1 = SingBoxProxy("vmess://...")
proxy2 = SingBoxProxy("vless://...", chain_proxy=proxy1)
response = proxy2.request("GET", "https://api.ipify.org")

📝 手动配置链式代理(sing-box config.json)

如果你想手动写配置,以下是完整的链式代理JSON模板:

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
{
"log": { "level": "info" },
"inbounds": [
{
"type": "socks",
"tag": "in-socks",
"listen": "0.0.0.0",
"listen_port": 10808,
"users": [
{ "username": "your_username", "password": "your_password" }
]
}
],
"outbounds": [
{
"type": "vless",
"tag": "reality-out",
"server": "VPS-B的内网IP",
"server_port": 443,
"uuid": "你的UUID",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"public_key": "VPS-B的公钥",
"short_id": "你的ShortId"
}
}
}
],
"route": {
"rules": [
{ "inbound": "in-socks", "outbound": "reality-out" }
]
}
}

💎 总结

你的需求 推荐方案
快速搭一个Reality节点 用233boy一键脚本,一条命令搞定
需要链式代理(中转+落地) VPS-B用一键脚本,VPS-A用iptables转发
想自己写配置文件 用上面的JSON模板

现在你只需要在VPS-B上跑一下这条命令,几分钟就能得到一个可用的Reality节点:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

安装完输入 sing-box help 就能看到所有命令了~