本內容來源於@什麼值得買APP,觀點僅代表作者本人 |作者:我是王小浪前情提要:由於網上看到的所有教程,幾乎沒一個靠譜的,全部都是小白自行搗騰出來的步驟,評論裡問題很多,看得讓人心疼,所以趁娃子睡瞭,趕忙整理一篇保姆式的避坑教程。本教程優勢如下:1.全程在群暉桌面上窗口式操作,不需要開啟SSH權限,不需要下載SSH客戶端,不需要使用群暉SSH最高權限,也不需要懂Linux命令,避免一切不必要的風險;2.不浪費一絲一毫的NAS硬件資源,不需要Docker運行Linux操作系統容器,也不需要裝什麼Docker網頁管理面板,Docker原生運行,性能直接拉滿;3.關鍵步驟反復叮囑加圖解,避免踩坑,貼心呵護直至順利配置完成。先說正題,操作流程如下:一、管理員登錄群暉桌面,這是句廢話,但還是要說,舉例,我的管理員賬號為【xlang】。二、打開群暉【File Station】,新建所需文件夾及文件:docker/icloudpd/xlanghomes/xlang/Photos/iCloudhomes/xlang/Photos/iCloud/.mounted三、打開群暉【套件中心】安裝【Docker】套件。四、打開安裝好的【Docker】套件,點擊左側菜單【註冊表】,搜索關鍵詞“icloudpd”,雙擊下載星標最多的那個【boredazfcuk/icloudpd】。五、左側菜單切換到【映像】,稍等片刻,待下載完成後,雙擊開始創建容器。六、容器名稱,看你喜好,例如我就隨手輸瞭個“icloudpd-xlang”,然後點擊左下方的【高級設置】。七、勾選“啟用自動重新啟動”,這個不是必須的,如果你想長期丟那讓NAS自動運行,那就勾上,不勾也是可以的。八、切換到【存儲空間】設置欄,添加以下兩個文件夾的狀態路徑:docker/icloudpd/xlang –> /confighomes/xlang/Photos/iCloud –> /iCloud1.選擇文件夾docker/icloudpd/xlang,裝載路徑/config2.選擇文件夾homes/xlang/Photos/iCloud,裝載路徑/iCloud如下圖所示:九、切換到【環境】設置欄,新增以下三個變量:apple_id:[email protected]:CST-8download_path:/iCloud1. apple_id:[email protected]必須,輸入你的iCloud服務的AppleID。2. TZ:CST-8非必須,中國時區按這個填寫,網上清一色的要求填寫Asia/Shanghai是無效的,還不如不新增這個變量。3. download_path:/iCloud必須,否則默認為/home/${user}/iCloud。如下圖所示:十、點擊右下角“應用”,返回到創建容器主界面,點擊“下一步”,最後點擊“完成”啟動創建好的容器。十一、回到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 –InitialiseINFO – Example: docker exec -it icloudpd sync-icloud.sh –InitialiseINFO Restarting in 5 minutes…如下圖所示:十二、好瞭,到瞭要屏住呼吸的時刻瞭:1.切換到【終端機】一欄,點擊【新增】右側的下拉小箭頭;2.選擇【通過命令啟動】;3.在彈出的對話框輸入“/bin/sh”後點擊【確定】;4.左側菜單選擇打開剛剛新建的【sh】終端;5.輸入以下命令後回車,進行初始化:sync-icloud.sh –Initialise十三、開始進行蘋果賬號的雙重認證瞭,創建cookie文件,有效期默認為90天,到期後需再進行一次認證:1.如下圖所示,按提示輸入你的AppleID密碼,盲輸,這裡不會顯示你輸入的內容,輸入完成後回車;Enter iCloud password for [email protected]:2.如密碼正確,會提示詢問你是否保存,輸入“y”後回車,不然就全劇終瞭;Save password in keyring? [y/N]: y3.這時候你登錄瞭AppleID的設備上會提示是否允許登錄的彈窗,先不要理會,在提示詢問後輸入數字“0”後回車;Which device would you like to use? [0]: 04.在收到提示的設備上,點擊【允許】登錄,獲取彈窗驗證碼,將該驗證碼按下面提示輸入後回車;Please enter validation code: 1234565.校驗通過後,Apple會通過短信,註意是短信發送二次驗證碼,這時候你設備上再有彈窗點擊【允許】即可,彈窗驗證碼無需理會,短信驗證碼收到後,如下圖所示,按提示輸入數字0後回車,按提示輸入6位數字的短信驗證碼,回車後完成二次驗證文件的創建。Please choose an option: [0]: 0Please enter two-factor authentication code: 123456十四、所有配置到此結束,重啟容器,查看日志,看到以下內容,說明運行成功,在iCloud中生成文件列表,等著自動下載iCloud照片即可,默認為24小時增量下載一次,默認下載原始尺寸文件。用上述方法,下載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:432002.設置多個容器同步的分鐘數,默認為0,如果需要自動同步過多AppleID的iCloud內容,可以進行設置,新增變量synchronisation_delay,例如30分鐘,避免多賬戶同時訪問遭到蘋果的風控限制。synchronisation_delay:303.設置iCloud賬戶身份驗證類型,默認為2FA,如果啟用瞭雙重認證,則有效值為2FA,否則為Web,如iCloud賬戶未啟用雙重認證,則必須新增變量authentication_type,設置為Web,如下所示:authentication_type:Web4.設置下載目標目錄的文件夾結構,變量folder_structure,默認為 {:%Y/%m/%d}(年/月/日),可按需進行調整,例如:年/月folder_structure:{:%Y/%m}5.設置是否跳過已下載檢查(增量同步),默認為False(不跳過),也就是默認為每次啟動隻同步新增內容,如果要重新完全同步,可設置變量skip_check的值為Trueskip_check:True6.設置掃描“最近刪除”文件夾,並刪除其中找到的所有文件,意思是,你手機上刪除的照片,是否同步刪除,默認為不掃描,也就是不同步刪除,如果你想同步刪除或恢復,可設置變量auto_delete的值為Trueauto_delete:True7.設置要下載的照片大小,默認為original(原始尺寸),如需調整,可設置變量photo_size的值為original(原始尺寸)、medium(中等質量)、thumb(縮略圖),如下所示(二選一):photo_size:mediumphoto_size:thumb8.設置是否下載時將HEIC文件轉換為JPEG格式,同時保留原始文件,如設置此變量convert_heic_to_jpeg,不論為何值,則轉換。9.設置HEIC文件到JPEG轉換的質量,可設置變量jpeg_quality,數值為0(最低質量)到100(最高質量),默認為90,如想得到最高質量的轉換,可如下設置:jpeg_quality:10010.設置是否強制使用雲上貴州為下載源,如你的iCloud由雲上貴州運營,而你的NAS又在國外,可以設置變量icloud_china,不論何值,將強制以icloud.com.cn作為下載源,NAS在國內不用,自動會解析到雲上貴州的IP。以上就是一般用得到的變量設置,如需瞭解其它不常用的功能設置,可以訪問【boredazfcuk/icloudpd】作者在Docker Hub頁面,地址:https://registry.hub.docker.com/r/boredazfcuk/icloudpd/好瞭,教程到此結束,那麼多照片那麼好看、值得紀念,是應該好好保存,祝大傢配置順利,使用愉快!熟練的話,2分鐘應該是可以配置好的。我是王小浪,一個很懶的人,所以很少會耐心出教程,本來準備錄個視頻的,但是因為懶,不準備出瞭,我要去帶娃子瞭,以後再檢查是否有錯別字。作者聲明本文無利益相關,歡迎值友理性交流,和諧討論~
本文出自快速备案,转载时请注明出处及相应链接。