
写在前面:由于林檎公司最近更改了iCloud网页版的登录验证方式,导致目前能搜到的教程无法完成部署,up在GayHub学♂习了一晚上后使任务成功运♂shit,分享出来免得大家踩坑


如果默认已经打开就不用管它,直接进行下一步
以下均以up登录账户名(Neptune)为例,记得替换成你自己的登录名。
docker/icloudpd/Neptune
homes/Neptune/Photos/iCloud (熟悉Linux的朋友可以通过ssh直接touch一个,直接看下一步。不会的同学老老实实跟着做)
1、在你的电脑桌面空白处右键创建一个文本文档,并将其改名为.mounted


.txt后缀也要删掉
2、在“File Station”中打开“homes/Neptune/Photos/iCloud”文件夹
3、将电脑桌面创建好的.mounted文件拖入“homes/Neptune/Photos/iCloud”文件夹

五、在Docker中创建容器
1、打开“Docker”,点击“注册表”,搜索“pjoc/docker-icloudpd”,双击下载。

2、点击“映像”,等待下载完成

小罐头填满没有动画了就代表下载完成
3、点击左侧“容器”,点“新增”
4、勾选刚刚下载好的映像,下一步

5、保持默认选择,下一步

6、勾选“启用自动重新启动”,点击高级设置

7、在高级设置中,配置以下环境变量:
apple_id:xxx@xxx.com
download_path:/iCloud
icloud_china:True


PS:如果你的iCloud相册媒体数量非常大(10000+),请再额外加一条:
skip_check:True

*由于up相册较大,所以开启了skip_check,如果你没有设置这一项,后面遇到了问题,可以尝试添加此变量来跳过新文件检测
8、点击保存后,下一步

9、添加之前创建好的两个两个两个文件夹,填入相应的装载路径


下一步。
10、最后检查配置,保存

完成容器创建
1、双击容器

2、点击“日志”,等待出现如下2号框中提示

3、点击终端机-“新增”旁边的小三角-通过命令启动,输入:
/bin/sh 点击确定。


4、在“sh”终端机中输入如下代码并回车:
sync-icloud.sh --Initialize

5、等待程序运行,出现此提示后输入你的iCloud密码,回车(盲输入,终端不会显示你输入的密码)

6、提示是否保存密码到keyring,输入“y”,回车

7、提示需要两步验证(2FA),打开你的Apple设备
会有弹窗提示登录验证,点击允许
输入六位验证码,回车

8、再次进行两步验证,iOS设备点击允许登录,输入验证码,回车

9、出现如下提示,登录验证完成。

注意:本地保存的cookie有效期只有90天,90天后需要再次手动进行登陆验证。
cookie就相当于行星发动机的火石,用于每次容器运行时登录网页版iCloud。没有cookie的互联网,毫无意义()
“日志”中出现如下提示即代表登录成功,点击“总览”,重启容器

最后检查:容器重启后,进入“日志”页面,等待片刻日志更新

出现开始下载文件的日志即代表点火成功(雾),等iCloud里的全部照片注入NAS后就可以降级存储空间啦~
PS:默认24小时同步一次,如需设置其他同步频率,请添加变量:
synchronisation_interval:xxx(秒),例如6小时就是21600,12小时43200
更多变量请前往项目自行学习,这里不再赘述
说在后面:
此方法截至2023/02/09正常工作,后续包括但不限于Docker、https://github.com/boredazfcuk/docker-icloudpd项目的更新以及林檎公司对iCloud网页版验证方式的变更可能导致此教程无效,up主鼓励大家自行前往项目页面阅读作者@boredazfcuk大佬的相关介绍以及参考提供的更多变量及其作用,自主排查问题。
感谢GitHub大神@boredazfcuk持续维护此项目,感谢知乎大佬@小浪提供教程,感谢项目中为大家解答的hxd以及pull大陆登录验证解决方案的鹅厂大佬@blademainer。
相关链接:
icloudpd项目@boredazfcuk:https://github.com/boredazfcuk/docker-icloudpd
ios照片太多,搭配群晖和iCloud应该如何正确使用? - 小浪的回答 - 知乎 https://www.zhihu.com/question/430666275/answer/2341374332
解决iCloud新版验证问题并提供镜像的鹅厂大佬@blademainer:https://github.com/blademainer