首页 › weekly › 邮件服务器,被他焊成一个文件

邮件服务器,被他焊成一个文件

第5轮挖掘,我刻意反着来:前几期 AI 编程工具已经卷成红海,这期专门去捡那些「没人炒、但人人迟早要用」的重活儿基建——自托管邮件、统一登录、内网反入侵、协同引擎、任务队列,再配两个离生活最近的硬件小项目。它们的共同点是:一旦用上就离不开,源码质量高到可以当教材读。需要说明:本期数据采集通道受限,Star 数为量级估计并已标注,具体数值请以仓库页面为准。

1|BurntSushi/mox:ripgrep 作者把邮件服务器焊成了一个文件

定位:单二进制全功能邮件服务器|Star:3k–6k†|维护:长期活跃†

自托管邮件是运维圈的「地狱难度副本」:Postfix、Dovecot、rspamd、证书、DKIM 各装一套,配置文件互相打架,改一行崩全局。mox 把这一切压进一个 Go 二进制:SMTP、IMAP、JMAP、网页邮箱、管理后台、垃圾邮件过滤、邮件列表,全部内置,零外部依赖。

作者 Andrew Gallant(网名 BurntSushi)就是 ripgrep 的作者——那个以「性能偏执 + 文档洁癖」闻名的 Rust 社区传奇。他写 mox 的路数一脉相承:首次启动的 quickstart 会引导你配好全部 DNS 记录并逐项自检;ACME 证书自动续期;SPF/DKIM/DMARC/ARC 开箱即配;每个用户还有独立的贝叶斯垃圾过滤器,越用越懂你的邮箱。对现代客户端,它直接提供 JMAP 协议,邮件同步体验和传统 IMAP 完全不是一个时代。

上手难度:⭐⭐⭐(难不在软件,在云厂商封 25 端口和 IP 信誉) 适用人群:想收回邮件主权的开发者、给小团队做私有化部署的服务商。邮件托管本身就是一门老生意,基于 mox 做小规模托管或企业迁移服务,是典型的「用开源补产品力」路径。

2|pocket-id/pocket-id:一把 passkey,打开全家自托管应用

定位:passkey-only 的轻量 OIDC 身份提供方|Star:3k–8k†|维护:活跃†

自托管玩家的第二痛点是登录:Nextcloud 一套账号、Grafana 一套账号、Home Assistant 又一套。上 Keycloak 或 Authentik?功能全,但那两个「企业级」怪兽的部署和运维成本,够劝退一半homelaber。

pocket-id 的解法非常极客:彻底砍掉密码。它是一个只认 passkey(WebAuthn)的 OIDC 提供方,Go + SQLite,一个 Docker Compose 拉起来,几分钟就能给你的自托管应用们套上统一登录。没有密码数据库,意味着没有密码泄露这个攻击面——对个人自托管场景,这是把安全模型砍到最简的聪明做法。配合分组、API 密钥等管理功能,它刚好覆盖「个人 + 小团队」的九成需求,多一点也不塞。

上手难度:⭐⭐ 适用人群:homelab 玩家、小型团队管理员。变现方向是身份层咨询与托管:帮中小企业把散装 SaaS 和自建应用统一到一套 passkey 体系,交付一次,年费收一次。

3|thinkst/opencanary:内网放只假蜜罐,谁摸谁报警

定位:低噪音开源蜜罐|Star:1k–3k†|维护:活跃†

入侵检测的老大难是误报:日志几万条,真的那一条淹死在里面。蜜罐思路反着来——布一堆「假服务」,正常业务永远不会碰它,谁碰谁可疑,几乎零误报。opencanary 用 Python 实现了这个思路:假 SSH、假 HTTP、假 MySQL、假 SMB、假 NTP、假 RDP……还能识别 nmap 端口扫描。任何人连一下、扫一下、甚至往假 Redis 里写条命令,告警立刻通过邮件、Slack、webhook 推出来。树莓派就能跑,一台设备守一片内网。

它背后的公司 Thinkst 是安全圈著名的「开源获客」教科书:opencanary 免费开源,同门的 Canarytokens(文档、链接、API 密钥级的一次性报警器)免费在线用,商业版硬件蜜罐 Canary 收企业钱。想给客户做内网布防的安全服务商,这套组合拳值得整段抄。

上手难度:⭐⭐ 适用人群:运维、安全工程师、MSSP 服务商。二开方向:把告警接进自家 IM 机器人,打包成中小企业「内网金丝雀」订阅服务。

4|loro-dev/loro:协同编辑的心脏,不该每家自己造一遍

定位:高性能 Rust CRDT 库|Star:3k–6k†|维护:活跃†

做过多人协同的团队都懂那份绝望:实时同步、离线合并、冲突消解、撤销重做、历史回放——每一条单拎出来都是论文题,合在一起能把一个产品团队拖进无底洞。CRDT(无冲突复制数据类型)是学术界的答案,loro 把它做成了工程界能直接用的轮子:Rust 写的高性能 CRDT 框架,提供富文本、Map、列表、可移动列表、树、计数器等一套文档模型,自动合并任意乱序的并发修改,支持版本向量、时间旅行式的历史回放和撤销,官方带 WASM 绑定,浏览器和本地优先应用都能跑。和白板、笔记、文档类产品的亲缘度,高到可以说是地基件。

上手难度:⭐⭐⭐(作为库集成,需要读懂文档模型) 适用人群:做协作文档、白板、本地优先 App 的团队。Notion、Figma 类产品的协同层是公认的护城河,把「护城河组件」做成开源基础设施再提供商业支持,是 Loro 这类项目的想象空间。

5|riverqueue/river:后台任务,一个 Postgres 就够

定位:只依赖 Postgres 的 Go 任务队列|Star:3k–6k†|维护:活跃†

Go 后端要跑异步任务,传统方案是再养一个 Redis 或 RabbitMQ——多一个有状态组件,多一份备份、监控和故障演练。River 的主张很干净:你的数据库本来就在那儿,事务、锁、持久化它都有,为什么还要第二个系统?River 把任务表放进 Postgres,入队和业务写入在同一个事务里完成,业务提交任务才存在,从根上消灭「订单写成了、任务丢了」这类事故;消费端用 FOR UPDATE SKIP LOCKED 多 worker 并发取任务,重试退避、唯一任务、定时周期任务、优先级一应俱全,另有官方 Web UI 看队列水位。Ruby 圈的 Sidekiq 用同一套思路养活了一家公司十几年,这大概是它商业可行性的最好先例。

上手难度:⭐⭐ 适用人群:Go 后端工程师、SaaS 开发者。直接内嵌进自己的产品当任务系统,是最现实的「变现」——省下的运维钱就是利润。

6|nightscout/AndroidAPS:糖友自己写的「人工胰腺」

定位:开源闭环胰岛素 delivery 系统|Star:0.5k–1k†(小而美)|维护:活跃†

1 型糖尿病患者的日常是灾难片:血糖每几分钟测一次,胰岛素每几小时调一次,睡整觉是奢侈品。AndroidAPS 是患者工程师社区「#WeAreNotWaiting」给出的回答——既然医疗设备厂商迭代慢,那就自己写:App 一头连连续血糖仪(CGM),一头连胰岛素泵,跑开源算法自动调节基础率,把「人工胰腺」装进手机。它的安全设计值得所有做关键系统的工程师看:内置硬性约束防止过量给药,新用户必须按「目标关卡」逐级解锁权限,强制先读完整文档。注意:它是社区驱动的非认证系统,必须在内分泌医生指导下评估使用,本项目价值在于展示「用户为自己造医疗器械」这条路能走多远。

上手难度:⭐⭐⭐⭐⭐(生命相关,门槛极高) 适用人群:患者家庭与医疗工程研究者;商业属性弱,但周边托管与培训生态真实存在。

7|artisan-roaster-scope/artisan:烘豆机连上电脑,曲线会说话

定位:开源咖啡烘焙曲线软件|Star:0.5k–1k†(小而美)|维护:长期活跃†

精品咖啡的玄学,一半藏在烘焙曲线里。artisan 是这个细分领域的事实标准:跨平台 C++/Qt 写的桌面软件,通过 Phidget、Arduino/TC4 等温度探头读入豆温和炉温,实时绘制升温曲线和 RoR(升温速率),一爆、转黄、下豆一键打点,多批次曲线叠图对比,还能直接控制 Hottop 等烘焙机自动复烘同一支曲线。全球小烘焙工作室和家庭烘焙玩家靠它把「手感」变成「数据」,作者 Marko Luther 维护这个项目已逾十年,是典型的用爱发电。

上手难度:⭐⭐⭐⭐(得先有探头或支持通讯的烘焙机) 适用人群:咖啡烘焙从业者、硬件 DIY 玩家。烘焙工作室的数字化改造、烘焙课程的配套工具链,都是顺手就能做的延伸生意。

本期横向对比

仓库 赛道 Star† 上手难度 一句话场景
BurntSushi/mox 自托管邮件 3k–6k ⭐⭐⭐ 一个二进制收发全网邮件
pocket-id 统一身份 3k–8k ⭐⭐ passkey 登录所有自托管应用
thinkst/opencanary 安全蜜罐 1k–3k ⭐⭐ 内网被摸立刻报警
loro-dev/loro 协同引擎 3k–6k ⭐⭐⭐ 协同产品的 CRDT 地基
riverqueue/river 任务队列 3k–6k ⭐⭐ Go 异步任务免装 Redis
nightscout/AndroidAPS 开源医疗 0.5k–1k ⭐⭐⭐⭐⭐ 手机变身人工胰腺
artisan 咖啡硬件 0.5k–1k ⭐⭐⭐⭐ 烘豆曲线数据化

†本表 Star 为基于历史公开信息的量级估计,未实时核实,准确数值以 GitHub 仓库页面为准。

本期结构图

mindmap
  root((本期七仓 重活儿基建))
    自托管邮件
      Mox 单二进制全包
    统一身份
      Pocket ID 只认 passkey
    内网诱捕
      OpenCanary 假服务报警
    协同引擎
      Loro Rust 版 CRDT
    后台队列
      River 只靠 Postgres
    开源医疗
      AndroidAPS 人工胰腺
    咖啡烘焙
      Artisan 烘豆曲线

本期之最

最值得立即尝试:pocket-id。 一杯咖啡的时间,全家自托管应用换上 passkey 统一登录,没有密码数据库的安全模型简单到没法出错。

最有商业潜力:loro-dev/loro。 协同编辑是文档、白板、笔记类产品的必答题,把这道题做成开源地基件再收商业支持费,上游市场足够大。

最被低估:BurntSushi/mox。 自托管邮件是个劝退了无数人的领域,ripgrep 作者把功力沉在了一个大多数人看不见的地方——它值得的 Star 数远不止现在这些。

参考来源

  1. BurntSushi/mox — 单二进制邮件服务器,ripgrep 作者出品
  2. pocket-id/pocket-id — passkey-only OIDC 身份提供方
  3. thinkst/opencanary — Thinkst 开源蜜罐
  4. loro-dev/loro — Rust CRDT 框架,官网 loro.dev
  5. riverqueue/river — Postgres 版 Go 任务队列,官网 riverqueue.com
  6. nightscout/AndroidAPS — 开源闭环胰岛素系统,文档 wiki.androidaps.org
  7. artisan-roaster-scope/artisan — 咖啡烘焙曲线软件,官网 artisan-scope.org

数据说明:本期实时采集通道受环境权限限制未能联网抓取,Star 数、更新时间均为基于公开历史信息的量级估计并已逐处标注「†」,请以各仓库页面实时数据为准;文中功能描述基于各项目长期公开的文档与发布信息整理。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入