下载iCloud相册
使用docker-icloudpd同步。文档在这里。
准备工作
首先需要创建一个docker网络:
1 | docker network create ` |
然后创建两个文件夹,config和icloud,分别用于存放配置文件和同步下来的相册。
如果有多个账号需要同步,可以启动多个容器,每个容器使用不同的config和icloud文件夹。
假如用户名为alice,文件夹可以设为config_alice和icloud_alice,之后都以alice为例。
运行容器
1 | docker run ` |
这里直接指定了环境变量TZ
,TZ
的取值可以在https://nodatime.org/TimeZones查看。
容器中的/config
目录为配置目录,/home/$(user)/iCloud
目录为下载目录,$(user)
取值为/config/config.cnf
配置中的user
项。
注意,user
要有访问$(pwd)/icloud_alice
和$(pwd)/icloud_alice
的权限。
比如在linux下,不要挂载到/root/
目录下,容易出现权限问题。
配置
在运行容器后,会因为没有设置apple_id
而挂起。此时在$(pwd)/config_alice/
目录下会产生config.cnf
配置文件,我们需要先修改配置。
user: 将user
改为alice。注意默认的user_id
和group_id
都为1000:第一个普通用户。
apple_id: 将apple_id
改为你的Apple ID。
icloud_china: 如果使用国内网络,需要设为true,使用icloud.com.cn
,不然苹果会将icloud.com
重定义到icloud.com.cn
引起混乱。
auth_china: 如果使用国内网络,需要设为true,使用icloud.com.cn
,不然苹果会将icloud.com
重定义到icloud.com.cn
引起混乱。
其余配置参见文档。
初始化/登录
运行初始化命令:
1 | docker exec -it icloudpd_alice sync-icloud.sh --Initialise |
根据命令行显示的提示,输入登录密码和2次两步认证码。输完第1次验证码后,点确认将框取消,准备
完成
此时容器会自动开始同步,可以通过docker logs icloudpd_alice -n 10 -f
查看同步进度。
默认同步周期为每24小时同步一次,这个时间间隔不要配置成小于12小时,会触发苹果限流。
登录过期
保持的登录信息有效期是90天,可以在$(pwd)/config_alice/DAYS_REMAINING
文件查看剩余天数。
默认提前7天会每天发通知,需要在配置文件里设置通知notification_type
类型。