侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 84 篇文章
  • 累计创建 31 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

iCloud自动同步照片、视频至威联通NAS

羊刀仙
2024-06-24 / 0 评论 / 0 点赞 / 343 阅读 / 4680 字
温馨提示:
本文最后更新于 2024-06-25,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好,我是羊刀仙。

用iPhone的各位,想必也跟我一样,照片、视频都习惯存在iCloud中?其实除了需要付费扩容以及早年的后门事件,iCloud是真的挺方便好用。

不过虽然iCloud提供了方便的在线存储,但在我们需要本地备份或跨设备管理这些数据时,手动下载和同步显得极其繁琐且耗时。尤其是在购买NAS之后,这几年甚至十几年积攒的照片想要转移备份至NAS,想想简直头痛欲裂。

可喜可贺的是,iCloudPD这款开源工具可以帮助我们轻松解决这个问题,作者也正是出于个人需求才进行的项目开发。

iCloudPD特点

iCloudPD 用于 iCloud 照片下载器的 Alpine Linux Docker 容器。用它来将家中所有iDevices的照片流同步回服务器,因为这是将多个设备备份到一个位置的唯一方法。它使用系统密钥环来安全地存储凭据,具有HEIC到JPG的转换功能,并且可以发送Telegram,Prowl,Pushover,WebHook,DingTalk,Discord,openhab,IYUU和WeCom通知。请注意,不支持 Apple 的高级数据保护 (ADP)。必须禁用 ADP 才能使此容器正常工作。

自动化下载:iCloudPD可以设置为定期自动从iCloud下载新的照片和视频,确保你本地的备份始终是最新的。

支持文件同步:该工具可以与各种文件同步服务(如Nextcloud、Syncthing)结合使用,方便地将下载的照片和视频同步到其他设备或备份位置。

灵活配置:iCloudPD提供了多种配置选项,包括选择下载文件的日期范围、文件类型等,使用户可以根据自己的需求进行个性化设置。

支持Docker部署:iCloudPD可以作为Docker容器运行,方便在各种环境中部署和管理,特别适合服务器和NAS设备。

低资源消耗:该工具设计得非常轻量,对系统资源的消耗较低,不会显著影响系统性能。

多账号支持:iCloudPD支持同时下载多个iCloud账号的照片和视频,适合家庭或团队使用。

日志和通知:iCloudPD可以生成详细的日志,并支持通过电子邮件或其他通知方式提醒用户下载进度或出现的错误。

部署流程

准备文件目录

打开文件总管,准备好文件目录用于后续挂载。

我这里的路径分别为/share/Container/iCloud/config/share/iCloud,具体如下图所示:

1-obto.png

接着需要我们在PC端创建一个 .mounted 文件,把它丢进上面的/share/iCloud目录下,.text记得要删掉,如下图:

3-uyyq.png
2-lkxe.png

或者直接使用威联通的神器Text Editor进行创建:

4 拷贝.png

开始部署

代码如下,老手可以直接拿去部署:

version: '3'

services:
  icloudpd_boredazfcuk:
    image: boredazfcuk/icloudpd
    container_name: iCloudPD
    hostname: icloudpd_boredazfcuk
    restart: always
    environment:
      - TZ=Asia/Shanghai # 你所在的地区时区
      - apple_id=xxx # 必填项目,你的苹果ID
      - download_path=/iCloud # 将文件从iCloud下载到的目录
      - icloud_china=True # 国内ID用户,将icloud.com.cn作为下载源
      - auth_china=True # 同上,使用icloud.com.cn来生成cookie
    volumes:
      - /share/Container/iCloud/config:/config # 存储身份验证cookie
      - /share/iCloud:/iCloud

默认24小时同步一次,如需设置其他同步频率,请添加变量:

- synchronisation_interval=10 # 同步间隔,单位秒,默认24小时
- skip_check=True # 若果相册内容特别多(有几千张),检能会出现问题,建议开启跳过对新文件的检查

如果咱们有更多需求(包括信息推送、多苹果ID账户使用、HEIC转JPG等),可移至项目源站查看:https://github.com/boredazfcuk/docker-icloudpd/blob/master/CONFIGURATION.md

15-sxlu.png

打开Container Station,创建新的应用程序:

5-rvef.png

最近Docker镜像问题影响范围很大,解决办法可以参考这篇:
https://blog.ydxian.xyz/archives/dockerpull

iCloud验证

部署完毕后,查看运行日志如下图所示,点击上面的执行,没有执行选项就返回主页重新进入:

21-erxa.png

接着选择/bin/sh,再次点击执行,如下图所示:

7-ifip.png

我们输入以下命令并回车:

sync-icloud.sh --Initialize # 初始化容器,将引导完成将密码添加到容器的密钥环

具体如下图所示:

8 拷贝.png

稍微等一会,便会看到要我们输入苹果ID密码,跟ssh登陆类似,密码不会显示于终端界面,输入完毕后回车即可:

9-yxjf.png

会出提示是否保存密码到keyring文件,输入y并回车。

接着我们来进行一步步操作,操作会重复两次:

打开苹果设备,会有弹窗提示登录验证,点击允许;

接着提示输入验证码并回车;

完整过程如下图所示,出现结尾的提示则证明成功:

12-taii.png

注意:本地保存的cookie有效期只有90天,90天后需要再次手动进行登陆验证。

我们重新启动容器,再次回到日志界面查看,出现同步动作便证明成功:

16 拷贝.png

正在下载同步,等差不多结束我们再去NAS文件夹查看,可以看到已经下载了一部分:

19-crkl.png

完全OK了!默认是按照年-月-日进行自动分组,如果想以相册或别的形式,可在环境变量中自行修改:

77-gppa.png

这样一来就可以减配iCloud,以后有新的照片、视频通过Qfile设置自动同步到威联通NAS就OK啦!

部分问题

有概率会遇到

ERROR:invalid value for '-d' / '--directory': path '/icloud' is not readable
或提示/iCloud不存在,通过/bin/sh进入终端,然后输入指令chmod 777 /iCloud赋权可解决问题。

ERROR:keyring file does not exist. please try again
在创建容器时auth_china=trueicloud_china=true这俩先不填写,当遇到上述报错时,暂停容器添加这两个变量后再启动。

最后

以上就是今天给大家分享的全部内容,如果你觉得不错还请多多收藏,顺便点点关注,我后续还会继续分享各类芝士好物干货,咱们下期再见!

感谢观看,本文完~

0

评论区