跳到正文
K Kairo

Kairo Auth Stack

用自己的域名接收临时测试邮件,并把 Cloudflare、D1 与 Docker 整理成可检查、可升级、可回滚的本地项目。

MIT 开源 本地优先 可审计升级

一句话

不是把容器跑起来就算结束,而是让它以后还能查、能更、能回滚。

Kairo Auth Stack 是我用自己的域名搭建的一套临时测试邮箱:Cloudflare Email Routing 接收邮件,Worker 处理,D1 保存,再由本地 Docker 服务和检查脚本负责管理。它适合测试自己网站的登录邮件、为不同项目建立邮箱别名,以及学习一封邮件如何从域名进入数据库。

项目不只解决“能不能收到邮件”,还把配置、运行数据、诊断、更新和回滚整理成一套以后仍能维护的流程。

为什么做它

原始组件各自都能工作,真正麻烦的是它们连在一起之后:

  • 邮件收不到时,不知道问题在 DNS、Email Routing、Worker 还是数据库;
  • 服务看似启动成功但健康检查失败时,不知道是配置、客户端版本还是上游连接;
  • 镜像更新依赖 latest,更新后很难判断代码和依赖发生了什么变化;
  • .env、运行数据和日志很容易被误传到公开仓库。

这个项目解决的是这些“跑起来之后”的问题。

我做了什么

统一命令入口

.\kas.ps1 init
.\kas.ps1 doctor
.\kas.ps1 update
.\kas.ps1 snapshot
.\kas.ps1 test

初始化、诊断、升级和审计不再依赖散落的临时命令。

启动前安全阻断

如果配置里仍有 CHANGE_ME,程序会拒绝启动。真实 .env、运行数据和本地审计快照全部被排除在 Git 之外。

分层健康检查

Doctor 不只看“容器是不是 Up”,还会分层检查 Docker、目标服务、依赖发现、配置占位符和本地安全状态。

上游版本审计

更新前保存镜像元数据与配置备份;需要深入比较时,把上游文件提取到本地私有审计区,再对两个版本做 Diff。审计快照不会进入公开 Git。

邮件基础设施

邮件 → Email Routing → Worker → D1 → 本地测试任务

子域名、Catch-all、Worker 绑定名和数据库连接任意一处配置错误,都会让收信链路中断。项目把这些依赖关系拆成可以逐层验证的检查项。

当前结果

  • 可以使用自有子域名接收测试邮件;
  • 邮件由 Worker 处理并保存到 D1;
  • 1 个统一 CLI 入口;
  • 4 个独立维护脚本;
  • 自动拒绝默认密码配置;
  • 可复现的上游快照与升级流程;
  • 一份私人排错记录和一篇经过安全改写的公开复盘;
  • 一份独立的第三方声明和安全策略。

开源边界

产品中的编排、检查工具、维护流程和公开文档使用 MIT License。第三方运行时继续适用各自的许可证与使用边界,项目不重新分发许可证不明确的源码或镜像。

项目只公开通用的部署维护、安全检查和版本审计方法,不提供第三方账号自动化、验证码绕过、凭证导出或规避平台限制的操作教程。

现在做到哪里

v0.1.0 已完成结构、Compose、PowerShell 语法、图片链接和敏感信息检查。GitHub 仓库暂未发布,先作为 Kairo 的真实实验作品持续验证。

继续了解

想继续了解?

可以看看其他作品,也可以从关于页找到我。