编注:我们会不定期挑选 Matrix 的优质文章,展示来自用户的最真实的体验和观点。文章代表作者个人观点,少数派仅对标题和排版略作修改。

打开网易新闻 查看更多图片

由于家人的照片视频太多,我目前开了 2TB 的 iCloud 套餐。在开 iCloud 套餐之前我尝试过使用 QNAP 的 Photo 应用,但是终究没有 iCloud 方便——原图上传 iCloud,手机保留缩略图,随时可以点开来看太香了,缺点就是有点贵。

接下来这套方案在日常使用没什么问题,但最好本地可以备份一份原图。一来可以避免苹果服务器宕机(这种可能性很低),二来未来有更经济的方案可以随时进行迁移,三来也是为了照片的安全。

本方案需要使用到 Docker 服务,我自己是部署在 QNAP 的 NAS 上面的,所以接下来我会以 QNAP 来打样。如果你有群晖、树莓派、闲置的电脑理论上都是可行的。

前置准备工作

  • 关闭 iCloud 账户的 ADP 功能(高级数据保护)。开启这个功能会限制使用 iCloud 网页,导致无法实现方案中备份效果,如果你非常重视端到端加密等措施,不愿意关闭此功能就此打住不用折腾了。关闭这个功能后可能需要等待一周左右的时间,才会生效,因为苹果服务器需要时间去解密数据。

  • 创建一个名为「.mounted」的隐藏文件,以下简称「挂载文本」。你可以先创建一个名为「.mounted.txt」的文本文件,然后删除掉后缀名,就是一个 0kb 的文件。

  • 安装好 Docker 服务并且确保可以运行。

正式安装

创建文件夹(假设登录的用户名:张三)

创建用于储存配置文件的文件夹 config,存放位置与名称随意。

打开网易新闻 查看更多图片

config 文件夹位置

创建用于储存照片的文件夹 iCloud,存放位置与名称随意。我是在一个硬盘的根目录下直接创建的。

打开网易新闻 查看更多图片

储存照片的文件夹

将「挂载文本」移入 iCloud 文件夹内。

创建容器

由于 Docker 服务器被屏蔽,所以大家可能比较难获取boredazfcuk/icloudpd的 Docker 镜像。假设你已经使用电脑端的 DockerDesktop 获取到了镜像并导出了,那接下来可以进行 QNAP 的镜像导入。

镜像导入

打开网易新闻 查看更多图片

镜像导入路径

打开网易新闻 查看更多图片

导入状态

生成容器

打开网易新闻 查看更多图片

点击红框创建

打开网易新闻 查看更多图片

填写名称且进行高级设置

打开网易新闻 查看更多图片

修改环境变量

打开网易新闻 查看更多图片

删除原来的设置

打开网易新闻 查看更多图片

重新选择路径

打开网易新闻 查看更多图片

重新挂在储存

点击创建运行,等待十几秒中中停止运行。此时,为 QNAP 指定的 config 文件夹会出现一个「icloudpd.conf」,接下来我们就开始进行设置。

选项的配置与解析

icloudpd.conf 的配置

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

user_id 与 group_id 的确认

此时使用「张三」需要登陆 QNAP 的 ssh,然后输入 `id`,就会显示这两个 id 值。它们会用来解决后面可能遇到的权限问题,非常重要!

至此保存 icloudpd.conf 文件。只要接下来初始化就可以使用了。

初始化

进入容器的命令窗口

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

输入初始化代码:sync-icloud.sh --Initialize

进行两次验证登录并写入本地密码文件

保存密码到 keyring 文件

刚开始需要等待两分钟检查更新,然后会询问是否写入 keyring 文件,此时选择「yes」。随后开始要求输入 Apple ID 的密码,界面是没有显示的,输入完成后回车确认即可。等待一会应该会要求进行验证码验证。这个登录的过程会持续两次。

问题排错

ERROR:invalid value for '-d' / '--directory': path '/icloud' is not readable

权限问题,处理方案有两种:

  • 进入容器的执行界面,如何进入可以参考上文。然后运行`chmod 777 /iCloud`;

  • 在之前的 conf 文件中设置好对应的「张三」的 id 和 group_id 后,确保张三对 QNAP 文件夹有权限写入

ERROR:keyring file does not exist. please try again

  • 第一次启动就设置「true」导致的,先暂停容器,设置auth_china=true和icloud_china=true两个变量后再启动。

成功开始备份

打开网易新闻 查看更多图片

成功备份

https://sspai.com/post/90641?utm_source=wechat&utm_medium=social

作者:Geekcat

责编:北鸮