DIY同步iCloud相册主流方案icloudpd

2025-10-04 07:35:04 1点赞 21收藏 0评论

icloudpd是一个开源软件,是目前DIY同步iCloud相册主流方案,
因为使用的人较多,而且可以通过开源代码来确认,所以安全性没有太大问题,
这里首先贴上Github地址:https://github.com/icloud-photos-downloader/icloud_photos_downloader 里面有完整的代码和使用文档

icloudpd的Github页面icloudpd的Github页面

使用icloudpd有一些前置条件,需要我们检查iCloud的设置,后续在认证上有问题也需要优先检查这里。

前置条件前置条件

安装方面可以参考站内的其他文章,大部分文章里是使用docker安装,docker安装更便于管理,更适合常驻同步进程的情况。
我个人不需要自动同步,没有必要保持一个容器长时间运行,所以我选择使用pip安装,只在需要的时候运行命令即可。
安装和使用都需要在终端操作,但使用终端并不复杂,我尽量配图。

这次的环境是fnOS。

主要流程:

1.添加终端应用gotty

2.创建独立的Python环境

3. 安装icloudpd

4. 使用icloudpd同步相册

1. 添加终端应用gotty

飞牛没有自带web终端,所以需要先添加一个终端来连接。

如果有其他选择替代的话可以跳过这一步

从应用商店直接抖索gotty,安装完成后,需要设置账号密码。

然后输入账号密码后进入终端界面,

然后输入飞牛的账号密码,登录终端

2.创建独立的Python环境

飞牛本身自带了Python环境给系统使用,为了避免影响系统,我们需要创建独立的Python环境来运行icloudpd。

a. 创建一个虚拟环境文件夹:

这里我们创建一个名为 my_icloud_venv 的虚拟环境

python3 -m venv my_icloud_venv

这时候会创建一个名为my_icloud_venv的目录,激活环境后,我们通过pip安装的软件都会保存在这里。

b. 激活虚拟环境:

激活后,你的命令行提示符前面会多一个 (my_icloud_venv) 的标记,表示你现在正处于这个独立的环境中。

source my_icloud_venv/bin/activate

3. 安装icloudpd

a. 升级pip

python -m pip install --upgrade pip

查看pip版本命令:pip -V

b. 安装icloudpd

pip install icloudpd

#网络不好可以使用proxy

pip --proxy ip:port install icloudpd

至此icloudpd安装完成

4. 使用icloudpd同步相册

先贴一下GitHub的原文:

icloudpd使用方法icloudpd使用方法

a. 认证

使用icloudpd首先要通过认证,完成认证后会在本地保存凭证,凭证的有限期是两个月,过期之后需要重新认证。

对于手动同步来说,凭证过期影响不大,如果是需要常驻同步进程,可以参考GitHub文档配置邮箱,在凭证过期的时候,发送邮件通知你。我没有这个需求,所以没有测试过具体的步骤。

认证认证

涉及到认证的常用参数:

#参数 --cookie-directory /vol1/1001/private/.pyicloud 指定保存凭证目录,可以不指定,默认存放在用户目录下面的.pyicloud目录 "~/.pyicloud"

#参数--username apple_username 指定用户名

#参数--password apple_password 指定密码,可以不指定,然后交互式输入

#参数--domain cn (重要)国内用户必需设置

icloudpd --username my@email.address --password my_password --domain cn --auth-only

认证通过认证通过

执行后会在手机上弹窗,确定登录的位置,确定后弹出验证码,这里的验证码是400641,输入后完成认证,同时会自动创建目录 ~/.pyicloud,保存凭证。

此时无需输入密码和二次认证即可通过认证。

icloudpd --username my@email.address --domain cn --auth-only

认证已缓存认证已缓存

b. 同步所有相册(除隐藏相册)

#参数--directory /vol1/1001/Photos 指定下载目录

重点:这里我们需要指定相册同步的本地地址,注意这里的目录地址是飞牛的原始路径,我们可以在文件管理中,右键单击文件夹,点击详细信息,点击复制原始路径。

DIY同步iCloud相册主流方案icloudpd

icloudpd --directory /vol1/1001/Photos --username my@email.address --domain cn

同步全部相册同步全部相册

c. 同步指定相册(可指定隐藏相册)

#参数 --list-albums 列出所有相册

#参数--album 微信 指定相册名

#参数--folder-structure none 指定下载的目录结构,none为无结构平铺,不指定--folder-structure参数会按照默认的"年/月/日"目录结构下载,如需自定义目录结构可以参考文档

首先查看相册列表

icloudpd --username my@email.address --domain cn --list-albums

查看相册列表查看相册列表

我们可以看到常用的相册,例如截图相册(Screenshots)、隐藏相册(Hidden)等等

指定Screenshots相册单独同步到/vol1/1001/Photos/iCloud/Screenshots目录中,无目录结构

icloudpd --directory /vol1/1001/Photos/iCloud/Screenshots --username my@email.address --domain cn --album Screenshots --folder-structure none

指定相册同步指定相册同步

c. 常驻同步(如果需要常驻同步进程建议使用docker)

#参数--watch-with-interval 3600 指定此参数将无限循环运行,间隔3600秒后再次开始拉取

icloudpd --directory /vol1/1001/Photos/iCloud/证件 --username my@email.address --domain cn --album 证件 --folder-structure none --watch-with-interval 3600

常驻同步常驻同步

有问题欢迎在评论区留言讨论

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

oratree

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
21
扫一下,分享更方便,购买更轻松