把散落在代码里的真实部署值统一收进 config/,代码改为引用配置, 使仓库副本/开源导出不再带出生产域名、IP、内网路径与凭据。 新增 config/:platform.env.example(模板)· load.sh(shell 加载器)· index.cjs(node 加载器)· README.md(键一览与优先级)。 真实值放 config/platform.env —— 已 .gitignore 排除,不入库、不进导出。 TS 侧新增 src/platform-paths.ts 作部署路径的唯一解析处(零副作用): platformDir/stateDir/backupDir/artifactDir/installDir/scriptPath。 config.ts 接入这些字段;内置中继种子由生产 URL 改为空(改由 DSHS_OVERLAY_BOOTSTRAP_SEEDS 提供)。修掉 5 处硬编码绝对路径, src/** 注释中性化 116 行/53 文件。 scripts/** 36 个内部运维脚本:真令牌/PG 口令/隧道目标/主机号/路径 一律改从配置取;web/wake.html 的注册域白名单改为运行时从 location.hostname 推导;test/** 夹具 119 行/13 文件改 RFC 2606/5737 保留值,并把「内置种子必须为空」固化为回归断言。 取证:tsc 0 错;npm test 373/375(唯一失败 lease 属既有); 全仓扫描(大小写不敏感)代码面涉密标识 = 0;已部署 47 并零回归 (/opt/dsh/* 未搬家,/var/lib/dshs/platform 未被误建)。
40 lines
798 B
Plaintext
40 lines
798 B
Plaintext
node_modules/
|
|
lib/
|
|
|
|
# poc/ 下的平台插件是**源码**(不是 TS 构建产物),其 lib/ 必须入库
|
|
!poc/*/lib/
|
|
!poc/*/lib/**
|
|
data/
|
|
dist-web/
|
|
*.log
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
*.local.db
|
|
.DS_Store
|
|
|
|
# 内部开发文档(不公开)
|
|
设计初稿.md
|
|
docs/security-model.md
|
|
docs/performance.md
|
|
docs/roadmap.md
|
|
公众号文稿.md
|
|
宣传报告.md
|
|
公众号文稿.txt
|
|
待办.md
|
|
docs/k8s.md
|
|
|
|
# 改码前的就地备份(不应入库;2026-09-11 曾误提交)
|
|
*.bak-*
|
|
|
|
# 插件打包产物(构建产物,不入库;历史上从未提交过 tgz)
|
|
*.tgz
|
|
|
|
# 本项目的工作数据(会话/记忆/锁日志),不属于仓库内容
|
|
.workbuddy/
|
|
|
|
# 部署配置的**真实值**(含域名/地址/凭据)—— 只入库模板 platform.env.example
|
|
config/platform.env
|
|
config/*.env.local
|
|
|