天天看點

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

本内容來源于@什麼值得買APP,觀點僅代表作者本人 |作者:我是王小浪

前情提要:

由于網上看到的所有教程,幾乎沒一個靠譜的,全部都是小白自行搗騰出來的步驟,評論裡問題很多,看得讓人心疼,是以趁娃子睡了,趕忙整理一篇保姆式的避坑教程。

本教程優勢如下:

1.全程在群晖桌面上視窗式操作,不需要開啟SSH權限,不需要下載下傳SSH用戶端,不需要使用群晖SSH最高權限,也不需要懂Linux指令,避免一切不必要的風險;

2.不浪費一絲一毫的NAS硬體資源,不需要Docker運作Linux作業系統容器,也不需要裝什麼Docker網頁管理面闆,Docker原生運作,性能直接拉滿;

3.關鍵步驟反複叮囑加圖解,避免踩坑,貼心呵護直至順利配置完成。

先說正題,操作流程如下:

一、管理者登入群晖桌面,這是句廢話,但還是要說,舉例,我的管理者賬号為【xlang】。

二、打開群晖【File Station】,建立所需檔案夾及檔案:

docker/icloudpd/xlang

homes/xlang/Photos/iCloud

homes/xlang/Photos/iCloud/.mounted

三、打開群晖【套件中心】安裝【Docker】套件。

四、打開安裝好的【Docker】套件,點選左側菜單【系統資料庫】,搜尋關鍵詞“icloudpd”,輕按兩下下載下傳星标最多的那個【boredazfcuk/icloudpd】。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

五、左側菜單切換到【映像】,稍等片刻,待下載下傳完成後,輕按兩下開始建立容器。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

六、容器名稱,看你喜好,例如我就随手輸了個“icloudpd-xlang”,然後點選左下方的【進階設定】。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

七、勾選“啟用自動重新啟動”,這個不是必須的,如果你想長期丢那讓NAS自動運作,那就勾上,不勾也是可以的。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

八、切換到【存儲空間】設定欄,添加以下兩個檔案夾的狀态路徑:

docker/icloudpd/xlang --> /config

homes/xlang/Photos/iCloud --> /iCloud

1.選擇檔案夾docker/icloudpd/xlang,裝載路徑/config

2.選擇檔案夾homes/xlang/Photos/iCloud,裝載路徑/iCloud

如下圖所示:

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

九、切換到【環境】設定欄,新增以下三個變量:

apple_id:[email protected]

TZ:CST-8

download_path:/iCloud

1. apple_id:[email protected]

必須,輸入你的iCloud服務的AppleID。

2. TZ:CST-8

非必須,中國時區按這個填寫,網上清一色的要求填寫Asia/Shanghai是無效的,還不如不新增這個變量。

3. download_path:/iCloud

必須,否則預設為/home/${user}/iCloud。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

十、點選右下角“應用”,傳回到建立容器主界面,點選“下一步”,最後點選“完成”啟動建立好的容器。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

十一、回到Docker界面,輕按兩下剛剛建立好的“icloudpd-xlang”容器,檢視日志,可以看到容器的運作情況,右下角轉圈圈的圖示多重新整理幾次,會看到下面的錯誤提示,就可以進入最激動人心的密鑰檔案建立的過程。

ERROR Keyring file /config/python_keyring/keyring_pass.cfg does not exist.

INFO - Please add the your password to the system keyring using the --Initialise script command line option.

INFO - Syntax: docker exec -it <container name> sync-icloud.sh --Initialise

INFO - Example: docker exec -it icloudpd sync-icloud.sh --InitialiseINFO Restarting in 5 minutes...

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

十二、好了,到了要屏住呼吸的時刻了:1.切換到【終端機】一欄,點選【新增】右側的下拉小箭頭;

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

2.選擇【通過指令啟動】;

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

3.在彈出的對話框輸入“/bin/sh”後點選【确定】;

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

4.左側菜單選擇打開剛剛建立的【sh】終端;

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

5.輸入以下指令後回車,進行初始化:

sync-icloud.sh --Initialise
五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

十三、開始進行蘋果賬号的雙重認證了,建立cookie檔案,有效期預設為90天,到期後需再進行一次認證:

1.如下圖所示,按提示輸入你的AppleID密碼,盲輸,這裡不會顯示你輸入的内容,輸入完成後回車;

Enter iCloud password for [email protected]:
五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

2.如密碼正确,會提示詢問你是否儲存,輸入“y”後回車,不然就全劇終了;

Save password in keyring? [y/N]: y
五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

3.這時候你登入了AppleID的裝置上會提示是否允許登入的彈窗,先不要理會,在提示詢問後輸入數字“0”後回車;

Which device would you like to use? [0]: 0
五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

4.在收到提示的裝置上,點選【允許】登入,擷取彈窗驗證碼,将該驗證碼按下面提示輸入後回車;

Please enter validation code: 123456
五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

5.校驗通過後,Apple會通過短信,注意是短信發送二次驗證碼,這時候你裝置上再有彈窗點選【允許】即可,彈窗驗證碼無需理會,短信驗證碼收到後,如下圖所示,按提示輸入數字0後回車,按提示輸入6位數字的短信驗證碼,回車後完成二次驗證檔案的建立。

Please choose an option: [0]: 0

Please enter two-factor authentication code: 123456

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

十四、所有配置到此結束,重新開機容器,檢視日志,看到以下内容,說明運作成功,在iCloud中生成檔案清單,等着自動下載下傳iCloud照片即可,預設為24小時增量下載下傳一次,預設下載下傳原始尺寸檔案。

五分鐘搞定,群晖NAS自動同步iCloud照片(自動轉換為JPG格式)

用上述方法,

下載下傳iCloud上12740個原尺寸照片及視訊,

用時9小時45分鐘完成,

而采用iPhone下載下傳,

從2月6日18點52分13秒開始,

到現在(2月9日18點56分)剛好72個小時,

還剩5660個檔案等待下載下傳中,

期間無數次因為手機記憶體被占滿,

導緻微信無法使用(提示微信正常使用需5.4G空間),

隻能删除已下載下傳已備份的内容,

來騰出一點運作空間。

一些擴充小知識:

1.網上最開始的開源軟體是icloud_photos_downloader,也就是【系統資料庫】裡搜到的排第二的那個【icloudpd/icloudpd】,由于作者棄更,已經一年多沒有更新了,雖然如此,但仍要感謝鼻祖大佬作出的貢獻。

2.目前用的【boredazfcuk/icloudpd】是現作者在原【icloudpd】的基礎上拓展而來,功能相當全面,配置也很簡單,簡直上天,可能由于作者對Docker的了解不夠深入,是以給出的操作方法依然是Linux指令行的方式來配置,這一點可能導緻了很多人第一步就去用Docker去安裝一個Linux的作業系統,然後再安裝Portainer來管理Docker,白白浪費大量的性能資源,這裡還是要提醒大家避坑。

例如以下教程:

【知乎】如何備份iCloud照片到NAS?

作者一開始就用Docker安裝了Ubuntu 20.04環境,然後再用大量的指令行部署Docker環境,接着再安裝Docker管理面闆Portainer以友善日後管理Docker,循環套娃,浪費掉大量性能。

【知乎】通過icloudpd間接實作iOS背景自動備份照片至群晖

作者進行了基礎研究,避免了部分資源的浪費,但是用開啟群晖SSH,安裝SSH用戶端,用群晖系統root權限來進行配置,裡面也有大量的沒必要的操作。

【知乎】群晖用docker的icloudpd同步icloud照片至Synology Photos并自動重新整理

作者在上一篇教程上進行了修改,可能是排版原因,看的更加不知所雲。

【小白記錄】群輝 docker iCloud照片原尺寸備份

作者采用的是最開始的icloudpd,也是一開始就安裝了Ubuntu,最後應該是成功了,但是配置繁瑣,容易出錯,每次備份100個照片。

3.所有的教程中,時區的設定都是Asia/Shanghai,這是個無效設定,最終結果就是容器運作時間為UTC時間,比中原標準時間晚8個小時,正确的設定應該是【CST-8】,不介意的話,影響不大,建立容器時可以不新增【TZ】這個變量。

icloudpd的一些擴充功能:

小提示:以下變量均可以在容器停止運作時進行增改,來調整相應的設定。

1.設定同步時間周期,預設為86400秒(24小時),自動運作同步iCloud上新增的 内容,如需修改,可在建立容器時,新增一下變量synchronisation_interval,并設定相應的值,例如43200(12小時)、129600(36小時)等,理論上設定為1秒也是可以的,但是蘋果傾向于限制過于頻繁的通路其伺服器連結,預設設定個人認為是最佳值,iPhone會立即将檔案上傳到iCloud,如果手機丢失,當天拍攝的内容在iCloud也是安全的,容器會在晚上運作時下載下傳這些内容。

synchronisation_interval:43200

2.設定多個容器同步的分鐘數,預設為0,如果需要自動同步過多AppleID的iCloud内容,可以進行設定,新增變量synchronisation_delay,例如30分鐘,避免多賬戶同時通路遭到蘋果的風控限制。

synchronisation_delay:30

3.設定iCloud賬戶身份驗證類型,預設為2FA,如果啟用了雙重認證,則有效值為2FA,否則為Web,如iCloud賬戶未啟用雙重認證,則必須新增變量authentication_type,設定為Web,如下所示:

authentication_type:Web

4.設定下載下傳目标目錄的檔案夾結構,變量folder_structure,預設為 {:%Y/%m/%d}(年/月/日),可按需進行調整,例如:年/月

folder_structure:{:%Y/%m}

5.設定是否跳過已下載下傳檢查(增量同步),預設為False(不跳過),也就是預設為每次啟動隻同步新增内容,如果要重新完全同步,可設定變量skip_check的值為True

skip_check:True

6.設定掃描“最近删除”檔案夾,并删除其中找到的所有檔案,意思是,你手機上删除的照片,是否同步删除,預設為不掃描,也就是不同步删除,如果你想同步删除或恢複,可設定變量auto_delete的值為True

auto_delete:True

7.設定要下載下傳的照片大小,預設為original(原始尺寸),如需調整,可設定變量photo_size的值為original(原始尺寸)、medium(中等品質)、thumb(縮略圖),如下所示(二選一):

photo_size:medium

photo_size:thumb

8.設定是否下載下傳時将HEIC檔案轉換為JPEG格式,同時保留原始檔案,如設定此變量convert_heic_to_jpeg,不論為何值,則轉換。

9.設定HEIC檔案到JPEG轉換的品質,可設定變量jpeg_quality,數值為0(最低品質)到100(最高品質),預設為90,如想得到最高品質的轉換,可如下設定:

jpeg_quality:100

10.設定是否強制使用雲上貴州為下載下傳源,如你的iCloud由雲上貴州營運,而你的NAS又在國外,可以設定變量icloud_china,不論何值,将強制以icloud.com.cn作為下載下傳源,NAS在國内不用,自動會解析到雲上貴州的IP。

以上就是一般用得到的變量設定,如需了解其它不常用的功能設定,可以通路【boredazfcuk/icloudpd】作者在Docker Hub頁面,位址:https://registry.hub.docker.com/r/boredazfcuk/icloudpd/

好了,教程到此結束,那麼多照片那麼好看、值得紀念,是應該好好儲存,祝大家配置順利,使用愉快!熟練的話,2分鐘應該是可以配置好的。

我是王小浪,一個很懶的人,是以很少會耐心出教程,本來準備錄個視訊的,但是因為懶,不準備出了,我要去帶娃子了,以後再檢查是否有錯别字。

作者聲明本文無利益相關,歡迎值友理性交流,和諧讨論~

繼續閱讀