本文最后更新于 51 天前,其中的信息可能已经有所发展或是发生改变。
视频教程
这篇教程教你如何在一台已安装 3x-ui 的 VPS 上,快速完成:
- 按需创建
VLESS / Trojan / VMess节点 - 自动写入 3x-ui 数据库并重启服务
- 自动配置 Cloudflare
DNS + SSL + Origin Rules - 自动生成可用的优选订阅链接
- 支持一键卸载并回滚配置
一、前置条件
开始前请先确认以下条件:
- VPS 上已安装并可正常运行
3x-ui
2.如果没有复制下面的命令安装
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
二、在服务器上执行安装命令
直接复制以下命令
command -v python3 >/dev/null 2>&1 || (sudo apt update && sudo apt install -y python3)
curl -fsSL -o xui_cf_deployer.py https://raw.githubusercontent.com/byJoey/xui-cf-deployer/main/xui_cf_deployer.py
chmod +x xui_cf_deployer.py
sudo python3 xui_cf_deployer.py

三、安装模式交互说明
脚本启动后会先让你选择模式:
1:安装(默认)2:卸载
安装时依次输入:
- 绑定域名(例如:
node.joeyblog.net) - Cloudflare 邮箱
- Cloudflare Global API Key(隐藏输入)
- 协议选择(示例:
1,2表示只创建 VLESS+Trojan;留空表示全部)
协议编号:
1 = VLESS2 = Trojan3 = VMess

四、部署成功后会发生什么
脚本会自动完成以下动作:
- 生成 UUID、随机端口、随机路径
- 写入 3x-ui
入站列表 - 重启
x-ui - Cloudflare 创建/更新 A 记录并开启代理(橙云)
- Cloudflare SSL 设置为
灵活 - 下发 Origin Rules(按路径转发到对应端口)
- 输出所选协议的订阅链接





五、如何卸载并回滚
如果你要清理本次配置,重新运行脚本并选择卸载模式:
sudo python3 xui_cf_deployer.py
模式输入:
2(卸载)
卸载会自动执行:
- 删除上次创建的 3x-ui 入站
- 恢复 Cloudflare Origin Rules
- 恢复 Cloudflare SSL 配置
- 恢复或删除对应 DNS 记录
- 删除本地状态记录
七、常见问题
1)curl 下载报 404
请确认仓库地址和分支正确,且脚本文件存在于主分支根目录。
2)提示 Zone 匹配失败
请检查输入的域名是否属于当前 Cloudflare 账号下的 Zone。
3)提示数据库或权限错误
请使用 sudo 执行,并确认 3x-ui 已安装且数据库路径为 /etc/x-ui/x-ui.db。
4)提示检测到上次配置无法安装
先执行一次卸载模式,再重新安装。
5)Cloudflare API 返回 code: 6003
{
"success": false,
"errors": [
{
"code": 6003,
"message": "Invalid request headers",
"error_chain": [
{
"code": 6103,
"message": "Invalid format for X-Auth-Key header"
}
]
}
],
"messages": [],
"result": null
}
原因通常是 X-Auth-Key(Global API Key)格式错误,例如:
- 复制时带了空格、换行或中文引号
- 粘贴成了 API Token(而不是 Global API Key)
- 输入了错误账号下的 Key
处理方法:
- 到 Cloudflare 控制台重新复制 Global API Key
- 粘贴时确保前后无空格、无换行
- 同时确认邮箱与该 Key 属于同一个 Cloudflare 账号
6)Cloudflare API 返回 code: 9109(权限不足)
常见于当前凭据无权修改 DNS / Zone 设置。
处理方法:
- 确认账号对目标域名所在 Zone 有管理权限
- 若你使用的是 API Token,需开启对应权限(建议脚本场景优先使用 Global API Key)
7)Cloudflare API 返回 code: 7003(资源不存在)
通常是 Zone ID、记录 ID 或请求路径不匹配导致。
处理方法:
- 检查域名是否真的在当前账号下
- 确认脚本获取到的 Zone 与你输入域名一致
- 如曾手动改动过记录,可先卸载再重装
8)unable to open database file
表示脚本无法打开 3x-ui 数据库,请确定你安装了3-xui
八、结语
通过这套脚本,你可以把 3x-ui 节点创建、Cloudflare 路由配置和订阅分发整合成一次操作,降低手工配置成本,也更适合批量部署和复用。
创建协议(1=vless,2=trojan,3=vmess,逗号分隔,留空=全部): 1,2
unable to open database file
确定有没有安装3xui
不错,大佬,协议除了这三个,还有别的吗?可以用reality 吗?
可以的 但是reality 走不了cdn 加速 你完全可以自己创建的
为啥不加TLS
装完x-ui, 接着复制脚本连接,完全没反应,两个脚本都是了
贴个图
能支持s-ui吗?(https://github.com/alireza0/s-ui)
给不了图这里,但我看了一下,主要是3xui未运行,我两个节点都是未运行。日志显示x-ui.service: Failed with result ‘exit-code’.
这种没有TLS和 reality 的安全吗,我只开启CF代理,我在入站列表内新建一个带TLS伪装的,订阅出来没有带优选IP的节点,只有一个自建的。
流程跑通了,但是节点全是-1,不知道哪的问题。。。。CF上的配置看都调整了
对了,我提用RN服务器
服务器端口没开放
为什么全是-1呢