2026-06-09 22:34:00
前两篇文章把 OtterIO 的来龙去脉和代码线整理交代清楚了,这篇文章回到操作层面:如果过去的项目、文章示例、CI 环境或小型私有化部署里用了 MinIO,现在想切换到 OtterIO,应该怎么改镜像、怎么换环境变量、怎么部署、怎么验证迁移、哪些地方不兼容。文中给出一条 Docker 命令起 OtterIO、用 docker compose 跑多版本 MinIO 与 OtterIO 共存的可复现实验环境,再用 AWS CLI、s3cmd 通过标准 S3 API 把不同版本 MinIO 中的对象同步到 OtterIO,并用对象级 ETag/大小/数量做迁移校验,最后老老实实说明 mc admin、企业特性、商标与发行物层面的兼容边界。
2026-06-08 12:11:00
上一篇文章交代了为什么要重新审视 MinIO,以及为什么会有 soulteary/minio 这条 Apache 2.0 基线。这篇文章接着往下聊:从 soulteary/minio 到 OtterIO,中间到底做了什么。我把这次整理拆成十二步:从项目身份和命名独立、把 2021 年的代码带到 2026 年、用 gofiber/fiber/v3 重做 HTTP 入口、缩小 Bucket Notification 与 Gateway 的维护面,到把 2021 年 4 月之后上游 CVE / GHSA 逐项入账、按攻击面拆解安全修复、补齐 LDAP DN 规范化与迁移流程,再到完善 CI、自动化 Release、多架构镜像、控制台 listener 拆分,以及在保留原有 S3 使用体验的前提下,诚实说明 OtterIO 的适用范围与风险边界。
2026-06-07 20:49:00
MinIO 仍然是开源软件,但它已经不再是过去那个“Apache 2.0、社区仓库持续维护、预编译二进制直接使用”的默认选择:许可证从 Apache 2.0 切换到 AGPLv3,公开 GitHub 仓库被归档并标注不再维护,社区版预编译二进制也不再继续发布。本文重新审视 MinIO 当前的开源状态,比较 PGSTY/Silo 与 JuiceData/minio 两个社区 fork 的定位与许可证边界,并整理出我自己的 soulteary/minio 主线:基于 RELEASE.2021-04-22T15-44-28Z 这一切换 AGPLv3 之前的最后 Apache 2.0 版本,把 HTTP 路由切到 gofiber/fiber/v3、收敛 Bucket Notification 与 Gateway、升级到 Go 1.26,作为后续 OtterIO 项目的代码基线。
2026-06-03 23:10:00
Kakapo 是一个基于 Wails v3、Go 和 Echo 构建的本地桌面翻译工作台,它把多个 OpenAI 兼容模型(Kimi、DeepSeek、OpenAI 等)收拢到同一个界面里,支持多模型并行翻译、结果比较、回译、系统朗读和本地历史记录。普通配置保存在 settings.json,API Key 使用 macOS Keychain 保存,历史记录保存在 history.json。本文记录这个项目的实现过程,以及 Wails v3、Go、Echo、系统 WebView、Keychain 和 OpenAI 兼容接口这套技术栈在桌面工具场景下的实践与取舍。
2026-05-30 04:43:00
Herald(鸦使)是一个轻量的 OTP 和验证码服务,适合 HomeLab、小团队内部工具和测试环境。它负责创建验证挑战、生成验证码,通过邮件、短信、钉钉等通道把验证码送出去,并完成校验、过期、限流与审计。它可以接在 Stargate 和 Warden 后面作为认证链路里的“送信人”,也可以独立运行,给内部后台、脚本和平台提供统一的验证码能力,并支持 Docker 部署与后续扩展真实发送通道。
2026-05-30 02:28:00
Warden(守望者)是一个轻量的准入名单数据服务,适合 HomeLab、小团队内部工具和测试环境。它维护可被机器稳定查询的用户名册,记录邮箱、手机号、用户 ID、状态、角色和权限范围,可接在 Stargate 后面完成从共享口令到认人的过渡,也可独立为内部网关和脚本提供统一查询能力,并支持 Docker 部署与后续扩展 Redis、远程数据源和监控。