mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-21 22:11:26 +08:00
- official-resource-test-pull.md §0.1:新增"带凭据代理优先用 HTTPS_PROXY 环境 变量"推荐(含 systemd EnvironmentFile 0600 用法),补充凭据处理说明——日志/ status 脱敏、经 ALL_PROXY 环境变量传 curl、daemon 经环境变量下传、bat-proxy.secret 复用与 clean-stable 清除;修正旧表述"代理参数写入后台子进程启动参数"。 - official-resource-backend.md 第 13 条:把"仅日志脱敏"扩写为全链路凭据不落 世界可读位置。 - CURRENT_STATUS.md 第 7 条:同步上述凭据处理描述。 - deployments/systemd/official-sync.env.example:新增注释版 HTTPS_PROXY/NO_PROXY 示例,并提示含凭据时按 0600 安装。 - CHANGELOG:新增"修复"(Unity 版本数值比较)与"安全"(代理凭据不落世界可读 位置)条目。 对应 issue #18 维护清单 1-1 / 1-2。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.4 KiB
4.4 KiB
变更日志
所有重要的项目变更都将记录在此文件中。
本项目遵循 语义化版本。
[未发布]
新增
- 初始化 Monorepo 项目结构
- 创建 Rust workspace (bat-cas-engine, bat-assetbundle, bat-patch, bat-ffi)
- 创建 Go module 结构
- 配置 Docker Compose 支持本地和远程数据库
- 添加 Makefile 统一构建入口
- 创建架构文档和开发指南
- 完成 CAS V1:原子写入、BLAKE3 校验、SQLite 引用计数、GC、并发写入测试和损坏检测
- 新增官方日服资源同步链路:auto-discover、pull plan、snapshot、marker diff、本地 manifest audit/repair
- 新增 Rust 官方同步 binary,当前正式入口为
bat,支持 one-shot、--watch、默认 1 小时间隔、人类可读默认输出和--json结构化 report - 官方同步正式入口统一为
bat,新增--daemon后台模式和基于bat.sock的 Unix socket JSON-RPC 控制面,管理命令覆盖status、stop、restart、reload、refresh、logs、verify、repair、doctor、clean-stable - 新增 daemon 控制锁
bat-control.lock、daemon 与前台同资源目录写入互斥,以及失效/损坏 PID 和锁文件恢复逻辑 - 新增官方同步路径安全边界:拒绝危险输出目录和 snapshot 路径逃逸,下载目标、manifest、daemon PID/status/log/control 文件不跟随 symlink,daemon 状态文件默认使用
0600权限 - 新增官方资源原子发布布局:非 dry-run 下载先进入
.staging/<id>,校验和 manifest/snapshot 写入完成后发布到versions/<id>,再原子切换currentsymlink - 新增 daemon 可观测性:
bat-events.jsonl结构化 JSONL 日志、日志轮转、status 中的当前下载进度、最后成功时间、下次检查时间和最后错误摘要 - 新增运行时下载与校验 progress log:总体下载进度、单文件开始/完成状态、官方
.hash、本地 BLAKE3、需修复项和 ZIP 结构校验摘要 - 新增官方资源同步生产部署模板:release binary symlink 路径、systemd unit、运行用户、日志位置、升级和回滚流程
- 新增真实官方网络全量拉取 smoke:
scripts/official-full-pull-smoke.sh、make official-smoke和docs/guides/official-full-pull-smoke.md - 新增官方资源下载校验:官方 URL 拒绝、
.part续传、重试、本地 size+BLAKE3、官方 seed.hash校验 - 新增下载失败分类与 quarantine:403/404/普通 4xx 不重试,5xx/429/网络类错误重试,最终失败写入
official-download-quarantine.json并阻止发布不完整资源;旧 launcher 包支持官方 primary/backup CDN 切换 - 新增官方版本状态管理:
official-version-state.json持久化当前已完成版本、正在拉取版本、上一个可用版本和失败版本,并在bat status中暴露状态摘要 - 优化资源导入链路:CAS 导入会写入
ResourceRepository,AssetBundle 记录 UnityFS 摘要,TextAsset/Table/Media 按资源类型分类并可被索引 - 新增离线回归 fixture:当前 catalog、上一个版本 catalog、catalog 结构变化、403、404 和官方 seed hash mismatch 样本
- 新增 Addressables 当前真实形态 fixture/golden 测试
- 新增 SQLite Resource Repository 和粗粒度 FFI JSON 接口
- 补齐官方资源运行、架构、状态、缺口和交接文档
修复
- 修正 Unity 版本范围比较:改为按
(major, minor, patch)数值比较,2021.3.9f1等带发布后缀的正式版本号不再被字典序误判越界
安全
- 代理凭据不再落入世界可读位置:传给 curl 子进程时经
ALL_PROXY环境变量而非--proxy参数,不进 curl 的/proc/<pid>/cmdline;--daemon模式下代理凭据经环境变量下传后台子进程,不进子进程 argv 或bat-status.json,复用凭据单独存于0600的bat-proxy.secret并在clean-stable后台停止后清除;日志与status输出对带凭据代理 URL 脱敏(含无scheme形式);推荐带凭据代理用HTTPS_PROXY等环境变量配置
计划
- 实现 CAS 存储引擎
- 实现 Rust 官方资源同步核心链路
- 实现 Go CLI 最小可用入口
- 固化真实官方网络全量下载 smoke test 文档和可重复命令
- 实现 AssetBundle 解析器
- 实现翻译系统
- 实现 Patch 引擎
- 实现 API Server
- 实现 Web 管理后台
[0.1.0] - 2026-06-27
新增
- 项目初始化
- 基础架构搭建