爱意满满的作品展示区。
coolfan

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

  •  
  •   coolfan · 14h 31m ago · 670 views

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

    另外我觉得界面可以做的再明亮一点。我一直在用 iclouddp ,但那个几乎全命令行操作,lz 这个有 UI 界面感觉会更容易普及,加油。
    galenzhao
        10
    galenzhao  
       3h 39m ago
    能不能加个 googlephoto ,双持用户,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1806 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:51 · PVG 00:51 · LAX 09:51 · JFK 12:51
    ♥ Do have faith in what you're doing.