kei
Herramienta en Rust para copias de seguridad paralelas rápidas de fotos y videos alojados en la nube (principalmente iCloud), con soporte Docker, systemd y Windows. Permite descargas puntuales, sincronización continua o ejecución no supervisada.
Ficha actualizada 21 sept 2026, 18:29 · upstream 21 sept 2026, 18:29 · release v0.24.0
Qué es kei
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
kei es una herramienta de automatización escrita en Rust diseñada para realizar copias de seguridad locales rápidas y paralelas de medios almacenados en la nube, con soporte nativo para iCloud Photos. El proyecto permite exportaciones puntuales ('one-shot'), creación de espejos locales o ejecución no supervisada mediante Docker, systemd o servicios de Windows. Su arquitectura está optimizada para manejar bibliotecas masivas sin depender del ecosistema Apple Photos, lo que ofrece mayor flexibilidad en la gestión local de archivos.
La herramienta gestiona automáticamente aspectos complejos como bibliotecas compartidas, álbumes, Live Photos, archivos RAW y versiones editadas, además de implementar reintentos ante interrupciones y evitar descargas duplicadas de archivos existentes. Incluye verificación de checksums antes de marcar archivos como completos y captura automática de metadatos en el catálogo, con soporte opcional para XMP y metadatos incrustados.
El proyecto ofrece múltiples modos de operación: ejecución manual mediante CLI, modo watch para sincronización continua, y despliegue automatizado en contenedores Docker o como servicio del sistema. La configuración se realiza mediante archivos TOML simples que definen credenciales, directorios de destino, filtros de álbumes e intervalos de sincronización. Incluye comandos de mantenimiento como verificación de integridad, exportación de manifiestos y reconciliación de estados.
- Copia de seguridad diaria automática de iCloud Photos en un NAS o servidor local mediante Docker Compose con modo watch
- Exportación puntual de una biblioteca existente sin interrumpir el servicio actual, verificando checksums para integridad
- Migración desde icloudpd a kei manteniendo la estructura de carpetas y metadatos existentes
- Sincronización selectiva de álbumes específicos (ej: 'Family', 'Trips') sin descargar todo el contenido
- Implementación como servicio del sistema en Linux con systemd para backups no supervisados 24/7
- Escalabilidad demostrada con descargas paralelas optimizadas para bibliotecas de fotos masivas
- Soporte nativo para archivos RAW, Live Photos y versiones editadas sin dependencias externas
- Implementación en Rust con compilación estática, reduciendo dependencias y mejorando rendimiento
- Verificación de integridad mediante checksums antes de marcar archivos como completos
- Configuración simplificada mediante archivos TOML con ejemplos documentados y validación automática
- Requiere acceso web a iCloud Photos; Advanced Data Protection debe estar desactivado para funcionar correctamente
- Versión pre-release con cambios breaking en versiones menores según CHANGELOG.md
- Dependencia de autenticación 2FA que requiere aprobación manual en un dispositivo Apple confiable la primera vez
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Recomendado ejecutar con Docker para aislamiento o como servicio del sistema (systemd/launchd). Configurar directorio de destino con permisos adecuados y verificar disponibilidad de espacio en disco. Para producción, usar credenciales almacenadas en keyring del SO o variables de entorno seguras. Consultar wiki oficial para configuración avanzada de Docker Compose y gestión de servicios.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.