面板加节点 → 本机自动起 xboard-node;面板删节点 → 自动停。无需 SSH。
Xboard 面板 API (getNodes)
↓
sync-nodes (每 60s)
↓ 对比 host=本机IP 的节点 vs 本机 systemd 实例
↓
xboard-node@<node_id>.service → 读 /etc/xboard-node/<node_id>.yml
节点 host 解析后等于本机 IP → 自动认领,面板加节点时 host 填对即可。
bash <(curl -sL https://raw.githubusercontent.com/fuckproxy/xnodeauto/main/install.sh) \
--url https://your-panel.com \
--admin-path your-secure-path \
--admin-email admin@example.com \
--admin-password your-password \
--panel-token node-comm-token脚本幂等,可重复执行。带参数时会更新配置,不带参数时不会覆盖已有配置。
参数说明:
| 参数 | 来源 |
|---|---|
--url |
面板地址 |
--admin-path |
面板后台 URL 里 /api/v2/{这一段}/...,即 secure_path |
--admin-email |
面板管理员邮箱 |
--admin-password |
面板管理员密码 |
--panel-token |
面板后台 → 系统设置 → 节点通信密钥 |
# 1. 手动跑一次,看输出是否正常
sync-nodes
# 2. 确认节点在跑
systemctl status xboard-node@<node_id>
# 3. 启用定时同步
systemctl enable --now sync-nodes.timerjournalctl -u sync-nodes.service -f # 同步脚本日志
journalctl -u xboard-node@1.service -f # 某个节点日志API 401/403 — 确认 admin 账号是管理员 (is_admin = true),用 F12 抓请求对比格式。
多 IP 识别不到 — 脚本自动探测本地网卡 IP 和公网 IP,如果有遗漏可以提 issue。
MIT