# CHANGELOG - 服务器运维日志 ## v1.0.0 (2026-06-14) ### Added - 初始化仓库:README、CHANGELOG、DECISION_LOG - 每日运维总结机制确立 - 首份总结:2026-06-14 服务器功能变动总结 ## v1.1.0 (2026-06-15) ### Added - — Cookie session auth proxy 完整源码和 systemd 服务文件 - — Python HTTPServer,bcrypt 密码验证,HMAC-SHA256 token 签名 - — systemd 服务,port 9002,开机自启 ### Changed - **安全认证升级**:Caddy basicauth → auth_proxy Cookie session - 所有保护服务(gitea/dashboard/books/nav/brief/todo)改为走 auth_proxy:9002 - 新增 auth.xybkwd.top 子域作为登录入口 - Session cookie: 7天过期,HttpOnly,SameSite=Lax,Domain=.xybkwd.top - 密码验证不变(bcrypt),token 签名防篡改(HMAC-SHA256) - — 去掉所有 basicauth,改为 reverse_proxy localhost:9002 - 服务清单更新:books (Calibre-Web) 状态同步 ### Fixed - 移动端重复登录问题:basicauth 每 ~1 小时要求重新输入密码 - Cookie 跨子域失效:缺 Domain=.xybkwd.top 导致各子域不共享 cookie - Set-Cookie 值带多余引号:浏览器拒绝该 cookie ### Security - 认证安全性不变:bcrypt + HMAC-SHA256,无明文密码传输 - 公开服务(blog/vaultwarden/memos)不经过 auth_proxy,不受影响 ## v1.1.0 (2026-06-15) ### Added - — Cookie session auth proxy 完整源码和 systemd 服务文件 - — Python HTTPServer,bcrypt 密码验证,HMAC-SHA256 token 签名 - — systemd 服务,port 9002,开机自启 ### Changed - **安全认证升级**:Caddy basicauth → auth_proxy Cookie session - 所有保护服务(gitea/dashboard/books/nav/brief/todo)改为走 auth_proxy:9002 - 新增 auth.xybkwd.top 子域作为登录入口 - Session cookie: 7天过期,HttpOnly,SameSite=Lax,Domain=.xybkwd.top - 密码验证不变(bcrypt),token 签名防篡改(HMAC-SHA256) - — 去掉所有 basicauth,改为 reverse_proxy localhost:9002 - 服务清单更新:books (Calibre-Web) 状态同步 ### Fixed - 移动端重复登录问题:basicauth 每 ~1 小时要求重新输入密码 - Cookie 跨子域失效:缺 Domain=.xybkwd.top 导致各子域不共享 cookie - Set-Cookie 值带多余引号:浏览器拒绝该 cookie ### Security - 认证安全性不变:bcrypt + HMAC-SHA256,无明文密码传输 - 公开服务(blog/vaultwarden/memos)不经过 auth_proxy,不受影响 ## v1.2.0 (2026-06-15) — rollback ### Removed - **auth_proxy 对主服务的拦截**:恢复 Caddy 直接反向代理到后端 - gitea → localhost:3000, dashboard → localhost:9000, books → localhost:8083 - nav/brief → file_server(静态文件),nav/api/* → todo 9001 - auth.xybkwd.top 仍保留 auth_proxy:9002 作为登录门户(不影响其他服务) ### Added - 认证方案待修复:Caddy v2.11 basic_auth bcrypt hash 格式需要重新调试 ### Lesson Learned (Critical) - **🔴 铁律:所有配置变更必须先 commit 到 git,再部署到生产环境** - 本次事故的根因:直接修改 /etc/caddy/Caddyfile 后未及时 git commit, 导致回滚时需要从 git 历史中找回正确版本(commit 6c35f31) - git 历史在此次事故中挽救了服务:回滚前险些无法恢复 ## 2026-06-16 ### 要闻流水线改造 v0.3 **改动:** 1. fetch 脚本时效过滤 — fetch_news.py (48h) / fetch_policy.py (72h) / fetch_research.py (72h) 2. 新增 archive_daily_brief.py — 每日要闻归档到 daily-brief 仓库(含跨日去重) 3. 新增 cn_merge.py — 合并本地国内新闻到流水线 4. 所有新闻条目增加 [MM-DD] 日期标记(支持多种时间格式解析) 5. crontab 新增:22:40 归档 / 05 3,9,15,21 cn_merge **架构变更:** - 新增本地抓取层:WorkBuddy 本地运行 local_fetch_cn.py,通过 SCP 推送到东京 - 数据源扩展:新华网(3路)+ 微博热搜,约 113 条/轮 - 浏览器展示和归档共享同一数据源(news_summary.json) **涉及文件:** - 东京 ~/scripts/: fetch_news.py, fetch_policy.py, fetch_research.py, cn_merge.py(新) - 东京 ~/daily-brief/: archive_daily_brief.py(新), archive/2026/06/2026-06-16.md - 本地 Claw/: local_fetch_cn.py(新), local_fetch_daemon.py(新), start_cn_fetch.bat(新)