1 de octubre de 2026 9 min de lectura

Proton Drive CLI: controlar Proton Drive desde scripts y servidores

Desde junio de 2026, Proton ofrece una herramienta oficial de línea de comandos para Proton Drive. El artículo describe los comandos, el inicio de sesión en servidores sin escritorio, las estrategias de conflictos para scripts y las limitaciones frente a Rclone.

El 9 de junio de 2026, Proton publicó Proton Drive CLI, una herramienta oficial de línea de comandos para Windows, macOS y Linux. Se basa en el mismo SDK que las aplicaciones oficiales de Drive, cifra de extremo a extremo y está disponible como un único archivo ejecutable proton-drive. El código fuente se encuentra en el repositorio público del SDK en cli/.

La CLI está pensada para operaciones individuales y puntuales: subir archivos después de una compilación, realizar una copia de seguridad programada de una carpeta, comprobar o revocar comparticiones. No sincroniza en segundo plano ni monta un sistema de archivos. Actualmente la versión es la 0.8.0 del 13 de agosto de 2026; el número de versión indica que los comandos y las opciones aún pueden cambiar (la versión 0.8.0 renombró las estrategias de conflicto con un cambio incompatible).

La clasificación entre las demás opciones de Linux (Rclone, cliente de escritorio anunciado) se explica en el artículo de estado Proton Drive en Linux.

Resumen de comandos

Los comandos están organizados en grupos: proton-drive <gruppe> <befehl> [optionen] [argumente]. Los nombres de grupo pueden abreviarse siempre que sigan siendo inequívocos; para filesystem existe además el alias fs. Sin argumentos se inicia una shell interactiva. La ayuda completa se obtiene con proton-drive help o proton-drive <gruppe> <befehl> --help.

Resumen de opciones
Grupo / comandoFunción
auth login / auth logoutInicio de sesión mediante el navegador; el cierre de sesión elimina los datos de inicio de sesión y las cachés locales
filesystem list <pfad>Lista el contenido de una carpeta; / muestra las áreas raíz
filesystem info / sizeMetadatos de un elemento o tamaño de una carpeta, incluido el contenido de la papelera
filesystem upload / downloadSube o descarga archivos y carpetas
filesystem create-folder, rename, copy, moveCrea carpetas, cambia nombres, copia y mueve
filesystem trash / restoreMueve a la papelera o restaura
filesystem delete / empty-trashElimina definitivamente o vacía /trash
sharing status <pfad>Muestra miembros, invitaciones pendientes y ajustes de enlaces
sharing invite / removeInvita a personas por correo electrónico o revoca el acceso
sharing set-url / remove-urlCrea, modifica o elimina un enlace público
sharing leave / reportAbandona una compartición recibida o la denuncia como abuso
invitation list / accept / rejectGestiona las invitaciones recibidas
album …, photo timeline, photo upload, photo downloadProton Photos: álbumes y cronología
versionMuestra las versiones de la CLI y del SDK
--json (-j)Salida JSON legible por máquinas, para todos los comandos
--verbose (-v)Salida de registro directamente en la consola
--help (-h)Ayuda sobre el comando correspondiente

Las rutas en Proton Drive siempre son rutas POSIX, también en Windows. La raíz / contiene áreas virtuales: /my-files (archivos propios), /devices (equipos con copia de seguridad), /shared-by-me, /shared-with-me, /trash, así como las áreas de Photos /photos, /albums, /photos-shared-by-me, /photos-shared-with-me y /photos-trash.

Instalación en Linux

Proton proporciona las compilaciones en una página de descargas propia, cada una con suma de comprobación SHA-512. Para Linux hay cinco variantes:

CompilaciónUso
linux/x64Estándar para sistemas x86-64 actuales
linux/x64-baselinex86-64 sin AVX2, por ejemplo dispositivos NAS y CPU de servidor antiguas
linux/arm64Servidores ARM y ordenadores monoplaca con glibc
linux/x64-musl, linux/arm64-muslDistribuciones con musl en lugar de glibc, por ejemplo Alpine Linux e imágenes de contenedor basadas en ella

Si la compilación estándar termina al iniciarse con Illegal instruction, la CPU no dispone de la extensión AVX2; en ese caso, la compilación x64-baseline es la opción correcta. El archivo incluye el entorno de ejecución Bun integrado y no necesita más dependencias:

chmod +x proton-drive
sudo install -m 0755 proton-drive /usr/local/bin/proton-drive
proton-drive version

Sin derechos de administrador, basta con copiar el archivo a ~/.local/bin si este directorio está incluido en PATH.

Inicio de sesión, también en servidores sin escritorio

auth login no solicita ninguna contraseña en la línea de comandos. La CLI intenta abrir un navegador y también muestra la URL de inicio de sesión. Esta URL se puede abrir en otro dispositivo; el terminal espera hasta que el inicio de sesión se complete allí. La autenticación de dos factores se realiza normalmente en el navegador. Así, el inicio de sesión también funciona mediante SSH en un servidor sin interfaz gráfica.

proton-drive auth login

Tras iniciar sesión correctamente, la CLI guarda la sesión, no la contraseña. Su ubicación la determina la variable de entorno PROTON_DRIVE_CREDENTIALS_STORE:

ValorUbicación de almacenamiento
keychain (predeterminado)Almacén de claves del sistema operativo: Windows Credential Manager, macOS Keychain y, en Linux, libsecret (GNOME Keyring, KWallet)
passEntrada cifrada con GPG ch.proton.drive/drive-sdk-cli/auth-session en el gestor de contraseñas pass
unsafe_fileArchivo de texto sin cifrar auth-session.json en el directorio de datos; según Proton, solo para pruebas

En un servidor sin sesión de escritorio, normalmente falta un llavero libsecret desbloqueado. Para este caso existe, desde la versión 0.6.0, la opción pass. El usuario con el que se ejecutan los scripts necesita para ello un almacén de contraseñas inicializado y una clave GPG que el gpg-agent pueda desbloquear sin entrada interactiva. La sesión debe encontrarse mediante la misma variable en cada llamada, por lo que también debe estar configurada en trabajos de Cron y unidades de systemd:

export PROTON_DRIVE_CREDENTIALS_STORE=pass
proton-drive auth login

Frente a Rclone, esto es una mejora: la contraseña y la clave TOTP no se almacenan en el servidor, y auth logout finaliza el acceso. Sin embargo, la sesión sigue teniendo acceso completo a la cuenta. No es posible limitarla a determinadas carpetas ni al acceso de solo lectura. Por ello, para procesos automatizados sigue siendo más seguro usar una cuenta de Proton independiente.

La caché, los datos de la aplicación y los registros se encuentran en Linux en los directorios XDG (~/.cache/proton-drive-cli, ~/.local/share/proton-drive-cli, ~/.local/state/proton-drive-cli). Con PROTON_DRIVE_CACHE_DIR se pueden colocar los tres en un único directorio, por ejemplo para un contenedor con un volumen montado. De forma predeterminada, la CLI escribe los registros con el nivel DEBUG; PROTON_DRIVE_LOG_LEVEL=WARNING reduce la cantidad.

Subir y descargar en scripts

De forma interactiva, la CLI pregunta qué hacer ante cada conflicto de nombres. Esto no es posible en scripts: con --json se desactiva la consulta interactiva. Por ello, establezca siempre explícitamente la estrategia de conflicto para archivos y carpetas.

proton-drive filesystem upload --json \
  --file-conflict-strategy create-new-revision \
  --folder-conflict-strategy merge \
  --skip-thumbnails \
  /srv/export/berichte /my-files/backup
Opciones explicadas
OpciónFunción
--json (-j)Devuelve el resultado como JSON; desactiva las consultas interactivas
--file-conflict-strategy (-f)Comportamiento cuando existe un archivo con el mismo nombre: create-new-revision (nueva versión del archivo existente), rename (añade un sufijo), replace (archivo remoto a la papelera, se sube el local), skip
--folder-conflict-strategy (-d)Comportamiento si la carpeta ya existe: merge (fusiona contenidos), rename, replace, skip
--skip-thumbnails (-t)No genera miniaturas; ahorra tiempo de procesamiento con imágenes
/srv/export/berichteFuente local; se admiten varias fuentes
/my-files/backupCarpeta de destino en Proton Drive (último argumento)

create-new-revision es la elección adecuada para copias de seguridad: Proton Drive conserva las versiones anteriores de un archivo, y desde la versión 0.7.0 la CLI omite automáticamente los archivos cuyo contenido no ha cambiado. Sin embargo, la CLI no sincroniza: los archivos eliminados localmente se conservan en Proton Drive. Quien necesite un espejo con eliminaciones sigue dependiendo de rclone sync.

La descarga funciona de forma análoga. Las estrategias son diferentes porque aquí se sobrescribe el lado local:

proton-drive filesystem download --json \
  --file-conflict-strategy remove \
  --folder-conflict-strategy merge \
  /my-files/backup/berichte /srv/restore
Opciones explicadas
OpciónFunción
--file-conflict-strategy (-f)rename, remove (elimina el archivo local y descarga la versión remota) o skip
--folder-conflict-strategy (-d)merge, rename, remove o skip
/my-files/backup/berichteFuente en Proton Drive; se admiten varias fuentes
/srv/restoreCarpeta de destino local (último argumento)

La CLI omite Proton Docs y Proton Sheets al descargar; actualmente no se pueden exportar como archivos.

Una subida periódica se puede programar con un temporizador de systemd o Cron. Después, la salida JSON se puede evaluar con jq, por ejemplo para enviar un aviso al sistema de monitorización.

Gestionar comparticiones

Para bajas de personal o auditorías, la gestión de comparticiones suele ser más útil que la transferencia de archivos. sharing status muestra todos los miembros, invitaciones pendientes y la configuración de un enlace público de un elemento:

proton-drive sharing status --json /my-files/projekte/kunde-a

Una invitación con permisos de lectura:

proton-drive sharing invite \
  --user person@example.com \
  --role viewer \
  /my-files/projekte/kunde-a
Opciones explicadas
OpciónFunción
--user (-u)Dirección de correo electrónico de la persona invitada; se puede indicar varias veces
--role (-r)Rol, predeterminado viewer; otros roles según --help (p. ej., editor)
--message (-m)Mensaje en el correo de invitación; se envía en texto sin cifrar
--include-node-name (-n)Incluye el nombre del elemento en el correo de invitación; también en texto sin cifrar
/my-files/projekte/kunde-aElemento que se va a compartir

Un enlace público con contraseña y fecha de vencimiento:

proton-drive sharing set-url \
  --role viewer \
  --password 'Linkpasswort' \
  --expiration 2026-12-31 \
  /my-files/projekte/kunde-a/bericht.pdf
Opciones explicadas
OpciónFunción
--roleviewer (predeterminado) o editor
--passwordContraseña propia para el enlace
--expirationFecha de vencimiento en formato ISO (JJJJ-MM-TT)
/my-files/…/bericht.pdfElemento para el que se crea o modifica el enlace

Una contraseña pasada en la línea de comandos queda en el historial de la shell y es visible en la lista de procesos durante la ejecución. Por ello, en scripts debería proceder de una variable o de un almacén de secretos. sharing remove-url vuelve a eliminar el enlace sin afectar a los miembros directos; sharing remove --user … revoca el acceso a personas concretas.

En desarrollo: Takeout

Desde el 10 de septiembre de 2026, el repositorio del SDK contiene otro comando, takeout run. Exporta una copia sin conexión de la cuenta a una carpeta local, opcionalmente con --include my-files, devices, photos y revisions (todas las versiones anteriores de archivos). En cada carpeta escribe un archivo manifest.json que describe la exportación; no modifica nada en la cuenta. El comando aún no está incluido en la versión publicada 0.8.0. Cuando aparezca, será la vía natural para una copia de seguridad local completa del contenido de Proton Drive.

Limitaciones frente a Rclone

RequisitoProton Drive CLI 0.8.0Rclone (backend protondrive)
Compatibilidad oficialSí, por Proton, código abiertoNo, ingeniería inversa, beta
Inicio de sesiónNavegador, también en otro dispositivo; sesión en el almacén de claves o passContraseña y clave TOTP en el archivo de configuración
Subir, descargarSí, con estrategias de conflicto y versionadoSí
Espejo con eliminaciones (sync)NoSí
Montar sistema de archivos (FUSE)NoSí
Comparticiones, invitaciones, enlacesSíNo
Proton PhotosSíNo
Acceso de alcance limitadoNoNo

Para copias de seguridad, artefactos de compilación y gestión de comparticiones, la CLI es la mejor opción porque cuenta con soporte oficial y no requiere una contraseña almacenada. Para un montaje, como el que necesita por ejemplo un archivo documental de Paperless, y para espejos con eliminaciones, Rclone sigue siendo necesario por ahora. La mayor carencia sigue siendo la misma en ambos casos: Proton no ofrece acceso de máquina que pueda limitarse a carpetas concretas o al acceso de solo lectura.

Fuentes

  1. Proton: Introducing Proton Drive CLI

    el anuncio del 9 de junio de 2026 con el propósito de uso y la salida JSON.

    https://proton.me/blog/proton-drive-cli
  2. Proton Support: Using Proton Drive CLI

    guía para la descarga, el inicio de sesión y los comandos básicos.

    https://proton.me/support/drive-cli
  3. Proton Drive CLI: Downloads

    versión actual 0.8.0, todas las compilaciones para plataformas con sumas de comprobación SHA-512.

    https://proton.me/download/drive/cli/index.html
  4. ProtonDriveApps/sdk: cli/README.md

    variables de entorno, ubicaciones de almacenamiento, almacenes de credenciales y la nota sobre la compilación x64-baseline.

    https://github.com/ProtonDriveApps/sdk/blob/main/cli/README.md
  5. ProtonDriveApps/sdk: cli/CHANGELOG.md

    historial de versiones de 0.4.2 a 0.8.0, entre otros la compatibilidad con pass (0.6.0) y la omisión de archivos sin cambios (0.7.0).

    https://github.com/ProtonDriveApps/sdk/blob/main/cli/CHANGELOG.md
  6. ProtonDriveApps/sdk: cli/src/commands

    código fuente de los comandos con opciones, estrategias de conflicto y el comando Takeout aún no publicado.

    https://github.com/ProtonDriveApps/sdk/tree/main/cli/src/commands
  7. Proton for Business: Proton Drive CLI

    escenarios de uso empresarial de Proton, por ejemplo revocar comparticiones cuando empleados dejan la empresa.

    https://proton.me/business/drive/cli
  8. Rclone: Proton Drive

    el backend comunitario con funciones de montaje y sincronización como comparación.

    https://rclone.org/protondrive/

Comentarios

Los comentarios se cargan desde GitHub / Giscus.