NAS中部署icloudpd实现iCloud相册同步
N3ptuneBB
2023年02月09日 23:40

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

一、打开 套件中心,安装“Docker”套件

二、打开 控制面板,点击用户与群组-高级设置,滚动到页面底部,确认启用“家目录服务”。

如果默认已经打开就不用管它,直接进行下一步

三、打开“File Station”,创建以下文件夹:

以下均以up登录账户名(Neptune)为例,记得替换成你自己的登录名。

代码块
JavaScript
自动换行
复制代码
docker/icloudpd/Neptune
homes/Neptune/Photos/iCloud
复制成功

四、创建一个.mounted文件(不是文件夹!!!)

(熟悉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、在高级设置中,配置以下环境变量:

代码块
JavaScript
自动换行
复制代码
apple_id:xxx@xxx.com
download_path:/iCloud
icloud_china:True
复制成功

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

skip_check:True

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

8、点击保存后,下一步

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

下一步。

10、最后检查配置,保存

完成容器创建

六、iCloud登陆验证

1、双击容器

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

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

代码块
JavaScript
自动换行
复制代码
/bin/sh
复制成功

点击确定。

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

代码块
JavaScript
自动换行
复制代码
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

什么是NAS?​

什么是Docker?​