在数字游民与开发者的日常工作中,数据丢失的恐惧始终如影随形:
- 一次误执行
rm -rf;
- 一次 Git Rebase 事故覆盖了未提交的代码草稿;
- 移动硬盘遭遇文件系统损坏,或者固态硬盘遭遇毫无征兆的主控暴毙;
- 外出办公时 MacBook 意外遗失或进水损坏……
很多人以为开通了 iCloud Drive 就能高枕无忧,但这其实是一个致命的认知误区:同步(Sync)绝对不等于备份(Backup)。当一个文件在本地被勒索病毒加密、被误删或被脏数据污染时,iCloud 会在几毫秒内将这个破坏性的改动忠实地同步到你所有的 Apple 设备上。
那么,macOS 自带的 Time Machine(时间机器) 呢?
- 时间机器是本地整机灾难恢复的标杆,但它高度依赖插在工位桌上的那块专用外置硬盘;
- 当你尝试通过局域网 SMB / NAS 跑时间机器时,庞大脆弱的
sparsebundle 镜像经常因为网络波动损坏崩溃;
- 面对低成本的对象存储(如 AWS S3、Cloudflare R2、Backblaze B2、Wasabi),时间机器完全无法原生支持端到端客户端加密上传。
市面上的商业级工具(如 Arq Backup),虽然支持云端存储,但不仅闭源且售价高昂(单机买断或每年 $60 订阅),更重要的是其采用了专有格式,一旦停止维护,数据提取极其被动。
在开源界,restic 早已是公认的工业级备份王者:基于 Go 语言、支持 AES-256-CTR + Poly1305 强加密、基于 Rabin 指纹的变长内容分块去重(CDC)、支持几乎所有存储后端。然而,restic 是一个纯 CLI 命令行工具 —— 编写 launchd plist 配置繁琐、笔记本合盖休眠后任务经常漏跑、密码管理与运行状态完全缺乏可视化。
开源社区迎来了一款真正补齐 Mac 备份最后一块拼图的作品 —— Keelhaven(由开发者 shenxianpeng 开源)。
它用现代 Swift 6 + 原生 SwiftUI,为久经考验的 restic 引擎穿上了一件极其克制优雅的“菜单栏外衣”:住进 macOS 菜单栏、无 Dock 栏干扰、密钥全进系统钥匙串配合 Touch ID、支持睡眠唤醒补跑与断网锁自愈、全面兼容外置硬盘/S3/SFTP,并且 100% 保持标准 restic 开放格式,零锁定、零遥测、零云端账号!
本文将以架构设计与源码实现的第一视角,深度剖析这款专为 Mac 打造的隐私优先备份神器。