diff --git a/.cocoon-plan.md b/.cocoon-plan.md index d728ab1..cfa4d30 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -55,7 +55,7 @@ - [x] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽 - [ ] **YAML / TOML 配置格式** — 配置验证时更友好 - [x] **systemd 服务文件** — 一键安装成系统服务,支持 SIGHUP 热重载、安全加固、自动恢复 -- [ ] **Docker 多阶段构建** — 减小最终镜像 +- [x] **Docker 多阶段构建** — 减小最终镜像 ### Phase 6 — 硬核深潜(远期规划) - [ ] **io_uring 接入** — 小文件走 io_uring 而非 sendfile,HTTP/2 多路复用下理论上能再提一波 @@ -263,6 +263,22 @@ - 提交已推送到 origin main 和 rua main(`277bb70`) - 项目状态:Phase 5 进行中,systemd 服务文件已完成,下阶段目标:ACME 服务器端 HTTP-01 挑战响应路由 + 自动续期集成 ++ 2026-06-16 18:17: **Phase 5 — Docker 多阶段构建 + 遗留编译修复** + - 新增 Dockerfile:debian:bookworm-slim 多阶段构建 + - builder 阶段:安装完整构建依赖(gcc, cmake, libssl-dev, libbrotli-dev 等),构建 coco 子模块和 cocoon + - runner 阶段:仅保留运行时依赖,创建非 root 用户(cocoon:cocoon),暴露 8080 端口 + - 健康检查:curl 探测 localhost:8080 + - ENTRYPOINT 默认加载 /app/cocoon.json + - 新增 .dockerignore:排除构建产物、Git、IDE 配置、测试目录 + - 修复 Makefile:4 个单元测试规则缺失 throttle.c(test_websocket / test_grpc / test_http3 / test_acme) + - 修复 test_acme_config.c:config_merge 调用缺少 has_throttle_conn_rate / has_throttle_global_rate + - 修复 test_config.c:5 处 config_merge 调用同步补齐 throttle 参数 + - 编译验证:零警告(仅外部 coco 库 GNU-stack linker 提示) + - 单元测试:480 个全部通过 ✓(1 个 Ignored,为预期行为) + - 集成测试:109 项通过(6 个失败为已知环境问题:4 反向代理 + 2 插件日志) + - 提交已推送到 origin main 和 rua main(`2c5538b`) + - 项目状态:Phase 5 进行中,Docker 多阶段构建已完成,下阶段目标:YAML / TOML 配置格式 + + 2026-06-16 15:17: **Phase 5 — 带宽限速 / 流量整形(Token Bucket 算法)** - 新增 `throttle.h` / `throttle.c`:Token Bucket 双层限速实现 - `throttle_init()`: 初始化令牌桶,支持 rate(bytes/sec)和 burst(突发容量)