迁入通用节点部署工具、离线交付页生成器和共用技能,隔离真实配置与交付产物。统一 Codex 与 Claude Code 开发约定,补充节点迁移与运维文档。 完善 FINAL、策略组引用、输入校验、Surge 字段编码与 AI DNS 例外保护,增加隔离测试和订阅验证工具。 验证:全量类型检查、44 项单测、前端构建、脚本语法、技能入口与凭据隔离检查均通过。
4.3 KiB
{{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 模式是你自己的干净出口,不是绕过他人网络管控的工具。