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

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

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

4.3 KiB
Raw Blame History

{{HOST_LABEL}} 边缘节点 · 交付文档

服务器:{{SSH_USER}}@{{SERVER_IP}}(SSH 别名 {{SSH_ALIAS}}),{{VPS_PROVIDER_AND_SPECS}} IPv6:{{SERVER_IPV6}} 根域名:{{DOMAIN_ROOT}}(Cloudflare 管理,泛域名 DNS-only / 灰云) 部署时间:{{DEPLOY_DATE}}


服务清单

服务 作用 访问地址 用户名 密码
aaPanel 服务器控制面板:文件管理、防火墙、监控、站点管理 https://{{SUB_PANEL}}.{{DOMAIN_ROOT}}{{AAPANEL_ENTRANCE}} {{AAPANEL_USER}} {{AAPANEL_PASS}}
3x-ui Xray 代理面板:管理 inbound、客户端、流量统计 https://{{SUB_XUI}}.{{DOMAIN_ROOT}}{{XUI_PATH}} {{XUI_USER}} {{XUI_PASS}}
节点伪装页 承载六条 WS 隧道的域名,本身只是普通网页伪装 https://{{SUB_COVER}}.{{DOMAIN_ROOT}} — —
落地页 根域名首页,静态页面,无实际功能 https://{{DOMAIN_ROOT}} — —

⚠️ 访问 aaPanel 面板务必使用真实浏览器(Chrome/Safari/Edge 等)。用 curl 等工具测试时如果 UA 不像真实浏览器(比如只写默认 UA 或过于简单的 Mozilla/5.0 (Macintosh)),会被反爬虫机制拒绝,返回伪装的 404 页面——这是正常防护行为,不是故障。见 references/pitfalls.md。

后台服务(无独立管理界面,通过 aaPanel/3x-ui 或 SSH 管理)

服务 作用
nginx 1.24 反向代理入口,承载所有 HTTPS 域名、TLS 终止、伪装 WS 转发
Cloudflare WARP(proxy 模式) 本机 SOCKS5 代理 127.0.0.1:{{WARP_SOCKS_PORT}},给"WARP 出口"的 inbound 做净化出口
warp-healthcheck.timer systemd 定时器,每 60 秒检查 WARP 代理是否真的在转发流量,异常时自动重启 warp-svc
acme.sh 自动续期泛域名证书 *.{{DOMAIN_ROOT}},续期后自动重新部署证书并 reload nginx
UFW 防火墙 只放行 22 / 80 / 443 / 888 / {{AAPANEL_PORT}}(面板端口)/ 39000-40000(aaPanel 被动端口范围)

六条代理 inbound(三种协议 × direct/WARP)

协议 用途 域名 WS 路径 内部端口 凭据
VMess · direct 直连出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_VMESS_DIRECT}} {{PORT_VMESS_DIRECT}} UUID {{XUI_UUID}}
VMess · WARP 净出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_VMESS_WARP}} {{PORT_VMESS_WARP}} 同上
Trojan · direct 直连出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_TROJAN_DIRECT}} {{PORT_TROJAN_DIRECT}} 密码 {{NODE_PASSWORD}}
Trojan · WARP 净出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_TROJAN_WARP}} {{PORT_TROJAN_WARP}} 同上
Shadowsocks · direct 直连出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_SS_DIRECT}} {{PORT_SS_DIRECT}} 密码 {{NODE_PASSWORD}},method {{SS_METHOD}}
Shadowsocks · WARP 净出口 {{SUB_COVER}}.{{DOMAIN_ROOT}} {{WS_PATH_SS_WARP}} {{PORT_SS_WARP}} 同上

六个 inbound 全部归属于同一个 3x-ui 客户端 node-main:VMess 用 UUID 认证,Trojan 和 Shadowsocks 共用同一个 NODE_PASSWORD 认证(因为是同一个客户端行)。所以在 3x-ui"客户端"页只看到 node-main 一行,点开它的信息详情就能看到全部 6 条节点链接/二维码和一个订阅。三个协议共用同一个 {{SUB_COVER}}.{{DOMAIN_ROOT}} 站点和泛域名证书,没有新建站点/新申请证书。新增/管理 inbound 是直接写 3x-ui 数据库(/etc/x-ui/x-ui.db)+ 重启 x-ui 的方式(面板 HTTP API 在这个版本上会 403,参见 references/pitfalls.md)。

节点二维码 / 订阅链接见《02-节点信息》(scripts/14-generate-links-and-qr.py 生成)。

安全提醒

  • SUB_PANEL={{SUB_PANEL}} / SUB_XUI={{SUB_XUI}} / SUB_COVER={{SUB_COVER}} 这三个子域名前缀、六条 WS 伪装路径、两个面板入口路径,都不要公开发布——它们是控制面的地图。
  • 所有密码、UUID 已生成并写在上表和 config.env 里,config.env 只保留在你的本机,没有上传到任何 git 仓库。建议尽快把密码转存进密码管理器。
  • WARP 模式是你自己的干净出口,不是绕过他人网络管控的工具。