OpenClaw (Moltbot / Clawdblot) 在 VPS 上搭建 Reality 节点 过程记录
上一篇 我们搭建了 OpenClaw (Moltbot / Clawdblot) 并建立了 Telegram 交互
现在我们来试试让 OpenClaw 对VPS这个环境施加改变
比如, 搭建一个Reality节点?
以下是对话全记录, 我发出的部分是绿色底色
ǝɔ∀ǝdʎz∀ɹɔ 👽, [2026/1/30 14:56]
接下来我需要你执行一个步骤比较多的任务
目标:
使用 xray 内核 搭建一个 reality 协议的服务端
你需要的信息如下:
xray 内核
https://github.com/XTLS/Xray-core
reality 协议参数
端口 (port) = 8443
用户ID (id) = fb0d60cf-1084-412d-ba59-fd5c1166b89d
流控 (flow) = xtls-rprx-vision
传输协议 (network) = tcp
传输层安全 (TLS) = reality
SNI (serverName) = www.paypal.com
指纹 (Fingerprint) = random
💎小助理, [2026/1/30 14:56]
我将为你搭建一个使用Xray内核的Reality协议服务端。这是一个多步骤的任务,我会逐步完成。
首先,让我检查系统环境并下载Xray内核:
💎小助理, [2026/1/30 14:56]
很好,这是一个AMD64架构的Linux系统。现在我将下载Xray内核:
💎小助理, [2026/1/30 14:56]
现在解压并安装Xray:
💎小助理, [2026/1/30 14:56]
让Xray可执行:
💎小助理, [2026/1/30 14:56]
现在创建Xray的配置文件,配置Reality协议:
💎小助理, [2026/1/30 14:56]
现在我需要生成Reality私钥和公钥,这是Reality协议必需的:
💎小助理, [2026/1/30 14:56]
现在我需要更新配置文件,添加生成的私钥:
💎小助理, [2026/1/30 14:56]
现在让我们创建一个systemd服务文件来管理Xray服务:
💎小助理, [2026/1/30 14:56]
现在让我们启动Xray服务:
💎小助理, [2026/1/30 14:57]
检查服务状态:
💎小助理, [2026/1/30 14:57]
太好了!Xray服务已成功启动并正在监听8443端口。现在让我检查防火墙设置以确保端口开放:
💎小助理, [2026/1/30 14:57]
完美!Xray Reality服务器已成功部署。让我总结一下已完成的配置:
1. 已下载并安装Xray内核
2. 已创建配置文件,包含:
• 端口:8443
• 用户ID:fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow:xtls-rprx-vision
• 传输协议:tcp
• 安全协议:reality
• SNI:www.paypal.com (http://www.paypal.com/)
• 已生成并配置了Reality私钥
• 已设置shortId
3. 已创建systemd服务并启动
4. 服务正在运行并监听端口8443
你的Reality协议服务端已成功搭建并运行。客户端连接时需要使用以下参数:
• 地址:你的服务器IP地址
• 端口:8443
• UUID:fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow:xtls-rprx-vision
• 传输协议:tcp
• TLS:reality
• ServerName:www.paypal.com (http://www.paypal.com/)
• 公钥指纹:IxeHtKM1b-wXikLHfOhyfMWniwYj39nqLv2b0OKx0eo
DONE
ǝɔ∀ǝdʎz∀ɹɔ 👽, [2026/1/30 15:01]
客户端 参数给的不全,
如果你在服务端 设置了 shortid , 那么 客户端 连接时也需要这个参数
💎小助理, [2026/1/30 15:01]
你说得完全正确!我需要更新配置以包含完整的客户端参数。让我修正这个问题:
💎小助理, [2026/1/30 15:01]
你说得对,我需要提供完整的客户端连接参数。让我重新整理完整的客户端配置信息:
以下是完整的客户端连接参数:
基础参数:
• 地址(Address): 你的服务器IP地址
• 端口(Port): 8443
• UUID/ID: fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow: xtls-rprx-vision
传输协议参数:
• 传输协议(Network): tcp
• 传输层安全(TLS): reality
Reality特有参数:
• SNI/ServerName: www.paypal.com (http://www.paypal.com/)
• PublicKey: IxeHtKM1b-wXikLHfOhyfMWniwYj39nqLv2b0OKx0eo (这是从私钥生成的公钥指纹)
• ShortId: 0123456789abcdef (在配置中已设置)
• Fingerprint: randomized (默认随机化指纹)
我还需要获取公钥指纹,让我用Xray工具生成:
💎小助理, [2026/1/30 15:01]
现在我有了完整的信息,让我更新一下客户端连接参数:
完整的客户端连接参数:
基础参数:
• 地址(Address): 你的服务器IP地址
• 端口(Port): 8443
• UUID/ID: fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow: xtls-rprx-vision
传输协议参数:
• 传输协议(Network): tcp
• 传输层安全(TLS): reality
Reality特有参数:
• SNI/ServerName: www.paypal.com (http://www.paypal.com/)
• PublicKey(公钥): IxeHtKM1b-wXikLHfOhyfMWniwYj39nqLv2b0OKx0eo
• ShortId: 0123456789abcdef (在配置中已设置)
• Fingerprint: random (已在配置中设置)
客户端JSON配置示例:
{
"inbounds": [],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "YOUR_SERVER_IP",
"port": 8443,
"users": [
{
"id": "fb0d60cf-1084-412d-ba59-fd5c1166b89d",
"flow": "xtls-rprx-vision"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"publicKey": "IxeHtKM1b-wXikLHfOhyfMWniwYj39nqLv2b0OKx0eo",
"shortId": "0123456789abcdef",
"serverName": "www.paypal.com",
"fingerprint": "random"
}
}
}
]
}
DONE
插入一下v2rayN实际测试的结果
ǝɔ∀ǝdʎz∀ɹɔ 👽, [2026/1/30 15:13]
测试报错
DialTLSContext
你的公钥私钥是正确的吗?你自己运算验证一下?
💎小助理, [2026/1/30 15:14]
你说得对,我需要验证公钥和私钥的对应关系。让我进行验证:
💎小助理, [2026/1/30 15:14]
让我查看Xray的可用命令:
💎小助理, [2026/1/30 15:14]
让我看看x25519子命令的帮助:
💎小助理, [2026/1/30 15:14]
让我再查看详细帮助:
💎小助理, [2026/1/30 15:14]
现在我明白了,让我重新验证公钥和私钥的对应关系:
💎小助理, [2026/1/30 15:14]
我看到了问题所在。Xray输出的"Password"实际上是公钥,而"Hash32"是公钥的哈希值。让我重新生成密钥对并正确配置:
💎小助理, [2026/1/30 15:14]
现在我明白了Xray输出的含义:
• PrivateKey: 私钥(用于服务器配置)
• Password: 实际上是公钥(用于客户端配置)
• Hash32: 公钥的哈希值
让我更新服务器配置,使用新生成的密钥对:
💎小助理, [2026/1/30 15:15]
现在重启Xray服务使更改生效:
💎小助理, [2026/1/30 15:15]
检查服务状态:
💎小助理, [2026/1/30 15:15]
现在让我提供完整的、正确的客户端和服务端参数:
服务端配置 (已更新):
• 端口: 8443
• UUID: fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow: xtls-rprx-vision
• 传输协议: tcp
• 安全协议: reality
• SNI: www.paypal.com (http://www.paypal.com/)
• 私钥 (Private Key): qF81jc0SkoOJbp9L9cHdivLqgWCMx56LOe4BzJP73GM (用于服务器配置)
客户端参数 (正确版本):
• 地址: 你的服务器IP地址
• 端口: 8443
• UUID: fb0d60cf-1084-412d-ba59-fd5c1166b89d
• Flow: xtls-rprx-vision
• 传输协议: tcp
• TLS: reality
• SNI/ServerName: www.paypal.com (http://www.paypal.com/)
• 公钥 (Public Key): GZKj416HiV6DwS2NzVRVHV49qM-jiBg1UgtvKsgGOmI (从私钥生成的公钥)
• ShortId: 0123456789abcdef
• Fingerprint: random
客户端JSON配置示例:
{
"inbounds": [],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "YOUR_SERVER_IP",
"port": 8443,
"users": [
{
"id": "fb0d60cf-1084-412d-ba59-fd5c1166b89d",
"flow": "xtls-rprx-vision"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"publicKey": "GZKj416HiV6DwS2NzVRVHV49qM-jiBg1UgtvKsgGOmI",
"shortId": "0123456789abcdef",
"serverName": "www.paypal.com",
"fingerprint": "random"
}
}
}
]
}
DONE
ǝɔ∀ǝdʎz∀ɹɔ 👽, [2026/1/30 15:17]
嗯。 测试通过了。
把这个经验保存到长期记忆中。
下次用 xray 创造 reality 节点不要犯同样的错误了。
💎小助理, [2026/1/30 15:17]
好的,我会将这次Xray Reality配置的经验教训添加到长期记忆中,以便将来参考:
💎小助理, [2026/1/30 15:17]
DONE
========
在这之后, 我又让 TA 建一个 Reality 节点
ǝɔ∀ǝdʎz∀ɹɔ 👽, [2026/1/30 15:19]
接下来我需要你执行一个步骤比较多的任务
目标:
使用 xray 内核 搭建一个 reality 协议的服务端, 并输出客户端 连接需要的参数
你需要的信息如下:
xray 内核
https://github.com/XTLS/Xray-core
reality 协议参数
端口 (port) = 18443
用户ID (id) = 525193a3-9760-41a2-95f2-677457069a9f
流控 (flow) = xtls-rprx-vision
传输协议 (network) = tcp
传输层安全 (TLS) = reality
SNI (serverName) = www.paypal.com
指纹 (Fingerprint) = random
💎小助理, [2026/1/30 15:20]
我将为你搭建另一个使用Xray内核的Reality协议服务端。根据我们在前面任务中学到的经验,我会确保正确配置公钥和私钥。
首先,我将生成新的密钥对:
💎小助理, [2026/1/30 15:20]
现在创建新的配置文件,这次使用你提供的参数:
💎小助理, [2026/1/30 15:20]
现在创建一个专门针对这个服务的systemd服务文件:
💎小助理, [2026/1/30 15:20]
现在启动新的Xray服务:
💎小助理, [2026/1/30 15:20]
检查服务状态:
💎小助理, [2026/1/30 15:20]
检查端口是否正确监听:
💎小助理, [2026/1/30 15:21]
完美!现在提供完整的客户端连接参数:
服务端配置:
• 端口: 18443
• UUID: 525193a3-9760-41a2-95f2-677457069a9f
• Flow: xtls-rprx-vision
• 传输协议: tcp
• 安全协议: reality
• SNI: www.paypal.com (http://www.paypal.com/)
• 私钥: yGZkpC0uTokoWyjvDlhgtbJEFok2ki_NlmJr-2aJ8H8 (用于服务器配置)
客户端参数:
• 地址: 你的服务器IP地址
• 端口: 18443
• UUID: 525193a3-9760-41a2-95f2-677457069a9f
• Flow: xtls-rprx-vision
• 传输协议: tcp
• TLS: reality
• SNI/ServerName: www.paypal.com (http://www.paypal.com/)
• 公钥 (Public Key): h6yyCD_WgCOfqCzKCHFhtTT9PCuJr452C5HJpmXVPVk (从私钥生成的公钥)
• ShortId: 0123456789abcdef
• Fingerprint: random
客户端JSON配置示例:
{
"inbounds": [],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "YOUR_SERVER_IP",
"port": 18443,
"users": [
{
"id": "525193a3-9760-41a2-95f2-677457069a9f",
"flow": "xtls-rprx-vision"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"publicKey": "h6yyCD_WgCOfqCzKCHFhtTT9PCuJr452C5HJpmXVPVk",
"shortId": "0123456789abcdef",
"serverName": "www.paypal.com",
"fingerprint": "random"
}
}
}
]
}
服务已成功启动并监听在18443端口上。根据我们之前学到的经验,这次配置应该能正常工作,因为我们正确设置了公钥和私钥对。
DONE
这次直接就成功了.
评论
发表评论