3 puntos por GN⁺ 2026-01-12 | 1 comentarios | Compartir por WhatsApp
  • Herramienta de código abierto que permite descargar fotos directamente desde la línea de comandos de una cuenta de iCloud
  • Puede ejecutarse en los principales sistemas operativos, como Linux, Windows y macOS, y admite instalación mediante Docker, PyPI, AUR y npm
  • Funciona en tres modos: Copy, Sync y Move, e incluye procesamiento de Live Photos, imágenes RAW y metadatos EXIF
  • Ofrece varias opciones como eliminación automática de duplicados, monitoreo continuo de cambios y optimización de ejecuciones incrementales
  • Se publica bajo licencia MIT y actualmente está buscando un maintainer

Descripción general del proyecto

  • iCloud Photos Downloader es una herramienta de línea de comandos para descargar al sistema local las fotos almacenadas en iCloud
    • Permite descargar toda la biblioteca de fotos de iCloud o sincronizar solo los cambios
    • Es desarrollada y mantenida por una comunidad de voluntarios, que actualmente busca nuevas personas colaboradoras
  • Se distribuye bajo licencia MIT, lo que permite su uso y modificación libremente
  • En GitHub cuenta con más de 10k estrellas y 705 forks

Plataformas compatibles y métodos de distribución

  • Compatibilidad de sistemas operativos: admite entornos Linux, Windows, macOS y NAS
  • Canales de distribución:
    • Imagen de Docker
    • Paquete de PyPI
    • Arch Linux AUR
    • Paquete de npm
  • También se puede descargar el ejecutable directamente o compilar desde el código fuente

Funciones principales

  • Tres modos de operación
    • Copy: descarga solo las fotos nuevas (modo predeterminado)
    • Sync: elimina también en local las fotos borradas en iCloud (--auto-delete)
    • Move: elimina las fotos de iCloud después de descargarlas (--keep-icloud-recent-days)
  • Formatos compatibles: Live Photos (guardando por separado imagen y video), RAW y RAW+JPEG
  • Opciones de funcionalidad
    • Eliminación automática de duplicados para fotos con el mismo nombre
    • Modo de monitoreo continuo (--watch-with-interval)
    • Optimización de ejecuciones incrementales (--until-found, --recent)
    • Modificación de metadatos EXIF (--set-exif-datetime)
  • Se pueden consultar todas las opciones con el comando --help

Instalación y ejecución

  • Métodos de instalación
    1. Descargar el ejecutable desde la página de releases de GitHub
    2. Instalar con un gestor de paquetes (Docker, PyPI, AUR, npm)
    3. Compilar directamente desde el código fuente
  • Requisitos de configuración de iCloud
    • Activar Access iCloud Data on the Web en iPhone/iPad
    • Es necesario desactivar Advanced Data Protection
  • Ejemplos de uso
    • Ejecutar sincronización:
      icloudpd --directory /data --username my@email.address --watch-with-interval 3600
      
    • Crear una sesión de autenticación:
      icloudpd --username my@email.address --password my_password --auth-only
      

Funciones experimentales y estado del desarrollo

  • Algunas funciones se agregan primero en Experimental Mode para validarlas antes de incorporarlas oficialmente
  • La release más reciente es v1.32.2 (2 de septiembre de 2025)
  • El objetivo es publicar nuevas versiones una vez por semana (los viernes)
  • Los commits recientes incluyen soporte para configuración multiusuario, correcciones para builds no Linux y mejoras en el entorno de pruebas

Contribuciones y comunidad

  • La participación de desarrolladores externos es posible mediante las guías de contribución (CONTRIBUTING.md)
  • 42 colaboradores han participado en el código, y también se usan herramientas de automatización como Dependabot
  • Actualmente se está buscando públicamente un maintainer para el proyecto
  • La documentación oficial y las discusiones se llevan a cabo en GitHub Discussions

1 comentarios

 
GN⁺ 2026-01-12
Comentarios de Hacker News
  • Soy el creador de Photos Backup Anywhere. Lo que me sorprendió al analizar Apple Photos es que no se puede representar el estado completo solo con los archivos del disco.
    Los álbumes, Live Photos, ráfagas, cámara lenta, historial de ediciones, cambios en la fecha de captura, etc., se gestionan por separado, y la mayoría de las herramientas de respaldo no logran reconstruirlos correctamente al restaurar.
    Por eso tomé Photos en sí como la fuente de verdad (source of truth) y elegí un enfoque que valida la restauración con base en eso.
    Esta herramienta restaura completamente los álbumes y todos los tipos de fotos, manteniendo la ubicación, la fecha de creación y la fecha de modificación.
    La página del proyecto está en photosbackup.app

    • Cuando transfiero fotos desde el iPhone, uso la app ‘Image Capture’ para copiarlas en bloques de 0 a 9999. Cuando pasan de 10 mil fotos, el nombre del archivo vuelve a 00001(1), así que es incómodo.
      Mi MacBook tiene poco espacio SSD y no quiero pasar por iCloud, así que me pregunto si hay alguna forma de exportar directamente los RAW/JPEG/Live/Video originales a una unidad externa.
    • Tuve una experiencia realmente de pesadilla extrayendo fotos de un teléfono Android viejo. Si la interfaz no aparece bien, terminas dependiendo de herramientas que raspan todo el disco.
    • Me pregunto si admite respaldo en almacenamiento compatible con S3 (por ejemplo, Backblaze B2).
    • ¿Has revisado por casualidad Parachute Backup? Ellos también afirman que pueden respaldar incluso los datos complejos de iPhotos.
  • Este proyecto está buenísimo. Quizá podría reemplazar la app de iCloud para Windows.
    Yo también tengo unos 2TB de datos en iCloud, pero mi MacBook no tiene suficiente capacidad y tengo una Photo Library aparte en una unidad externa.
    La app de iCloud para Windows siempre está descargando a 50MB/s, pero cuando abro la carpeta, la mayoría aparece como ‘solo disponible en línea’.
    Llevo bajados unos 944GB, pero parece que todavía tardará en terminar por completo.
    Me pregunto si existe algún visor de fotos alternativo en Windows que muestre bien los archivos HEIC y Live Photo.

  • Es solo para macOS, pero existe el programa de pago Parachute. Puede descargar tanto las fotos como los archivos de la biblioteca de iCloud.
    Enlace de App Store

    • En iOS, PhotoSync también está bastante bien. Puede enviar fotos a servicios remotos como un NAS o B2.
    • Parachute es estable en su versión de escritorio, pero la versión de iOS no logra completar durante la noche un respaldo incremental de una biblioteca de 1TB.
      Exporta los originales, pero no incluye archivos AAE. En cambio, a PhotoSync le falta la función de restauración.
    • Pregunté si es compatible con cuentas ADP, pero no recibí respuesta. También me pregunto si existe alguna solución de descarga decente para cuentas con ADP.
    • También quisiera saber si se puede verificar su seguridad desde el punto de vista de la privacidad, y si hay alguna alternativa para Windows.
  • Sorprendentemente, no existe un método oficial para descargar de una sola vez todas las fotos de iCloud (unas 400GB).
    En cambio, sí puedes bajar todas las fotos de iCloud con una herramienta de línea de comandos de código abierto.

    • En realidad, en Mac o iPhone sí puedes descargarlo todo si eliges ‘Descargar originales’ en la configuración de iCloud Photo Library.
    • Si eres usuario de la UE, puedes solicitar todos los datos que Apple tiene sobre ti en privacy.apple.com
    • En la app Photos de Mac puedes exportar los originales con Cmd+A > File > Export Unmodified Originals
    • Tal vez sea intención de Apple evitar que los usuarios se vayan. Hacer difícil mover las fotos parece una estrategia de lock-in.
  • Hace unos días respaldé una biblioteca compartida; eran unas 10K fotos y videos (300GB).
    Recuperar la biblioteca de iPhoto → exportarla dividida por año → moverla a un HDD externo → establecer la biblioteca del HDD externo como predeterminada y volver a sincronizar con iCloud.
    La conexión Ethernet por cable y la función Repair ayudaron muchísimo.

    • Me pregunto si hay alguna diferencia frente a mover el archivo de Photos Library a un HDD externo y luego indicar esa ruta en Photos.app.
  • Yo copio directamente los archivos de fotos desde el iPhone con la combinación usbmuxd + ifuse.
    Sin esperar subidas ni descargas, lo conecto por cable y saco los originales directamente; incluso puedo moverlos para liberar espacio.

    • Me pregunto si esto funciona en todos los iPhone. Quisiera saber si se puede montar la carpeta DCIM por USB y obtener también permisos de escritura.
  • Yo descargo periódicamente mis fotos de iCloud con un pequeño script de shell.
    Uso el contenedor icloudpd/icloudpd:latest para guardar los originales según la estructura de carpetas.

    • Pero usar la etiqueta latest tal cual es riesgoso. No es buena idea entregar credenciales de iCloud a una imagen no verificada. Lo más seguro es fijarlo a una versión o hash específico.
  • Mi familia genera unos 2TB de contenido multimedia al año. En total son como 12TB.
    La función de recuerdos de iCloud está bien, pero 60 dólares al mes pesan, así que hago lo siguiente:

    • respaldo las fotos de varias cuentas a almacenamiento local con docker-icloudpd
    • dejo solo los 2 años más recientes en iCloud y guardo lo anterior en local
    • para explorar y buscar fotos antiguas uso Immich. Es self-hosted, pero la experiencia de la app es excelente
      Es importante tener un disco local rápido (por ejemplo, OWC 4M2 + M.2 SSD). Un NAS basado en HDD es lento.
      Enlace de GitHub de docker-icloudpd
    • Me pregunto si hay funciones que usas en Photos que Immich no tenga. Yo uso Android, así que con Immich me basta y me sobra.
  • En iCloud Photos.app algunas fotos no aparecen, pero sí se ven en Photometor.app (propiedad de Apple).
    Me frustra no entender por qué no aparecen en Photos.app.

  • Es una lástima que Apple casi no permita integraciones de terceros.
    Quiero sincronizar automáticamente las fotos de un álbum específico con el marco digital de mis padres o con una Samsung Frame TV, pero ese tipo de función está bloqueada.
    Con que abrieran un poco, creo que permitirían usos innovadores.

    • Yo resolví esto con PhotoSync. Configuro reglas de sincronización por álbum y las transfiere automáticamente.