- iCloud 계정의 사진을 명령줄에서 직접 다운로드할 수 있게 하는 오픈소스 도구
- Linux, Windows, macOS 등 주요 운영체제에서 실행 가능하며, Docker·PyPI·AUR·npm을 통한 설치 지원
- Copy·Sync·Move 세 가지 모드로 작동하며, Live Photos·RAW 이미지·EXIF 메타데이터 처리 기능 포함
- 자동 중복 제거, 지속적 변경 감시, 증분 실행 최적화 등 다양한 옵션 제공
- MIT 라이선스로 공개되어 있으며, 현재 유지보수 담당자(maintainer) 를 찾고 있음
프로젝트 개요
-
iCloud Photos Downloader는 iCloud에 저장된 사진을 로컬 시스템으로 내려받는 명령줄 기반 도구
- iCloud 사진 전체를 다운로드하거나, 변경 사항만 동기화 가능
- 자원봉사자 커뮤니티가 개발 및 유지 중이며, 신규 기여자를 모집 중
- MIT 라이선스로 배포되어 자유로운 사용과 수정 가능
- GitHub에서 10k개 이상의 별(star) 과 705개의 포크(fork) 를 보유
지원 플랫폼 및 배포 방식
- 운영체제 호환성: Linux, Windows, macOS, NAS 환경 지원
-
배포 채널:
- Docker 이미지
- PyPI 패키지
- Arch Linux AUR
- npm 패키지
- 실행 파일을 직접 다운로드하거나, 소스 코드에서 빌드 가능
주요 기능
-
세 가지 작동 모드
- Copy: 새 사진만 다운로드 (기본 모드)
-
Sync: iCloud에서 삭제된 사진을 로컬에서도 삭제 (
--auto-delete) -
Move: 다운로드 후 iCloud에서 사진 삭제 (
--keep-icloud-recent-days)
- 지원 포맷: Live Photos(이미지·비디오 분리 저장), RAW 및 RAW+JPEG
-
기능 옵션
- 동일 이름 사진의 자동 중복 제거
-
지속 감시 모드 (
--watch-with-interval) -
증분 실행 최적화 (
--until-found,--recent) -
EXIF 메타데이터 수정 (
--set-exif-datetime)
-
--help명령으로 전체 옵션 확인 가능
설치 및 실행
-
설치 방법
- GitHub 릴리스 페이지에서 실행 파일 다운로드
- 패키지 매니저(Docker, PyPI, AUR, npm)로 설치
- 소스 코드 직접 빌드
-
iCloud 설정 요구사항
- iPhone/iPad에서
Access iCloud Data on the Web활성화 -
Advanced Data Protection비활성화 필요
- iPhone/iPad에서
-
사용 예시
- 동기화 실행:
icloudpd --directory /data --username my@email.address --watch-with-interval 3600 - 인증 세션 생성:
icloudpd --username my@email.address --password my_password --auth-only
- 동기화 실행:
실험적 기능 및 개발 현황
- 일부 기능은 Experimental Mode로 먼저 추가되어 검증 후 정식 반영
- 최신 릴리스는 v1.32.2 (2025년 9월 2일)
- 주 1회(금요일) 를 목표로 새로운 버전 배포
- 최근 커밋에서는 다중 사용자 설정 지원, 비리눅스 빌드 수정, 테스트 환경 개선 등이 포함됨
기여 및 커뮤니티
- 기여 가이드라인(CONTRIBUTING.md) 를 통해 외부 개발자 참여 가능
- 42명의 기여자가 코드에 참여했으며, Dependabot 등 자동화 도구도 사용
- 현재 프로젝트 유지보수자를 공개 모집 중
- 공식 문서와 토론은 GitHub Discussions에서 진행