iCloud Photos Downloader

4 weeks ago 11

  • 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 명령으로 전체 옵션 확인 가능

설치 및 실행

  • 설치 방법
    1. GitHub 릴리스 페이지에서 실행 파일 다운로드
    2. 패키지 매니저(Docker, PyPI, AUR, npm)로 설치
    3. 소스 코드 직접 빌드
  • 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에서 진행

Read Entire Article