- 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 비활성화 필요
-
사용 예시
- 동기화 실행:
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에서 진행