迁入通用节点部署工具、离线交付页生成器和共用技能,隔离真实配置与交付产物。统一 Codex 与 Claude Code 开发约定,补充节点迁移与运维文档。 完善 FINAL、策略组引用、输入校验、Surge 字段编码与 AI DNS 例外保护,增加隔离测试和订阅验证工具。 验证:全量类型检查、44 项单测、前端构建、脚本语法、技能入口与凭据隔离检查均通过。
3.8 KiB
3.8 KiB
name, description
| name | description |
|---|---|
| edge-node-multi-protocol | 部署、重建或维护边缘 VPS 节点,管理 nginx、3x-ui/Xray、Cloudflare WARP、证书及可选 sing-box QUIC 线路,生成离线分享链接与交付文档。用于节点部署管理;Proxy Station 应用发布用 deploy,订阅数据库维护用 update-db。 |
边缘节点部署与维护
本项目统一管理边缘节点与 Proxy Station。目录、站点清单和迁移说明见仓库根目录的 edge-nodes/README.md;项目约定以根目录 AGENTS.md 为准。
工作目录与输入
- 通用脚本、参考资料、交付模板在本技能的
scripts/、references/、templates/,只保留占位配置。 - 当前舰队的真实配置、分享链接、二维码和交付文档在
edge-nodes/private/<id>-edge-node-docs/;该目录被 Git 忽略。rn 当前部署使用rn2-edge-node-docs/,rn-edge-node-docs/留作历史交付。 - 既有节点先读其交付文档与
scripts/config.env,确认实际服务、证书路径和脚本差异。新增节点把通用资源复制到新的私有节点目录,再从config.env.example填写config.env。不要在技能源目录填写真实配置。 .sh是本机执行的 SSH 编排脚本;08-xui-bootstrap.py、08b-embed-settings-clients.py、13-singbox-config.py、16-add-socks5.py在 VPS 上运行;14-*、15-*链接生成器在本机运行。不要按文件编号盲目执行所有文件。
按任务读取流程
执行前读 references/pitfalls.md。完整 aaPanel 部署步骤见 references/workflow.md;裸 nginx、QUIC、升级与脚本选择见 references/standalone-and-quic.md。3x-ui 数据结构见 references/3x-ui-schema.md,DNS 与集中签证书分别见 references/dns-records.md、references/centralized-certs.md。
部署或调整先明确目标站点与用户授权范围;已授权的步骤直接完成。现役节点修改前备份受影响的配置、3x-ui 数据库与证书续期钩子,只执行任务需要的步骤。不要因修改本地代码或迁移文件而自动上线。
关键约束
- TCP 线路是 VMess/Trojan/Shadowsocks × direct/WARP,3x-ui/Xray 承载,nginx 在 TCP 443 按 WS 路径反代。Hysteria2/TUIC 由 sing-box 独立承载 UDP,不写入 3x-ui;WARP 共用本机 SOCKS5 出口。
- 3x-ui 的
settings.clients必须保存真实客户端记录;不能只写clients/client_inbounds投影表,否则升级迁移会丢掉认证。新 bootstrap 已包含此修复,旧节点补齐使用08b-embed-settings-clients.py。 - aaPanel 使用自身的
/etc/init.d/bt restart与/etc/init.d/nginx reload;裸 nginx 才使用 systemd。更新证书续期动作时保留已有站点复制与 reload 动作,再增加 sing-box restart,不能覆盖整个旧钩子。 - Surge 不支持 SS over WS;客户端下发能力以
shared/src/protocols.ts为准。Proxy Station 当前仅导入 VMess/Trojan/Shadowsocks/Hysteria2,TUIC/SOCKS5 不能导入。 - 凭据、真实域名与控制面路径不放入通用代码、示例、对话或在线二维码服务。生成链接前设
umask 077,二维码用本机qrencode。
交付与验证
按实际服务跑对应 smoke test,分别核对 WS 101、面板与门面、直连 IP/WARP 出口;QUIC 另做客户端连接和出口验证,并核对云安全组。脚本语法或 sing-box check 通过不等于实际连接验收。
完成后更新私有节点文档及 edge-nodes/private/fleet.json,在仓库根目录执行 python3 edge-nodes/build-delivery-doc.py。分享链接经 Web 导入 Proxy Station;若任务包含生产订阅数据更新,继续使用 update-db 的备份与管理 API 流程,并按 docs/SURGE-CHANGES.md 校验实际订阅。报告已验证结果与尚未做的真机验证。