Files
dsh_ai1net_server/归档/迁移/域名迁移_ai1net_20260919/pending/overlay-443fb.conf
T
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

44 lines
3.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 覆盖网络 · 序④(443/TCP 兜底)· 2026-09-17 建立 / 序⑥(2026-09-17)追加**第二中继**
# / 2026-09-19 域名迁移(alotbuy.com → ai1net.com)改主入口
#
# 1) 入口列表的唯一载体 = DSHS_OVERLAY_BOOTSTRAP_SEEDS(逗号多值;**主入口必须在首位**)。
# ⛔ 不用 `--url` / `DSHS_RELAY_URL` 表达入口 —— 那两个变量算"env 显式",会**压制整条引导链**
# (见 net/relay/directory.ts#resolveOverlayRelay ① / main.ts argv 说明),等于把兜底关掉。
# 改这里一次 ⇒ 签名目录里的 relays[] / bootstrap[] 跟着变 ⇒ 已入网节点下次刷新自动拿到(不重装)。
#
# 序⑥ 追加项 = **106 的第二台中继**(L3 跨机真容灾,接力棒 `交接单_最小形态真机批次_20260917` S8)。
# ⚠️ 顺序语义 = 「主入口首位」(参数表 §5.6 已把这条语义写死并明确"不引入显式优先级键")
# ⇒ 第二中继**放在末位**,⛔ 不得插到首位。
#
# 2) 地址覆盖(L1「去 CF」)= DSHS_OVERLAY_ADDR_OVERRIDES:把**逐字列出**的域名解析钉到指定 IP。
# 为什么必须有它:兜底子域与主域名同属泛解析(都被 CF 代理)⇒ 不做覆盖的话
# "多一条入口"并不等于"CF 不可用时还能连",解析层仍会把客户端送回 CF。
# ⛔ 未配 ⇒ 完全不生效(连补丁都不打);白名单之外一律走原始解析(定向,不是全局劫持)。
# ⚠️ 106 那条入口用的是**裸 IP 主机名**,不需要覆盖项(它本来就不过 CF)。
#
# 🔴 2026-09-19 域名迁移踩坑(**必须留档**):切 `DSHS_BASE_DOMAIN` 到 ai1net.com 时,曾把本条
# `DSHS_OVERLAY_BOOTSTRAP_SEEDS` **重复**追加进 `/etc/dshs.env`。而 `/etc/dshs.env`
# (EnvironmentFile)在本单元里**压过** drop-in 的 `Environment=` ⇒ 生效列表被**窄化**成
# 「ai1net + alotbuy」两条、且两条都落在 47 同一台中继上 ⇒ 丢掉 `106.54.21.172` 这条
# 第二中继 ⇒ Manager 不再对 106 建拨号会话 ⇒ 归属在 `w-106` 的用户实例子域直接
# 500 `host "w-106" 声明 via=relay 但解析不出落点:拒绝回落到 endpoint`。
# ⇒ 已从 `/etc/dshs.env` **删除**该重复键(回到"唯一载体"纪律),并把主入口改到新域。
# ⚠️ 教训:本列表**只在本文件里改**;`/etc/dshs.env` 里出现同名字段 = 会静默压掉这里。
#
# 现行列表(5 条 · 顺序语义 = 主入口首位 / 第二中继末位):
# ① https://ai1net.com/dshs-relay 主入口(**新服务域名**,2026-09-19 起)
# ② https://alotbuy.com/dshs-relay 旧域(过渡期保留;旧域仍在线,是一条独立入口)
# ③ https://relay-direct.ai1net.com/dshs-relay 443 兜底(新域对位,解析钉 IP 去 CF)
# ④ https://relay-direct.alotbuy.com/dshs-relay 443 兜底(旧域)
# ⑤ https://106.54.21.172/dshs-relay 第二中继(L3 跨机真容灾 · 裸 IP,不过 CF)
#
# 回滚(单步):删掉本文件 → `systemctl daemon-reload` → `systemctl restart dshs`
# ⚠️ 回滚时主入口项必须保留(本文件整体删除即回到"只有内置常量种子"的今天形态)。
# 只回滚域名迁移那一步:把 ①②③ 三条按旧域顺序改回
# `https://alotbuy.com/dshs-relay,https://relay-direct.alotbuy.com/dshs-relay,https://106.54.21.172/dshs-relay`
# 并同步把 DSHS_BASE_DOMAIN / DSHS_COOKIE_DOMAIN 改回 alotbuy.com。
# ⛔ 无论如何都不要只"删 ⑤" —— 见上方 2026-09-19 踩坑。
[Service]
Environment="DSHS_OVERLAY_BOOTSTRAP_SEEDS=https://ai1net.com/dshs-relay,https://alotbuy.com/dshs-relay,https://relay-direct.ai1net.com/dshs-relay,https://relay-direct.alotbuy.com/dshs-relay,https://106.54.21.172/dshs-relay"
Environment="DSHS_OVERLAY_ADDR_OVERRIDES=relay-direct.ai1net.com=47.77.182.89,relay-direct.alotbuy.com=47.77.182.89"