Files
YANG JIANKUAN 5326c572a2 feat: 合并边缘节点运维并完善 Surge 配置安全
迁入通用节点部署工具、离线交付页生成器和共用技能,隔离真实配置与交付产物。统一 Codex 与 Claude Code 开发约定,补充节点迁移与运维文档。

完善 FINAL、策略组引用、输入校验、Surge 字段编码与 AI DNS 例外保护,增加隔离测试和订阅验证工具。

验证:全量类型检查、44 项单测、前端构建、脚本语法、技能入口与凭据隔离检查均通过。
2026-10-03 23:19:59 +08:00

3.8 KiB
Raw Permalink Blame History

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 校验实际订阅。报告已验证结果与尚未做的真机验证。