一年过去,收获了一些 star,也有不少朋友在用。现在我的相册同步工具现在同时支持 小米云服务 和 iCloud 了,支持在 web 页面中配置,以定时增量同步的模式从 iCloud 同步数据到 nas

coolfan 2026-10-23 10:20 1

项目大概在去年这个完成了重构,至今累计了 400+Star 和 80k+的 docker pull


https://github.com/Coooolfan/XiaomiAlbumSyncer




特性一览



  • ☁️ 多云服务商支持:小米云服务(相册 + 录音)与 Apple iCloud (照片)

  • 📸 下载指定相册中的所有资产

  • ⏭️ 自动跳过已下载的资产

  • 🎵 支持下载录音(小米云服务)

  • 🔄 自动刷新凭据(小米 passToken / iCloud 会话)

  • ⏰ 支持定时任务

  • 📥 支持增量下载(超快)

  • 🗂️ 支持按相册分类存储照片

  • 🌍 友好的 Web UI

  • 📅 填充照片和视频的 Exif 时间信息

  • 📅 填充照片和视频的文件系统时间

  • 👥 支持多账号统一管理(多小米账号 + 多 Apple iCloud 账号)

  • 📃 表达式插值文件下载路径

  • 🔒 SSL 支持

  • 🛡️ Passkey 支持


典型场景



  1. 在订阅了小米云服务和 iCloud 的前提下,手机拍摄了任意照片,对应的系统( HyperOS 或者 IOS )在后台自动且无感地将图片同步到小米云服务或者 iCloud 。

  2. 随后位于 nas 或者 homelab 的机器定时(每日或者每小时或者自定义 cron 表达式)从小米云服务或者 iCloud 中同步图片到机器。
    最后交由 immich 或者飞牛相册消费。当然也可以纯归档不消费。

  3. 项目定位为“归档”。只同步新增相册的动作,不同步删除动作。换句话说,即便你的手机小米云服务或者 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

最新回复 (10)
  • totoroo 10-23 11:49
    1楼
    赞美群友😄
  • LDa 10-23 13:29
    2楼
    很棒的项目,请问能支持多手机统一管理不
  • coolfan 楼主 10-23 13:35
    3楼
    @LDa 支持多 xiaomi 账号 多 icloud 账号并行、独立处理
  • wxx001 10-23 13:45
    4楼
    好东西,之前一直用 iCloudpd ,换这个试试
  • feller 10-23 14:10
    5楼
    和 iCloudpd 比起来有什么优势
  • hallomou 10-23 14:21
    6楼
    这个是如何保持 iCloud 登录状态呢?
  • coolfan 楼主 10-23 14:49
    7楼
    @hallomou 要求提供 apple 的账号密码和 2FA 。受 icloud 限制,每次只能保持 30 天有效,然后要重新 2FA 。当然失效了会给你发通知。
  • coolfan 楼主 10-23 15:29
    8楼
    @feller 我们支持增量同步,在定时跑大相册的时候,会快不少。当然很多地方都参考了 iCloudpd 。还有 WebUI ,相对来说会简单直观一点。
    劣势很显然,icloud 的支持最新才上,很多 bug 需要时间才能发现。
  • hallomou 10-23 16:12
    9楼
    @coolfan 可以考虑一下像 icloudpd 一样支持使用 Telegram 来进行二次验证(快到期了发送通知,然后在 TG 里输入指令,填写 2FA code 重新登录),可以考虑出一个用微信机器人的,但考虑到如果一个微信机器人就做这样的事情,会有点太大材小用。也可以做一个简单的可以部署到 Cloudflare Worker 的项目,用户可以在上面开启重新验证,以及输入 2FA ,XiaomiAlbumSyncer 轮询这个端点来调用登录 iCloud 、获取 2FA 。

    另外我觉得界面可以做的再明亮一点。我一直在用 iclouddp ,但那个几乎全命令行操作,lz 这个有 UI 界面感觉会更容易普及,加油。
  • galenzhao 10-23 21:12
    10楼
    能不能加个 googlephoto ,双持用户,
* 帖子来源V2EX
返回