This commit is contained in:
parent
a198b089b9
commit
b8c1d7295b
@ -51,7 +51,7 @@
|
|||||||
- [x] **配置热重载校验** — 新配置语法校验失败时拒绝重载,避免把服务搞坏
|
- [x] **配置热重载校验** — 新配置语法校验失败时拒绝重载,避免把服务搞坏
|
||||||
- [x] **内存响应缓存** — 基于 LRU + TTL,文件不大时直接缓存到内存,避免重复磁盘 I/O
|
- [x] **内存响应缓存** — 基于 LRU + TTL,文件不大时直接缓存到内存,避免重复磁盘 I/O
|
||||||
- [x] **管理 Dashboard** — 内置 `/_status` 页面,SSE 实时推送指标,像 HAProxy stats 那种
|
- [x] **管理 Dashboard** — 内置 `/_status` 页面,SSE 实时推送指标,像 HAProxy stats 那种
|
||||||
- [x] **ACME / Let's Encrypt 自动证书** — 客户端骨架完成(目录发现、nonce、账户、订单、授权、CSR、证书下载、thumbprint),OpenSSL 3.0 零警告,7 项单元测试通过;服务器端 HTTP-01 挑战响应与自动续期待集成
|
- [x] **ACME / Let's Encrypt 自动证书** — 客户端骨架完成(目录发现、nonce、账户、订单、授权、CSR、证书下载、thumbprint),OpenSSL 3.0 零警告;服务器端 HTTP-01 挑战响应路由已完成(`/.well-known/acme-challenge/` 返回 keyAuthorization);配置集成与自动续期待完成
|
||||||
- [ ] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽
|
- [ ] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽
|
||||||
- [ ] **YAML / TOML 配置格式** — 配置验证时更友好
|
- [ ] **YAML / TOML 配置格式** — 配置验证时更友好
|
||||||
- [x] **systemd 服务文件** — 一键安装成系统服务,支持 SIGHUP 热重载、安全加固、自动恢复
|
- [x] **systemd 服务文件** — 一键安装成系统服务,支持 SIGHUP 热重载、安全加固、自动恢复
|
||||||
@ -67,12 +67,12 @@
|
|||||||
|
|
||||||
## 当前状态
|
## 当前状态
|
||||||
|
|
||||||
- **编译状态**:零警告,全部通过(2026-06-16 03:37 验证)
|
- **编译状态**:零警告,全部通过(2026-06-16 09:17 验证)
|
||||||
- **单元测试**:474 个全部通过 ✓(1 个 Ignored,为预期行为)
|
- **单元测试**:474 个全部通过 ✓(1 个 Ignored,为预期行为)
|
||||||
- **集成测试**:111 项通过(4 项反向代理环境相关失败,非项目问题)
|
- **集成测试**:111 项通过(4 项反向代理环境相关失败,非项目问题)
|
||||||
- **代码覆盖率**:核心模块覆盖完整,Phase 4 模块覆盖良好
|
- **代码覆盖率**:核心模块覆盖完整,Phase 4 模块覆盖良好
|
||||||
- **文档状态**:README 完整,API 文档齐全,.cocoon-plan.md 已更新
|
- **文档状态**:README 完整,API 文档齐全,.cocoon-plan.md 已更新
|
||||||
- **项目阶段**:Phase 1~4 全部完成,Phase 5 进行中(systemd 服务文件已完成)
|
- **项目阶段**:Phase 1~4 全部完成,Phase 5 进行中(ACME 服务器端 HTTP-01 挑战响应已完成)
|
||||||
- **代码规模**:30,000+ 行 C 代码(不含 coco 子模块),474 单元测试 + 111 集成测试
|
- **代码规模**:30,000+ 行 C 代码(不含 coco 子模块),474 单元测试 + 111 集成测试
|
||||||
|
|
||||||
## 待办池(Phase 5 — 自然扩展)
|
## 待办池(Phase 5 — 自然扩展)
|
||||||
@ -213,6 +213,20 @@
|
|||||||
- 编译验证:零警告,全部通过
|
- 编译验证:零警告,全部通过
|
||||||
- 单元测试:474 个全部通过 ✓(465 原有 + 9 新增 Dashboard 测试)
|
- 单元测试:474 个全部通过 ✓(465 原有 + 9 新增 Dashboard 测试)
|
||||||
- 集成测试:111 项通过(4 项反向代理环境相关失败,非项目代码问题)
|
- 集成测试:111 项通过(4 项反向代理环境相关失败,非项目代码问题)
|
||||||
|
+ 2026-06-16 09:17: **Phase 5 — ACME HTTP-01 挑战响应路由 + 编译警告修复**
|
||||||
|
- 修复 config.c 中 FastCGI 配置的 strncpy 截断警告(改用 snprintf),消除 2 条编译器警告
|
||||||
|
- 新增 `acme_get_keyauth()`: 计算 RFC 8555 HTTP-01 keyAuthorization(token + "." + thumbprint)
|
||||||
|
- `server_context` 新增 `acme_ctx_t *acme` 字段,支持服务器持有 ACME 客户端上下文
|
||||||
|
- `server_destroy` 中自动释放 ACME 上下文,防止内存泄漏
|
||||||
|
- 新增 ACME 挑战端点路由: `/.well-known/acme-challenge/<token>`,返回 keyAuthorization 明文
|
||||||
|
- 路由位于 GET/HEAD 检查之后,若 ACME 未配置或 token 无效返回 404
|
||||||
|
- 新增 `test_acme_get_keyauth` 单元测试,覆盖 keyAuthorization 格式(含 "." 分隔符)
|
||||||
|
- 编译验证:零警告(仅外部 coco 库 GNU-stack linker 提示)
|
||||||
|
- 单元测试:474 个全部通过 ✓(1 个 Ignored,为预期行为)
|
||||||
|
- 集成测试:111 项通过(4 项反向代理环境相关失败,非项目问题)
|
||||||
|
- 提交已推送到 origin main 和 rua main(`a198b08`)
|
||||||
|
- 项目状态:Phase 5 进行中,ACME 服务器端 HTTP-01 挑战响应已完成,下阶段目标:ACME 配置集成 + 自动续期后台任务
|
||||||
|
|
||||||
+ 2026-06-16 06:17: **Phase 5 — systemd 服务文件**
|
+ 2026-06-16 06:17: **Phase 5 — systemd 服务文件**
|
||||||
- 新增 `cocoon.service`:完整的 systemd 服务单元配置
|
- 新增 `cocoon.service`:完整的 systemd 服务单元配置
|
||||||
- Type=simple,默认启动 `/usr/local/bin/cocoon -c /etc/cocoon/cocoon.json`
|
- Type=simple,默认启动 `/usr/local/bin/cocoon -c /etc/cocoon/cocoon.json`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user