首页 › weekly › 借苹果的网,找你的钥匙

借苹果的网,找你的钥匙:第七期开源挖掘,7 个把数字生活赎回来的仓库

本期发掘思路

这一轮刻意避开 AI 编程、剪辑器、自建相册这些已经卷出天际的赛道,专挑一类共同气质的项目:它们都在帮你把「租来的数字生活」一件件赎回来。苹果的查找网络、你的命令历史、你的投资净值、你的运动轨迹、你十几个自托管服务的登录口、你的童年游戏库——这些数据本来就在你手里,却长期寄存在别人的服务器上,按月付费,随缘跑路。本期 7 个仓库,方向横跨硬件逆向、身份基础设施、个人财务、复古游戏和桌面效率,全部可以 Docker 或单二进制跑在自己机器上。另有 FitTrackee、Normcap 两个千星级小仓库,属于典型的「一个人养活一个社区」。

数据口径说明:以下 Star 数均为量级近似(标 ≈),精确数字以各仓库 GitHub 页面实时显示为准。


1. OpenHaystack:把苹果的十亿台设备,变成你的定位基站

仓库:seemoo-lab/openhaystack | Star ≈8k | 状态:协议研究级项目,更新趋稳

一句话定位:让几块钱的蓝牙芯片,蹭上苹果覆盖全球的「查找」网络。

AirTag 好用,但它是个封闭俱乐部:只有苹果认证的配件才能接入 Find My 网络,第三方防丢器要么配私有 App,要么众包基站稀稀拉拉。德国达姆施塔特大学 SEEMOO 实验室把这个俱乐部的后门研究明白了——他们逆向了苹果离线查找协议:配件用椭圆曲线密钥对持续生成轮换的蓝牙广播包,附近任何一台 iPhone、iPad、Mac 都会匿名把这些「求助信号」连同自己的 GPS 位置上报到苹果服务器;而配套的 Mac 应用拿着配对私钥,就能从苹果的服务器取回加密的位置报告并解密。

OpenHaystack 把整套东西开源了:nRF51/nRF52、ESP32 等常见蓝牙芯片的固件源码、Mac 端取回解密应用、配套论文,MIT 协议。一块 ESP32 开发板成本不到十块钱,塞进钥匙扣、自行车、猫项圈里,它出现在哪,苹果全球数十亿台设备就是它的定位基站。

要泼两盆冷水:位置要在自家的 Mac 应用里看(走的是逆向出来的私有接口,苹果至今没封,但随时可能变);它不适合实时追踪,适合回答「我的包大概丢在哪个街区」这类问题。上手难度:⭐⭐⭐⭐(要给开发板烧固件)。适合硬件玩家和防丢配件创业者——基于这套开源固件做一版自己的防丢贴片,硬件成本极低,变现路径是卖硬件加订阅式定位服务。

2. Atuin:你敲过的每条命令,都值得被记住

仓库:atuinsh/atuin | Star ≈2万级 | 状态:活跃维护

一句话定位:用 SQLite 重写 shell 历史,可搜索、可同步、端到端加密。

每个终端重度用户都经历过这个场面:三个月前在客户服务器上敲过一条复杂命令,现在 history | grep 翻不到——原生 shell 历史只留最近几千条,跨机器不通,多会话还互相覆盖。Atuin 把这件事彻底重做:先用 atuin import 把旧历史全量迁移进本地 SQLite,此后每条命令都带上下文——执行目录、主机名、退出码、耗时、时间戳。atuin search 替换 Ctrl+R,支持全文、模糊、按目录或主机过滤,搜「上次那台测试机上跑过的 docker 命令」变成一秒钟的事。

更值钱的是同步:atuin sync 把历史在所有机器间打通,同步内容端到端加密,密钥不出本机,服务器看不懂你敲过什么。同步服务端本身开源,可以自架;官方也提供托管同步。Rust 写的单二进制,装机即用,不依赖一堆运行时。

上手难度:⭐。运维、后端、任何在终端里讨生活的人,装上十分钟就能感受到回不去的爽感。商业方向上,托管同步订阅是明牌;更值得想的是团队版——共享命令库、操作审计、新人上手时翻阅前辈的「命令笔记」,这在合规要求重的行业是真需求。

3. Ghostfolio:券商可以换,净值曲线不能丢

仓库:ghostfolio/ghostfolio | Star ≈6k | 状态:活跃维护

一句话定位:自托管的个人资产净值仪表盘,把散落各处的钱合成一张表。

投资这件事有个尴尬:你在 A 券商买了基金,在 B 交易所放了币,在 C 平台存了养老金,每个 App 只肯显示自己那摊。用第三方组合工具?得把交易记录上传给别人的云端,隐私换便利。Ghostfolio 的答案是全部自己持有:Docker 起一个实例,导入各平台的 CSV 对账,之后它给你算统一口径的净值曲线、资产配置(按股债币种、行业、国家切分)、股息时间线、和基准指数的对比,甚至有 FIRE 人群关心的储蓄率和提款进度。

技术栈是 Angular + NestJS + Prisma + PostgreSQL,结构工整,二开友好。它更值得被记住的,是商业模式的完整范本:代码 AGPL 开源,任何人可自托管;官方同时运营云端托管版 Ghostfolio Premium,收订阅费。不想管服务器的人付钱,动手党免费用,两头都成立。对想做开源生意的人来说,这个仓库本身就是教材。

上手难度:⭐⭐⭐。适合跨平台投资者和数据主权敏感者;二次开发方向,做各市场的基金估值适配器、自动化行情导入,就有条件长出一个本地化版本。

4. RomM:给童年游戏建一座图书馆

仓库:rommapp/romm | Star ≈5k+,增速可观 | 状态:活跃,社区爆发期

一句话定位:扫描你的 ROM 库,补全封面简介,浏览器里直接开玩。

玩复古游戏的都懂那个痛:硬盘里 200G 的 ROM 文件夹,文件名是一堆天书缩写,想找《火纹外传》得靠记忆翻目录;换台设备,存档还得手动拷。RomM 把「文件夹」升级成「图书馆」:Docker 部署后指向你的 ROM 目录,它自动识别平台、对接 IGDB 等元数据库,把封面、简介、厂商、发售年份补得整整齐齐,浏览体验向 Steam 看齐。

真正的杀招是内置 EmulatorJS——点一下封面,浏览器里直接开玩,不用在每台设备上装模拟器;存档跟着账号走,客厅电脑玩一半,书房笔记本接着来。多用户、权限管理、按平台和标签归类都是标配,NAS 用户有现成模板。这两年它的星标曲线几乎是自托管游戏赛道最陡的一条。

上手难度:⭐⭐。适合掌机玩家、家庭 NAS 用户、想给孩子搭一台「红白机博物馆」的家长。变现思路要提一句版权红线:工具本身中立,库里只该放你合法拥有的游戏备份;在此之上,付费托管馆、复古主题空间的整套内容管理方案,是可行的生意形态。

5. Pocket ID:一个密码都不想记,那就别记

仓库:pocket-id/pocket-id | Star ≈4k+ | 状态:活跃,迭代很快

一句话定位:只做一件事的 OIDC 提供商——给自托管应用一个极简统一登录门,全程 passkey。

homelab 玩家的世纪难题:装了 Jellyfin、Grafana、Portainer、Home Assistant 十几个服务,就是十几套账号密码;上 Keycloak 或 Authentik?功能是全,但 Java 内存怪兽和复杂概念栈劝退一片。Pocket ID 的解法是把「不必要」全部砍掉:单容器加 SQLite,反代后面几分钟部署完,内存占用几十 MB;登录只认 WebAuthn passkey——指纹、面容或硬件密钥,系统里压根不存在密码这个字段,也就没有密码可泄露。

接入是标准 OIDC 授权码流程,Jellyfin、Grafana、Portainer 等主流自托管应用都有现成文档,基本是一行配置的事。邮箱域名白名单一开,全家服务统一从一道门进出。Go 写的,代码量克制,读源码都不会迷路——这正是「小而美」的定义:拒绝功能蔓延,把一个痛点解决到极致。

上手难度:⭐⭐。适合 homelab 用户和小团队内网。商业潜力在被忽视的中小企业侧:内网 SSO 的部署托管、以及围绕审计日志、组织架构同步做的增值插件,有人愿意为「不用记密码」付钱。

6. FitTrackee:训练数据是跑出来的,不是平台发的

仓库:SamR1/FitTrackee | Star ≈1.4k(两千星以下) | 状态:一人长期维护

一句话定位:把 GPX 轨迹、跑步骑行记录、装备里程,全部存进自己名下的运动档案库。

Strava 们收紧 API、改收费规则的操作看过太多次了——你的十年跑量记录,名义上在你身上,实际随平台政策浮沉。FitTrackee 是一位开发者长期独自维护的自托管答案:导入 GPX 自动解析距离、爬升、配速,轨迹在地图上回放;支持分段成绩、天气记录,甚至有器材管理——那双跑鞋跑了多少公里、该不该退役,它替你记账。Flask + React + PostgreSQL,Docker 部署,对外还有完整 API,能接自己的仪表盘。

Star 常年趴在两千以下,但文档齐全、迭代稳定,社区里全是高黏性的跑者和骑行者。这种仓库的价值从来不在热度,而在于它证明了一件事:一个足够确定的痛点,一个人也能服务全世界。上手难度:⭐⭐⭐。适合数据主权敏感的运动者、俱乐部和私人教练——往「多学员管理」「俱乐部内网训练库」方向二开,就是现成的细分产品。

7. Normcap:框一下屏幕,文字进剪贴板

仓库:dynobo/normcap | Star ≈2k 上下 | 状态:稳定维护

一句话定位:截图即 OCR 的桌面小工具,离线运行,零上传。

屏幕上有大量「看得见、复制不着」的文字:扫描版 PDF、远程桌面里的日志、视频课件里的一行命令、别人发来的截图。常规解法是开全家桶 OCR 软件、传云端识别,重且泄密。Normcap 把这件事压缩到一个动作:全局快捷键唤起,框选屏幕任意区域,内置的 Tesseract 引擎本地识别,文字直接进剪贴板,还带结构感知——按行、按段落智能拼接,不会把一段话拆成碎片。Windows、macOS、Linux 三端齐活,Python + Qt 实现,全程离线,公司内网也能放心用。

它是本期最不起眼、也最可能被用到顺手忘掉的一个:装上之后你不会意识到它存在,直到某天在别人电脑上想复制一段截不下来的字,才发现手已经按了快捷键。上手难度:⭐。适合文献搬运工、远程运维、客服和任何「天天跟截图打交道」的人。二开方向:前面接批量截图或翻译流水线,它就是 RAG 数据摄入环节那个廉价好用的前端。


本期横向对比

仓库 方向 Star(≈量级) 上手难度 一句话场景
OpenHaystack 硬件逆向/防丢 ≈8k ⭐⭐⭐⭐ 十块钱硬件蹭苹果全球定位网
Atuin 终端工具 ≈2万级 ⭐ 命令历史全量可搜可同步
Ghostfolio 个人财务 ≈6k ⭐⭐⭐ 跨平台资产合成一张净值表
RomM 游戏管理 ≈5k+ ⭐⭐ ROM 库变浏览器可玩的游戏馆
Pocket ID 身份基础设施 ≈4k+ ⭐⭐ 自托管全家桶一道 passkey 门
FitTrackee 运动数据 ≈1.4k ⭐⭐⭐ 跑步骑行档案存自己家
Normcap 桌面效率 ≈2k 上下 ⭐ 截屏框选,文字进剪贴板

本期地图

flowchart TD
    R["本期主线<br/>把租来的数字生活赎回来"] --> G1["身份与安全"]
    R --> G2["数据主权"]
    R --> G3["娱乐资产"]
    R --> G4["桌面效率"]
    G1 --> A["Pocket ID<br/>统一登录"]
    G1 --> B["OpenHaystack<br/>Find My 逆向"]
    G2 --> C["Ghostfolio<br/>资产净值"]
    G2 --> D["FitTrackee<br/>运动档案"]
    G2 --> E["Atuin<br/>命令历史"]
    G3 --> F["RomM<br/>游戏图书馆"]
    G4 --> G["Normcap<br/>截图取字"]

本期之最

参考来源

  1. GitHub - seemoo-lab/openhaystack — OpenHaystack 仓库:Find My 网络逆向框架、固件与 Mac 应用源码
  2. GitHub - atuinsh/atuin — Atuin 仓库:加密同步 shell 历史工具的功能说明与架构文档
  3. Ghostfolio 官网 — Ghostfolio 官方站点:云端 Premium 订阅模式与功能清单
  4. GitHub - rommapp/romm — RomM 仓库:自托管 ROM 管理与 EmulatorJS 浏览器游玩文档
  5. GitHub - pocket-id/pocket-id — Pocket ID 仓库:极简 passkey OIDC 提供商的部署与接入说明

[!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学通信知识星球海报-扫码加入