第三方工具下载iCloud照片

适用于Windows,Linux和MacOS

需要安装docker,以windows为例

原始docker镜像,详见 https://hub.docker.com/r/boredazfcuk/icloudpd

记录一下新手的坑:

1.拉取镜像

docker pull boredazfcuk/icloudpd

2.创建容器

命令如下:

docker create \
   --name <Contrainer Name> \
   --hostname <Hostname of container> \
   --network <Name of Docker network to connect to> \
   --restart=always \
   --env user=<User Name> \
   --env user_id=<User ID> \
   --env group=<Group Name> \
   --env group_id=<Group ID> \
   --env apple_id="<Apple ID e-mail address>" \
   --env apple_password="Apple ID password" \
   --env authentication_type=<2FA or Web> \
   --env command_line_options="<Any additional commands you wish to pass to icloudpd>" \
   --env synchronisation_interval=<Include this if you wish to override the default interval of 24hrs> \
   --env notification_type=<Choice of Prowl or Pushbullet> \
   --env notification_days=<Number of days for which to send cookie expiry notifications> \
   --env TZ=<The local time zone> \
   --volume <Named volume which is mapped to /config> \
   --volume <Bind mount to the destination folder on the host> \
   boredazfcuk/icloudpd

比较简单可以这样:

docker create \
   --name neo \
   --restart=always \
   --env user=neo \
   --env user_id=1000
   --env group=admins \
   --env group_id=1010 \
   --env apple_id="thisisnotmy@email.com" \     #有空格的地方加引号
   --env apple_password="neitheristhismypassword" \    #有空格的地方加引号
   --env authentication_type=2FA \   #2步验证
   --env folder-structure={:%Y} \   #下载的目录格式,:%Y/%m/%d
   --env command_line_options="--auto-delete --recent 5000" \   #可以不要,具体用法看文档。 recent 5000 就是最近的5000张照片,不写默认全部
   --env TZ=Asia/Shanghai \  #删了也行,默认UTC时间
   --volume /d/iCloud/config:/config \  #config文件夹位置,存放2次验证的临时文件;冒号前是本地电脑位置,即d:\iCloud\config的意思 
   --volume /d/iCloud:/home/neo/iCloud \  #照片存放位置,冒号前是本地电脑位置,即d:\iCloud\的意思,neo这里替换为上文user的那个
   boredazfcuk/icloudpd

3.创建文件夹

类似上文的d:\iCloud需要先创建

并且需要在文件夹下面创建一个 .mounted的文件,要不报错。 (没仔细看文档的锅。。。)

4.运行容器

会提示认证,可选短信或动态密码,每次认证有效期90天。

如果没有认证成功,见第5步。

5.手动认证

   docker run -it --rm \
   --network <Same as the previously created contrainer> \
   --env user=<Same as the previously created contrainer> \
   --env user_id=<Same as the previously created contrainer> \
   --env group=<Same as the previously created contrainer> \
   --env group_id=<Same as the previously created contrainer> \
   --env apple_id="<Same as the previously created contrainer>" \
   --env apple_password="<Same as the previously created contrainer>" \
   --volume <Same named volume as the previously created contrainer> \
   boredazfcuk/icloudpd

这里的参数需要和上文一致:

   docker run -it --rm \
   --env user=neo \
   --env user_id=1000 \
   --env group=admins \
   --env group_id=1010 \
   --env apple_id="thisisnotmy@email.com" \
   --env apple_password="neitheristhismypassword" \
   --volume /d/iCloud/config:/config \     #这里是存放config的那个文件夹
   boredazfcuk/icloudpd

基本没问题了。

留下评论