Prompt:
# 任务:自动部署 XBoard + Xboard-Node,并配置 VLESS + Reality 节点
你现在是一名熟悉 Ubuntu、Docker、Docker Compose、XBoard、Xboard-Node、Xray、VLESS、Reality、Nginx/Caddy 和 Linux 网络配置的运维工程师。
我要你直接连接我的远程 Ubuntu 22.04 服务器,并尽可能全自动完成整个部署过程。
## 一、服务器信息
远程服务器:
* IP:<IP>
* SSH 用户名:root
* SSH 密码:<Password>
* 系统:Ubuntu 22.04
请通过 SSH 登录服务器执行后续操作。
除非确实无法继续,否则不要让我手动执行命令。
---
# 二、最终目标
我要在这台服务器上同时运行:
1. XBoard 面板
2. Xboard-Node
3. 一个 VLESS + Reality 节点
4. Xboard-Node 与 XBoard 面板完成对接
5. 在 XBoard 中创建默认节点组
6. 默认节点组包含当前创建的所有节点
7. 创建 3 个订阅套餐
8. 三个套餐全部可以使用默认节点组里的全部节点
最终我要能够:
* 打开 XBoard 管理后台
* 用户注册/购买套餐
* 获得订阅链接
* 使用套餐内流量连接 VLESS + Reality 节点
---
# 三、执行原则
请你自主完成部署,不要只是告诉我应该执行哪些命令。
你需要实际:
* SSH 登录服务器
* 检查系统环境
* 安装依赖
* 创建目录
* 编写配置文件
* 编写 Docker Compose
* 启动容器
* 初始化数据库
* 初始化 XBoard
* 部署 Xboard-Node
* 配置 Reality
* 完成 XBoard 与 Xboard-Node 对接
* 创建节点
* 创建节点组
* 创建套餐
* 验证系统是否正常运行
如果某些步骤无法通过 Web API 自动完成,可以:
1. 优先查阅当前项目官方文档、GitHub README、官方示例配置;
2. 使用 XBoard 官方支持的 CLI / API;
3. 必要时使用数据库进行初始化,但修改数据库前必须先确认当前版本的数据结构;
4. 不要凭记忆猜测已经可能过时的配置字段。
请优先使用当前最新稳定且互相兼容的版本。
不要使用已经明显弃用的部署方式。
---
# 四、安全要求
不要破坏服务器上已有的重要服务。
开始前先检查:
```bash
uname -a
lsb_release -a
df -h
free -h
docker --version
docker compose version
ss -lntup
```
如果服务器已经安装 Docker,优先复用。
如果没有,则安装官方 Docker Engine 和 Docker Compose Plugin。
不要执行类似下面这种高风险命令:
```bash
rm -rf /
rm -rf /*
iptables -F
```
不要随意关闭服务器安全机制。
只开放实际需要的端口。
部署过程中生成的:
* 数据库密码
* APP_KEY
* API Key
* Reality Private Key
* Node Token
* 后台管理员密码
都必须使用安全的随机值。
不要把数据库端口暴露到公网。
---
# 五、Docker Compose 部署 XBoard
请为 XBoard 创建独立目录,例如:
```bash
/opt/xboard
```
使用 Docker Compose 部署。
Docker Compose 至少需要包含 XBoard 正常运行所需要的:
* XBoard
* 数据库
* Redis(如果当前版本需要)
* Web Server / Reverse Proxy(如果需要)
数据库优先使用当前 XBoard 官方推荐方案。
持久化:
* 数据库
* XBoard 数据
* 配置文件
* 日志
必须使用 Docker Volume 或宿主机目录挂载。
要求服务器重启后自动恢复运行:
```yaml
restart: unless-stopped
```
部署完成后检查:
```bash
docker compose ps
docker compose logs
```
确保容器没有持续报错或重启。
---
# 六、XBoard 初始化
自动完成 XBoard 的初始化。
如果需要创建管理员,请创建一个管理员账号。
管理员信息请随机生成安全密码。
用户名/邮箱可以使用适合 XBoard 当前版本的默认管理员账户,例如:
```text
admin@example.com
```
如果必须使用真实邮箱才能工作,则选择不依赖邮件验证的初始化方式。
最后必须把:
* 管理后台地址
* 管理员账号
* 管理员密码
返回给我。
---
# 七、访问方式
目前我只提供服务器 IP,没有提供域名。
因此优先实现通过:
```text
http://服务器IP
```
或者:
```text
http://服务器IP:端口
```
访问 XBoard。
如果 XBoard 或反向代理必须使用特定端口,请选择合理端口。
优先:
```text
80
```
如果 80 已被其他程序占用,先检查是什么服务,不要直接杀掉进程。
可以改用例如:
```text
8080
```
最后明确告诉我实际访问地址。
不要因为没有域名而中断整个部署。
---
# 八、部署 Xboard-Node
在同一台 Ubuntu 22.04 服务器上部署 Xboard-Node。
目录建议:
```bash
/opt/xboard-node
```
同样优先使用 Docker Compose。
如果 Xboard-Node 官方当前推荐的是其他 Docker 部署方式,可以遵循官方最新方式,但仍然需要实现:
* 容器自动启动
* 配置持久化
* 日志可查看
* 能和 XBoard 正常通信
---
# 九、创建 VLESS + Reality 节点
我要的节点协议:
```text
VLESS + Reality
```
请使用当前 Xboard-Node / Xray 支持的稳定配置。
自动生成:
* Reality Private Key
* Reality Public Key
* UUID 或用户认证信息
* shortId
* flow(如果当前配置需要)
* serverNames
* fingerprint
* 其他 Reality 所需参数
节点监听端口优先:
```text
443
```
但是执行前检查:
```bash
ss -lntup | grep ':443'
```
如果 443 已占用,请先判断是什么服务。
不要粗暴停止已有服务。
如确有冲突,可以选择其他合理端口,并在最终结果中告诉我。
Reality 配置请选择一个合理的 TLS 目标站点 / serverName。
要求:
* 支持 TLS 1.3
* 稳定
* 中国大陆到该目标通常可以正常访问
* 不使用明显不适合作为 Reality 目标的网站
* SNI / dest / serverNames 配置保持一致并经过实际验证
---
# 十、XBoard 与 Xboard-Node 对接
自动完成 Xboard-Node 与 XBoard 面板之间的连接。
根据当前版本官方方案生成:
* Panel URL
* Node ID
* Node Token / API Token
* Communication Key
* 其他当前版本要求的认证参数
确保 Node 能从 XBoard:
* 获取用户
* 获取套餐用户权限
* 获取流量限制
* 上报用户流量
* 上报节点状态
完成后检查 Xboard-Node 日志。
必须确认没有类似下面的问题:
* Authentication failed
* Node not found
* API unauthorized
* Connection refused
* Invalid token
* Panel unavailable
* Reality configuration invalid
如果有报错,继续排查直到正常。
---
# 十一、创建节点
在 XBoard 后台创建刚刚部署的 VLESS + Reality 节点。
节点名称:
```text
默认节点-01
```
节点协议:
```text
VLESS
```
Reality:
```text
开启
```
服务器地址:
```text
当前服务器公网 IP
```
端口:
```text
实际配置的 Reality 端口
```
确保 XBoard 中填写的节点配置和 Xboard-Node 实际运行配置完全一致。
---
# 十二、创建默认节点组
创建一个节点组:
```text
默认节点组
```
把当前创建的:
```text
默认节点-01
```
加入这个节点组。
设计时请确保以后新增节点后,可以继续加入:
```text
默认节点组
```
目前默认节点组应包含所有现有节点。
---
# 十三、创建三个套餐
在 XBoard 中创建以下三个套餐。
## 套餐一
名称:
```text
50GB套餐
```
价格:
```text
5 元
```
周期:
```text
30 天
```
流量:
```text
50 GB
```
节点权限:
```text
默认节点组
```
购买人数:
```text
不限
```
不要设置库存限制。
---
## 套餐二
名称:
```text
100GB套餐
```
价格:
```text
10 元
```
周期:
```text
30 天
```
流量:
```text
100 GB
```
节点权限:
```text
默认节点组
```
购买人数:
```text
不限
```
不要设置库存限制。
---
## 套餐三
名称:
```text
250GB套餐
```
价格:
```text
20 元
```
周期:
```text
30 天
```
流量:
```text
250 GB
```
节点权限:
```text
默认节点组
```
购买人数:
```text
不限
```
不要设置库存限制。
---
# 十四、套餐权限要求
三个套餐:
```text
50GB套餐
100GB套餐
250GB套餐
```
必须全部能够访问:
```text
默认节点组
```
默认节点组中的所有节点必须可以被三个套餐使用。
不要分别为三个套餐复制三份节点。
使用:
```text
套餐 → 默认节点组 → 节点
```
这种结构管理。
---
# 十五、流量规则
每个用户按照自己购买套餐获得流量:
```text
50GB套餐 → 50GB
100GB套餐 → 100GB
250GB套餐 → 250GB
```
套餐有效期:
```text
30 天
```
如果 XBoard 支持月度重置流量,则配置为每个订阅周期重置。
不要设置用户数量限制。
---
# 十六、测试系统
部署完成后必须自行测试。
## Docker
执行:
```bash
docker ps
```
确保所有必要容器都是:
```text
Up
```
---
## XBoard
测试:
```bash
curl -I http://127.0.0.1
```
或实际映射端口。
确认 XBoard 页面可以访问。
---
## Xboard-Node
检查:
```bash
docker logs <xboard-node容器>
```
确认:
* 已连接 Panel
* 已读取节点配置
* 没有持续报错
---
## Reality
确认端口:
```bash
ss -lntup
```
Reality 对应端口已经监听。
---
## XBoard 节点状态
确认管理后台中的:
```text
默认节点-01
```
处于正常/在线状态。
---
# 十七、创建测试用户
如果方便,请额外创建一个测试用户。
例如:
```text
test@example.com
```
给测试用户分配:
```text
50GB套餐
```
生成订阅链接。
检查订阅中能够正常生成:
```text
VLESS + Reality
```
节点。
如果可以在服务器侧验证订阅 API 和节点配置,请一并验证。
测试完成后可以保留该测试用户,并告诉我账号密码。
---
# 十八、防火墙
如果服务器启用了 UFW,请只开放必要端口。
例如实际需要:
```text
22/tcp
80/tcp
443/tcp
```
如果 Reality 使用其他端口,则开放实际端口。
SSH 的 22 端口不要误封。
数据库和 Redis 不允许直接暴露公网。
---
# 十九、不要擅自配置支付
目前不要给我配置支付宝、微信、USDT、Stripe 或其他支付渠道。
只需要创建套餐。
后续支付系统单独处理。
---
# 二十、部署完成后的最终检查
完成后,请确认以下项目全部成立:
* [ ] XBoard 正常运行
* [ ] XBoard 可以通过公网访问
* [ ] 管理员账户可以登录
* [ ] Xboard-Node 正常运行
* [ ] Xboard-Node 已连接 XBoard
* [ ] VLESS + Reality 节点正常运行
* [ ] XBoard 可以看到节点
* [ ] 默认节点-01 在线
* [ ] 已创建“默认节点组”
* [ ] 默认节点组包含所有节点
* [ ] 已创建 50GB套餐
* [ ] 50GB套餐价格 5 元 / 30 天
* [ ] 已创建 100GB套餐
* [ ] 100GB套餐价格 10 元 / 30 天
* [ ] 已创建 250GB套餐
* [ ] 250GB套餐价格 20 元 / 30 天
* [ ] 三个套餐都可以使用默认节点组
* [ ] 套餐购买人数没有限制
* [ ] 用户可以获得订阅链接
* [ ] 订阅中可以正确生成 VLESS + Reality 节点
* [ ] 防火墙没有误封 SSH
* [ ] 数据库没有暴露到公网
如果某一项失败,不要直接结束任务。
请继续读取日志、分析原因并修复。
---
# 二十一、最终只需要清晰返回这些重要信息
部署完成后,请给我一个汇总报告。
格式如下:
## XBoard
访问地址:
```text
http://x.x.x.x
```
管理后台:
```text
http://x.x.x.x/xxxx
```
管理员账号:
```text
xxxx
```
管理员密码:
```text
xxxx
```
---
## Xboard-Node
节点名称:
```text
默认节点-01
```
状态:
```text
在线 / 正常
```
协议:
```text
VLESS + Reality
```
服务器:
```text
x.x.x.x
```
端口:
```text
443
```
---
## 节点组
```text
默认节点组
```
包含:
```text
默认节点-01
```
---
## 套餐
```text
50GB套餐
5元 / 30天 / 50GB
100GB套餐
10元 / 30天 / 100GB
250GB套餐
20元 / 30天 / 250GB
```
三个套餐均使用:
```text
默认节点组
```
---
## 测试账号
如果创建了测试账号:
```text
账号:
密码:
套餐:
订阅地址:
```
---
## Docker
列出最终运行的容器:
```text
容器名称
状态
端口
```
---
## 重要配置文件位置
例如:
```text
/opt/xboard/compose.yaml
/opt/xboard/.env
/opt/xboard-node/compose.yaml
/opt/xboard-node/config.yml
```
根据实际部署情况填写。
---
## 后续常用命令
告诉我以后如何:
查看 XBoard:
```bash
cd /opt/xboard
docker compose ps
```
查看 XBoard 日志:
```bash
docker compose logs -f
```
查看 Node:
```bash
cd /opt/xboard-node
docker compose ps
```
查看 Node 日志:
```bash
docker compose logs -f
```
重启:
```bash
docker compose restart
```
---
最重要的是:
**不要只给我教程,要直接操作服务器完成部署。**
遇到版本差异时,请根据 XBoard 和 Xboard-Node 当前实际版本的官方文档调整配置,不要为了严格照搬这份提示词而使用已经过时的参数。
在整个部署过程中自行排查问题,只有遇到无法通过服务器、日志、官方文档或现有信息解决的阻塞问题时,才告诉我具体缺少什么信息。
2026零基础自建机场教程:从入门到入狱
上一期搭建节点似乎讲的比较粗糙,但不影响你正常使用,这期补充一下。
我也想讲一下如何来搭建机场,所以我又看了一下“不良林”视频,然后再来讲一下怎么搭建,我之前也搭建过,现在再搭建一次。如果你想搭机场,先刷到我的话,可以先看一下他的,然后再看看我的,看对你有没有帮助,我主要讲如何用codex来搭建机场。
一、 什么是节点搭建?
国内要访问国外的网站,需要通过一道防火墙,你可以把它理解成一台负责审查流量的计算机。国外有些网站,我们没办法直接访问,被防火墙拦住了,但是呢,这堵墙也不是堵死的,有一些网站(主机)还是可以访问。比如我想访问google,google被拦截了,但我想访问国外的一些主机却是可以的。于是乎就想到利用这些主机来做中转,让他们来帮我们访问google,因为通信是加密的,防火墙看不到我们在做什么,目的地是可以知道的,目的地不是google,所以防火墙放行。我们就通过这样的方式来访问防火墙禁止的一些网站,而在这些主机上部署中转服务的过程,就叫节点搭建。
二、 什么是Xray内核?Sing-box内核?这个和节点搭建有什么关系?
他们是真正负责流量代理的程序,Xray比较经典,稳定,但比较吃内存。
Sing-box是从零重新写过的,极省内存快速,未来趋势。
像平时使用的x-ui、3x-ui(配置Xray)、s-ui(配置sing-box)这些搭建节点的网页面板,实际上配置的就是这些代理程序的参数。
三、 什么是机场搭建?
你把搭建节点当作有了自己的一台私人飞机,那你如果有很多台飞机,想租让别人来使用。别人怎么来购买使用你的飞机,提供了什么套餐,能用什么方式支付,飞机要买多少架,用什么样的飞机(国产还是波音),做这些的过程都叫机场搭建。实际上你搭建节点就已经把飞机造好了,剩下来的就是做好界面,让别人选择套餐(类似于飞机的商务舱,经济舱,会有不同的体验,不同的价格),让用户完成支付。
四、 为什么要搭建机场?
将自己的节点出租给别人来使用,赚钱,攒够38.8,走向人生巅峰。
五、 如何来搭建机场
之前用x-ui,s-ui来进行节点搭建,现在也可以用类似的方式来搭建机场,这些功能都已经被人做好了,比如V2Board,SSPanel,XBoard这些项目,其中XBoard是基于V2Board发展而来,V2Board已经停更了,所以这里选择XBoard来做。
1、 首先是选择一台国外的服务器,简单理解就是在网上租一台24小时开机的电脑。
2、 然后安装XBoard这个程序,XBoard当前官方文档提供 Docker Compose 部署方式。其实你不理解怎么部署的也没有关系,先用起来,但是你想要更精细化的定制的你的机场,细节就需要知道的更多一些。
什么是Docker?
Docker是一个程序,是用来运行一个个“容器”的,比如“XBoard”容器,“MySQL”容器,为什么需要容器,程序不是本身不就可以运行在电脑上吗?
主要是为了程序之间的隔离,防止冲突。比如我程序A要某个库1.0,但程序B要这个库的2.0,我两个程序都要运行在这台电脑上,这就冲突了。所以提出了一个container(容器)的概念,把程序A和程序A所需要的环境都整理好,放进一个容器里,我的电脑上装了docker这个程序,能够运行容器,就可以运行程序A了,同理也可以运行程序B,彼此不冲突。
那什么是Docker Compose?
比如XBoard项目,需要XBoard 容器,MySQL容器,Redis容器,如果我只用Docker,需要一个个启动他们,配置他们,非常麻烦。有了Docker Coompose,就相当于有了Docker的一套容器管理工具,只要一个compose.yaml配置文件(它相当于一张清单,里面写着我要启动的程序,开放的端口,数据存储的位置。),我就可以一次性管理多个容器。
Docker Compose部署又是什么意思?
就是人家容器都打包好了,配置文件也写好了,你直接安装Docker程序就可以直接运行了。
3、 XBoard安装好了,接下来就该配置机场了, 你会接触到很多模块,重点关注“权限组(节点组)”,“套餐”,“节点”,“用户”。它的基本逻辑是,用户可以订阅套餐,套餐需要定义可以使用的节点。我们可以模仿一下其他机场是怎么做的,来进行设置。
我们也搞3个套餐,每个月50GB,100GB,250GB,分别是5元,10元,20元。
简单起见,每个套餐的权限都是一样的,能使用所有的权限组。
怎么理解这个权限组(节点组),比如我有些节点是机房IP,有些是家庭IP(或者也可能是地区),我分别创个组来管理,现在我没有VIP套餐,如果我出了,像这些家庭IP的节点,我就只提供给VIP套餐的用户用,而且只出售给少量用户。
4、 套餐创建完成后,用户就可以进行选择了,怎么支付先不谈。XBoard提供了用户购买订阅的网站,还有提供管理员管理节点的功能。就像现实中,机场提供飞机航班信息供你选择,但你确实要有那台飞机才行,要和飞机实际的情况做好协调。换到节点搭建这个场景,就是创建节点,创建美国地区的节点,或者家庭IP的节点,节点创建好后,要和XBoard做好连接,随时沟通信息,看看是否能够正常服务。换到实际的的场景就是,你这台飞机怎么样,能不能正常起飞,天气不好,飞不了,你要和航空公司联系,给用户通知信息,节点搭建就是在XBoard网站上反映。
5、 好,怎么来搭建节点呢?不良林那里是使用的是XrayR,这里就使用Xboard-Node,他们是什么呢?核心都是Xray或sing-box处理网络流量的程序,但是增加了对接Xboard面板的功能,所以名字又变了变。所谓对接是什么意思,就是你这个用这个节点翻墙,用了多少流量,能不能用,到时候可以反馈给管理中心,也就是XBoard网站。XrayR已经废弃了,你就选Xboard-Node。这里就不关注怎么创建节点了,和用x-ui/s-ui创建,没太大区别。
6、 XBoard程序负责建对外网站,Xboard-Node创建了节点,像什么是Shadowsocks,vmess,trojan,vless这些,是客户端和服务器之间交互的规则/约定/协议,其实刚开始可以不用在意,也不需要判断哪个比较好,你没什么想法的时候,就按照和我的一样就行了。
7、 好像说了很多没用的话,太罗嗦,连我都不知道我在干什么了,但是有AI之后,你大致理顺搭建机场在干什么就可以了。要搭一个机场比较容易,但是要搭好一个机场还是要有点功底的。
0 评论