nvrl 5e0f30cc2c feat(fuse,core): record namespace changes locally and send them from the queue
A new folder, a new file, a rename or a delete through the mount no longer
waits for Drive: it is recorded locally, the call returns at once, and the
drain sends it as it does offline. `"local_first": false` in config.json
brings back the old path for this release.

Fixes found by the simulation runs on the way:
- B129: a file deleted while its first upload is on the wire is trashed once
  the upload lands.
- B132, B140: files made in a new folder survive a restart; a landed folder
  hands its queued children over in the stored node too.
- B138: a create waits for the rename or trash that frees its name.
- B139: a file closed while its first upload lands keeps its last write.
- B141: a rename a worker holds stays queued, and the newer one waits behind
  it instead of racing it.
- B142: a rename of a file whose create lands meanwhile goes to the uid Drive
  gave it instead of answering EBUSY.
- B143: a create whose read-back fails as the link drops is adopted before
  the next op for it is sent, so its next write is not a conflict copy.
2026-10-04 01:50:38 +02:00
2026-09-28 23:35:53 +02:00
2026-10-03 21:57:23 +02:00
2026-07-19 20:49:02 +02:00
2026-10-03 21:57:23 +02:00
2026-10-03 21:57:23 +02:00
2026-06-30 03:27:13 +02:00

Proton Drive for Linux

Proton Drive on the Linux desktop. Your files as a folder that downloads on demand, synced local folders, Photos, sharing, and a native GTK4 app with tray and search launcher, plus a scriptable CLI.

proton-drive.narl.io

CI Release AUR License: MIT Rust 1.96+

My files in the Proton Drive app

Important

This is an unofficial, community-built client. It is not affiliated with, endorsed by, or supported by Proton AG. "Proton" and "Proton Drive" are trademarks of Proton AG, used here only to describe what the software talks to. Try it with data you have another copy of first, and read what survives a lost machine before you rely on it.

Features

Files

  • Your Drive as a folder. ~/ProtonDrive works with every program. Files download when they are opened, a block at a time, so a video starts playing and a large archive can be read without fetching all of it.
  • Available offline. Keep chosen files and folders fully downloaded; everything else is cached within a size limit you set.
  • Synced folders. Back up folders such as ~/Documents under your computer in Proton Drive, as a full two-way copy or online only. Gitignore-style .pdfsignore rules, conflict copies instead of overwrites, pause and bandwidth limits.
  • Safe writes. Changes are staged on disk and queued before they are acknowledged, so they survive a lost connection, a crash or a reboot and upload when they can.

Desktop app

  • Browse My files, Shared with me, Shared by me, Computers and Trash, with thumbnails (including camera RAW), drag and drop, details and version history.
  • Photos. Timeline with favorites, albums, and Places on a map; RAW+JPEG pairs shown as one photo; duplicate finder; slideshow; import from Google Photos (Takeout).
  • Sharing. Invite people as viewer, editor or admin, create public links with password and expiry, accept invitations.
  • Sync overview. What is uploading, what is waiting, what failed and why, and a history of what happened.
  • Tray icon with status, pause and quick actions, and a search launcher (pdfs-prompt) that searches Proton Drive and your home folder together, as its own window, through fuzzel, rofi or wofi, or live in fzf.
  • Restore a computer. Continue a backup on a new machine and bring its folders back in one step.
  • Sign-in with two-factor authentication and CAPTCHA; the session is kept in the system keyring.
  • Available in English, German, Spanish, French, Italian, Dutch, Polish and Brazilian Portuguese.

Command line

  • About 55 pdfs commands cover files, sync, sharing, Photos, Trash, versions and diagnostics. Query commands print JSON with --json.

Install

Distribution Package
Debian, Ubuntu 24.04 or newer .deb from the latest release
Fedora 44 or newer .rpm from the latest release
Arch Linux proton-drive-for-linux (also -bin and -git) in the AUR
Anything else Build from source
sudo apt install ./proton-drive-linux_*.deb        # Debian, Ubuntu
sudo dnf install ./proton-drive-linux-*.rpm        # Fedora
paru -S proton-drive-for-linux                     # Arch

Then open Proton Drive from your applications menu and sign in. The app starts the background service, and your files appear in ~/ProtonDrive.

Signing in from a terminal instead? pdfs login stores the session but does not start the service. Enable it once:

pdfs login
systemctl --user enable --now proton-drive.service
pdfs status

docs/INSTALL.md has the requirements, optional extras (tray on GNOME, RAW and video thumbnails), headless use and uninstalling.

Documentation

User guide Everything the app, tray and launcher do
Command-line reference Every pdfs command and scripting with --json
Configuration config.json, file locations, environment variables, the service
Troubleshooting Diagnosing problems and fixing common ones
Recovering on a new computer Getting your synced folders back after a reinstall or a lost machine
Changelog What changed in each release

For contributors: development guide, architecture, testing, translating, roadmap and the bug ledger. The documentation index lists everything.

Screenshots

My files
My files
Photos timeline
Photos
Photos places map
Places
Computers
Computers
Sync folders
Sync
Sync history showing resolved conflicts
Sync history
Search launcher
Search launcher
Search launcher in fzf
Search launcher in fzf
Sign in
Sign in

How it works

A background service (proton-drive.service, the pdfs daemon command) holds your session, mounts ~/ProtonDrive through FUSE, runs the upload queue and the sync engine, and follows Proton's event stream for changes made elsewhere. The app, the tray, the launcher and the CLI are clients of that service over a local socket. Everything is end-to-end encrypted with your Proton keys before it leaves the machine, through a Rust implementation of Proton's Drive SDK.

Files you open are decrypted into a local cache so programs can read them. What that means for the security of the machine is spelled out in the threat model.

Contributing

Bug reports, translations and patches are welcome. See CONTRIBUTING.md for the workflow and the checks CI runs, and SECURITY.md to report a vulnerability privately.

License

Released under the MIT License.

The Places map uses GeoNames data (CC BY 4.0) and Natural Earth outlines (public domain). The optional street map comes from OpenFreeMap, © OpenStreetMap contributors.

Proton Drive is a service of Proton AG. This project is an independent client and carries no affiliation with or endorsement from Proton AG.

S
Description
No description provided
Readme MIT
22 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 94.4%
Python 4.6%
Shell 0.6%
CSS 0.3%
Nix 0.1%