Proton Drive CLI: Hantera Proton Drive från skript och servrar
Sedan juni 2026 erbjuder Proton ett officiellt kommandoradsverktyg för Proton Drive. Artikeln beskriver kommandon, inloggning på servrar utan skrivbordsmiljö, konfliktstrategier för skript och begränsningarna jämfört med Rclone.
Den 9 juni 2026 släppte Proton Proton Drive CLI, ett officiellt kommandoradsverktyg för Windows, macOS och Linux. Det bygger på samma SDK som de officiella Drive-apparna, krypterar från ände till ände och finns tillgängligt som en enda körbar fil proton-drive. Källkoden finns i det offentliga SDK-repositoriet på cli/.
CLI:t är avsett för enskilda, tidsbestämda åtgärder: ladda upp filer efter en build, säkerhetskopiera en mapp enligt schema, kontrollera eller återkalla delningar. Det synkroniserar inte i bakgrunden och monterar inget filsystem. Den aktuella versionen är 0.8.0 från den 13 augusti 2026; versionsnumret visar att kommandon och alternativ fortfarande kan ändras (version 0.8.0 bytte namn på konfliktstrategierna genom en inkompatibel ändring).
En placering bland övriga Linux-alternativ (Rclone, aviserad skrivbordsklient) finns i statusartikeln Proton Drive under Linux.
Kommandoöversikt
Kommandona är organiserade i grupper: proton-drive <gruppe> <befehl> [optionen] [argumente]. Gruppnamn kan förkortas så länge de förblir entydiga; för filesystem finns dessutom aliaset fs. Utan argument startar ett interaktivt skal. Fullständig hjälp fås med proton-drive help respektive proton-drive <gruppe> <befehl> --help.
Sökvägarna i Proton Drive är alltid POSIX-sökvägar, även i Windows. Roten / innehåller virtuella områden: /my-files (egna filer), /devices (säkerhetskopierade datorer), /shared-by-me, /shared-with-me, /trash samt Photos-områdena /photos, /albums, /photos-shared-by-me, /photos-shared-with-me och /photos-trash.
Installation i Linux
Proton tillhandahåller byggen på en egen nedladdningssida, vart och ett med SHA-512-kontrollsumma. För Linux finns fem varianter:
| Build | Användning |
|---|---|
linux/x64 | Standard för aktuella x86-64-system |
linux/x64-baseline | x86-64 utan AVX2, t.ex. NAS-enheter och äldre serverprocessorer |
linux/arm64 | ARM-servrar och enkortsdatorer med glibc |
linux/x64-musl, linux/arm64-musl | Distributioner med musl i stället för glibc, t.ex. Alpine Linux och containeravbildningar som bygger på det |
Om standardbygget avbryts vid start med Illegal instruction saknar processorn AVX2-tillägget; då är bygget x64-baseline rätt val. Filen innehåller Bun-körtiden och behöver inga ytterligare beroenden:
chmod +x proton-drive
sudo install -m 0755 proton-drive /usr/local/bin/proton-drive
proton-drive version
Utan administratörsrättigheter räcker det att kopiera filen till ~/.local/bin, om denna katalog finns i PATH.
Inloggning, även på servrar utan skrivbordsmiljö
auth login frågar inte efter något lösenord på kommandoraden. CLI:t försöker öppna en webbläsare och visar dessutom inloggnings-URL:en. Denna URL kan öppnas på en annan enhet; terminalen väntar tills inloggningen där har slutförts. Tvåfaktorsautentiseringen sker normalt i webbläsaren. Därmed fungerar inloggningen även via SSH på en server utan grafiskt gränssnitt.
proton-drive auth login
Efter lyckad inloggning sparar CLI:t sessionen, inte lösenordet. Var den sparas bestäms av miljövariabeln PROTON_DRIVE_CREDENTIALS_STORE:
| Värde | Lagringsplats |
|---|---|
keychain (standard) | Operativsystemets nyckelring: Windows Credential Manager, macOS Keychain, i Linux libsecret (GNOME Keyring, KWallet) |
pass | GPG-krypterad post ch.proton.drive/drive-sdk-cli/auth-session i lösenordshanteraren pass |
unsafe_file | Klartextfilen auth-session.json i datakatalogen; enligt Proton endast för tester |
På en server utan skrivbordssession saknas vanligen en upplåst libsecret-nyckelring. För detta fall finns alternativet pass sedan version 0.6.0. Användaren som kör skripten behöver då en initierad lösenordsbutik och en GPG-nyckel som gpg-agent kan låsa upp utan interaktiv inmatning. Sessionen måste hittas via samma variabel vid varje anrop och alltså även vara angiven i Cron-jobb och systemd-enheter:
export PROTON_DRIVE_CREDENTIALS_STORE=pass
proton-drive auth login
Jämfört med Rclone är detta ett framsteg: lösenord och TOTP-nyckel finns inte på servern, och auth logout avslutar åtkomsten. Sessionen har dock fortfarande kontots fulla behörighet. Det går inte att begränsa den till enskilda mappar eller skrivskyddad åtkomst. För automatiserade processer är därför ett separat Proton-konto fortfarande det säkrare alternativet.
Cache, applikationsdata och loggar finns i Linux i XDG-katalogerna (~/.cache/proton-drive-cli, ~/.local/share/proton-drive-cli, ~/.local/state/proton-drive-cli). Med PROTON_DRIVE_CACHE_DIR kan alla tre placeras i en enda katalog, exempelvis för en container med en monterad volym. CLI:t skriver som standard loggar med nivån DEBUG; PROTON_DRIVE_LOG_LEVEL=WARNING minskar mängden.
Uppladdning och nedladdning i skript
Interaktivt frågar CLI:t vid varje namnkonflikt vad som ska hända. I skript är detta inte möjligt: med --json stängs den interaktiva frågan av. Ange därför alltid konfliktstrategin uttryckligen för filer och mappar.
proton-drive filesystem upload --json \
--file-conflict-strategy create-new-revision \
--folder-conflict-strategy merge \
--skip-thumbnails \
/srv/export/berichte /my-files/backup
create-new-revision är rätt val för säkerhetskopior: Proton Drive behåller tidigare versioner av en fil, och filer med oförändrat innehåll hoppas automatiskt över av CLI:t sedan version 0.7.0. CLI:t jämför dock inte: lokalt raderade filer blir kvar i Proton Drive. Den som behöver en spegel med raderingar är fortfarande beroende av rclone sync.
Nedladdningen fungerar spegelvänt. Strategierna skiljer sig eftersom den lokala sidan skrivs över här:
proton-drive filesystem download --json \
--file-conflict-strategy remove \
--folder-conflict-strategy merge \
/my-files/backup/berichte /srv/restore
CLI:t hoppar över Proton Docs och Proton Sheets vid nedladdning; de kan för närvarande inte exporteras som filer.
En regelbunden uppladdning kan planeras med en systemd-timer eller Cron. JSON-utdata kan sedan utvärderas med jq, exempelvis för en avisering till övervakningen.
Hantera delningar
Vid offboarding eller revisioner är hanteringen av delningar ofta mer användbar än filöverföringen. sharing status visar alla medlemmar, öppna inbjudningar och inställningarna för en offentlig länk för ett objekt:
proton-drive sharing status --json /my-files/projekte/kunde-a
En inbjudan med läsbehörighet:
proton-drive sharing invite \
--user person@example.com \
--role viewer \
/my-files/projekte/kunde-a
En offentlig länk med lösenord och utgångsdatum:
proton-drive sharing set-url \
--role viewer \
--password 'Linkpasswort' \
--expiration 2026-12-31 \
/my-files/projekte/kunde-a/bericht.pdf
Ett lösenord som anges på kommandoraden hamnar i skalhistoriken och syns i processlistan medan det körs. I skript bör det därför komma från en variabel eller en hemlighetslagring. sharing remove-url tar bort länken utan att påverka direkta medlemmar; sharing remove --user … återkallar åtkomsten för enskilda personer.
Under arbete: Takeout
I SDK-repositoriet finns sedan den 10 september 2026 ytterligare ett kommando, takeout run. Det exporterar en offlinekopia av kontot till en lokal mapp, valfritt med --include my-files, devices, photos och revisions (alla tidigare filversioner). Till varje mapp skriver det en manifest.json, som beskriver exporten; kontot ändras inte. Kommandot finns ännu inte i den släppta versionen 0.8.0. När det kommer är det den självklara vägen för en fullständig lokal säkerhetskopia av Proton Drive-innehållet.
Begränsningar jämfört med Rclone
| Krav | Proton Drive CLI 0.8.0 | Rclone (protondrive-backend) |
|---|---|---|
| Officiellt stödd | Ja, av Proton, öppen källkod | Nej, reverse engineering, beta |
| Inloggning | Webbläsare, även på annan enhet; session i nyckelring eller pass | Lösenord och TOTP-nyckel i konfigurationsfilen |
| Uppladdning, nedladdning | Ja, med konfliktstrategier och versionshantering | Ja |
Spegel med raderingar (sync) | Nej | Ja |
| Montera filsystem (FUSE) | Nej | Ja |
| Delningar, inbjudningar, länkar | Ja | Nej |
| Proton Photos | Ja | Nej |
| Åtkomst med begränsad omfattning | Nej | Nej |
För säkerhetskopior, buildartefakter och hantering av delningar är CLI:t det bättre valet eftersom det stöds officiellt och fungerar utan sparat lösenord. För en montering, som exempelvis ett Paperless-dokumentarkiv behöver, och för speglingar med raderingar är Rclone tills vidare nödvändigt. Det största gapet är detsamma i båda fallen: Proton erbjuder ingen maskinåtkomst som kan begränsas till enskilda mappar eller läsbehörighet.
Kommentarer
Kommentarerna hämtas från GitHub / Giscus.