- 变更规模:新增 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/ 知识文件,按口径入库)
44 lines
3.9 KiB
Plaintext
44 lines
3.9 KiB
Plaintext
# 覆盖网络 · 序④(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"
|