第三方工具下载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
基本没问题了。