icloud-photos-downloader /icloud_photos_downloader
A command-line tool to download photos from iCloud
★ 12,370⑂ 861👁 110⑃ 566● 633▤ 81
12,370
stars
+0+3+73
861
forks
110
watchers
566
prs
633
issues
81
releases
–
discussions
README
!!!! Looking for MAINTAINER for this project !!!! iCloud Photos Downloader - A command-line tool to download all your iCloud photos. - Works on Linux, Windows, and macOS; laptop, desktop, and NAS - Available as an executable for direct downloading and through package managers/ecosystems (Docker, PyPI, AUR, npm) - Developed and maintained by volunteers (we are always looking for help). See Documentation for more details. Also, check Issues iCloud Prerequisites To make iCloud Photo Downloader work, ensure the iCloud account is configured with the following settings, otherwise Apple Servers will return an ACCESS_DENIED error: - Enable Access iCloud Data on the Web: On your iPhone / iPad, enable Settings Apple ID iCloud Access iCloud Data on the Web - Advanced Data Protection (ADP): either disable Settings Apple ID iCloud Advanced Data Protection on your iPhone / iPad, or keep it enabled and run with --adp-web-access (see Authentication) Install and Run There are three ways to run icloudpd: 1. Download executable for your platform from the GitHub Release and run it 1. Use package manager to install, update, and, in some cases, run (Docker, PyPI, AUR, npm) 1. Build and run from the source See Documentation for more details Features - Three modes of operation: - Copy - download new photos from iCloud (default mode) - Sync - download new photos from iCloud and delete local files that were removed in iCloud (--auto-delete option) - Move - download new photos from iCloud and delete photos in iCloud (--keep-icloud-recent-days option) - Support for Live Photos (image and video as separate files) and RAW images (including RAW+JPEG) - Automatic de-duplication of photos with the same name - One time download and an option to monitor for iCloud changes continuously (--watch-with-interval option) - Optimizations for incremental runs (--until-found and --recent options) - Photo metadata (EXIF) updates (--set-exif-datetime option) - ... and many more (use --help option to get full list) Experimental Mode Some changes are added to the experimental mode before they graduate into the main package. Details Usage To keep your iCloud photo collection synchronized to your local system: icloudpd --directory /data --username [email protected] --watch-with-interval 3600 [!IMPORTANT] It is icloudpd, not icloud executable [!TIP] Synchronization logic can be adjusted with command-line parameters. Run icloudpd --help to get full list. To move tracked local copies out of the active mirror when photos leave a shared library (including moves back to a participant's personal library), use a dedicated download directory: bash icloudpd --directory /data/shared --username [email protected] \ --library 'SharedSync-YOUR-LIBRARY-ID' --prune-orphans By default, tracking starts with newly written files and the first successful run only establishes a baseline. To also clean old orphans in an existing dedicated flat, original-size mirror