iCloud 照片库批量下载同步工具

icloud-photos-downloader(简称icloudpd)是一款基于Python开发的开源命令行工具,核心用于跨平台批量下载、同步iCloud照片库中的照片与视频,支持自动化备份、增量同步与自定义筛选,适合个人数据备份、本地归档等场景,遵循MIT许可证。以下从核心信息、功能、安装与使用、注意事项等方面详细介绍:

核心基础信息

项目详情
开发者Nathan Broadbent,社区维护
项目地址https://github.com/icloud-photos-downloader/icloud_photos_downloader
编程语言Python
支持平台Linux、Windows、macOS,也可在NAS、树莓派等设备运行
运行方式Docker、PyPI、AUR、npm、预编译二进制文件、源码编译
核心交互通过PyiCloud库与Apple的iCloud API交互,支持两步验证

核心功能

1.  三种核心操作模式Copy(默认):仅下载iCloud新增照片/视频,不改动云端与本地已有文件。

a.  Sync(–auto-delete):下载新增文件,同时删除本地已在iCloud中删除的文件,保持本地与云端一致。

b.  Move(–delete-after-download等):下载后删除云端文件,可通过–keep-icloud-recent-days保留近期文件。

2.  高效批量与增量同步支持断点续传、自动去重,避免重复下载。

a.  可通过–watch-with-interval持续监视iCloud变更,定期增量同步;–until-found、–recent等参数优化增量运行效率。

3.  精准筛选与自定义按相册(–album)、日期(–recent等)、人脸识别相册等筛选下载,–list-albums可列出可用相册。

a.  支持Live Photos(图片视频分开存储)、RAW格式(含RAW+JPEG),保留EXIF元数据并可通过–set-exif-datetime更新元数据时间。

b.  自定义下载尺寸、本地文件夹结构(如按年/月/日归档)。

4.  安全与自动化支持两步验证,可配置邮箱接收授权失效提醒。

a.  可通过定时任务实现无人值守的自动备份,适合NAS等设备长期运行。

安装与快速使用

1.  安装方式(推荐优先级排序)Docker:环境隔离、依赖管理简单,适合长期使用。

a.  PyPI:pip install icloud_photos_downloader,适合已配置Python环境的用户。

b.  预编译二进制文件:直接下载对应系统的可执行文件,适合临时使用。

c.  其他:Arch Linux可通过AUR安装,也可通过npm安装。

2.  基础使用步骤准备工作:在iPhone/iPad中开启“设置 > Apple ID > iCloud > 网页访问iCloud数据”,关闭“高级数据保护”,否则可能出现访问错误。

a.  基础命令:icloudpd –username 你的AppleID –password 你的密码 –directory 本地保存路径。

b.  进阶示例:指定相册并同步,icloudpd –username xxx –directory ./photos –album “旅行相册” –auto-delete。

注意事项

1.  账号安全:避免在命令行明文输入密码,建议使用系统密钥链等安全存储方式;两步验证过期后需重新授权。

2.  地区适配:中国大陆用户建议添加–domain .cn参数,将请求指向iCloud中国服务器。

3.  功能限制:不支持iCloud共享相册下载,部分特殊格式可能存在兼容性问题,需关注项目更新日志适配情况。