- coolfan2天前2433
项目大概在去年这个完成了重构,至今累计了 400+Star 和 80k+的 docker pull
https://github.com/Coooolfan/XiaomiAlbumSyncer


特性一览
- ☁️ 多云服务商支持:小米云服务(相册 + 录音)与 Apple iCloud (照片)
- 📸 下载指定相册中的所有资产
- ⏭️ 自动跳过已下载的资产
- 🎵 支持下载录音(小米云服务)
- 🔄 自动刷新凭据(小米 passToken / iCloud 会话)
- ⏰ 支持定时任务
- 📥 支持增量下载(超快)
- 🗂️ 支持按相册分类存储照片
- 🌍 友好的 Web UI
- 📅 填充照片和视频的 Exif 时间信息
- 📅 填充照片和视频的文件系统时间
- 👥 支持多账号统一管理(多小米账号 + 多 Apple iCloud 账号)
- 📃 表达式插值文件下载路径
- 🔒 SSL 支持
- 🛡️ Passkey 支持
典型场景
- 在订阅了小米云服务和 iCloud 的前提下,手机拍摄了任意照片,对应的系统( HyperOS 或者 IOS )在后台自动且无感地将图片同步到小米云服务或者 iCloud 。
- 随后位于 nas 或者 homelab 的机器定时(每日或者每小时或者自定义 cron 表达式)从小米云服务或者 iCloud 中同步图片到机器。
最后交由 immich 或者飞牛相册消费。当然也可以纯归档不消费。
- 项目定位为“归档”。只同步新增相册的动作,不同步删除动作。换句话说,即便你的手机小米云服务或者 iCloud 服务遭受预期之外的打击,你使用 XiaomiAlbumSyncer 下载的数据不会有任何丢失。
常见问题
每半小时同步一次在面对大相册的时候会消耗大量时间吗? 不会,在位点模式(小米云和 iCloud 都支持)下只有第一次同步会消耗大量时间,后续同步动作仅消费新增数据,没有任务全库对比、全库拉取之类的动作,类似数据库的 CDC 能力。
必须要买对应厂商的云服务吗? 没有这方面的限制,但是免费送的空间一般不够用。考虑到终端设备的体验,不支持“中转站”式的轮换。
和 immich 或者别的在手机上安装的同步 app 有什么区别? XiaomiAlbumSyncer 的交互发生在你的 nas 和云厂商之间,和你的手机 0 交互。你继续在手机上使用由厂商提供的,在对应平台下体验最好的数据同步服务,XiaomiAlbumSyncer 在 nas 上完成剩下的一切。
需要 nas 和手机直连吗? nas 需要公网 ip 吗? XiaomiAlbumSyncer 不和手机连接,nas 只需要可以连接到互联网即可,不需要被反向访问。
碎碎念
手机 → 云服务 → immich
这个流程到现在我大概用了一年多,除了要多花一点钱购买手机厂商的云服务,在体验上我非常满意。尤其在多设备的情况下。 我可以真正享受按下快门,不用考虑任何问题。随后我可以在 immich 上同时看到 ipone 、小米的图片,并统一使用 immich 的人脸、语义搜索等功能。
欢迎讨论!欢迎 Star !
https://github.com/Coooolfan/XiaomiAlbumSyncer
主楼 - totoroo2天前2434
赞美群友😄
- LDa2天前2435
很棒的项目,请问能支持多手机统一管理不
- coolfan2天前2433
- wxx0012天前2436
好东西,之前一直用 iCloudpd ,换这个试试
- feller2天前2437
和 iCloudpd 比起来有什么优势
- hallomou2天前2438
这个是如何保持 iCloud 登录状态呢?
- coolfan2天前2433
- coolfan2天前2433
- hallomou2天前2438
@coolfan 可以考虑一下像 icloudpd 一样支持使用 Telegram 来进行二次验证(快到期了发送通知,然后在 TG 里输入指令,填写 2FA code 重新登录),可以考虑出一个用微信机器人的,但考虑到如果一个微信机器人就做这样的事情,会有点太大材小用。也可以做一个简单的可以部署到 Cloudflare Worker 的项目,用户可以在上面开启重新验证,以及输入 2FA ,XiaomiAlbumSyncer 轮询这个端点来调用登录 iCloud 、获取 2FA 。
另外我觉得界面可以做的再明亮一点。我一直在用 iclouddp ,但那个几乎全命令行操作,lz 这个有 UI 界面感觉会更容易普及,加油。
- galenzhao2天前2439
能不能加个 googlephoto ,双持用户,
