mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
`pdfs copy PATH... NEW_PARENT` sends a new control request, Copy, which copies a file with its content or a folder with its subtree on Proton Drive through proton-drive-rs's copy_node. Nothing is downloaded or uploaded. A name already taken in the destination gets the next free " (n)" suffix through get_available_name. A copy cannot wait in the queue, because Drive copies what it holds. So it is refused offline, and while the mount still owes Drive part of the node: a local placeholder, a queued op, unsaved writes, or, for a folder, any queued op at all. Local-first does not change this. DriveApi gains copy_node and get_available_name, and the fake drive copies subtrees, so a FUSE sim test covers the copy, the suffix, the folder subtree and both refusals. The activity feed logs a new Copy kind, translated in every catalog. Needs the proton-drive-rs release that adds copy_node; until then, build with a [patch.crates-io] pointing at proton-sdk-rs.
Proton Drive for Linux documentation
Proton Drive for Linux is an unofficial Proton Drive client for the Linux desktop. Your Drive appears as a folder that downloads files when you open them, local folders are backed up and kept in sync, and a GTK app with a tray icon and a search launcher covers Photos, sharing and more. A command-line client does all of it from a terminal.
These pages are also published as the
wiki, generated from the
docs/ folder of the repository.
Where to start
- New here? Getting started takes you from installing to your first synced folder.
- Installing or updating? Installation covers Fedora (COPR), Arch (AUR), Debian and Ubuntu, NixOS, and building from source.
- Something not working? Troubleshooting starts with
pdfs diagnoseand goes through common problems. - New computer, or the old one is gone? Recovering on a new computer gets your synced folders back.
- Quick question? Try the FAQ.
Using it
| Page | What it covers |
|---|---|
| User guide | How the pieces fit together, the words the app uses, preferences |
| Files and offline access | The ~/ProtonDrive folder, keeping files available offline, the Trash, earlier versions |
| Synced folders | Backing up local folders, excluding files, changes waiting to upload, conflicts, pausing |
| Photos | Timeline, albums, places, duplicates, importing from Google Photos |
| Sharing | Invitations, public links, items shared with you |
| Computers | Other computers in your account, syncing several computers |
| Search launcher and tray | Finding files from a keyboard shortcut, the tray icon |
Reference
| Page | What it covers |
|---|---|
| Command-line reference | Every pdfs command, grouped by task, and scripting with --json |
| Configuration | config.json, environment variables, file locations, the systemd service |
| Security model | What protects your files, what is kept on this computer, what the client connects to |
| Changelog | What changed in each release |
Contributing
| Page | What it covers |
|---|---|
| Development guide | Building, running and debugging from source; common changes; releasing |
| Architecture | Crates, the local tree, read and write paths, the queue, the sync engine, the control protocol, threads, threat model |
| Testing | Unit tests, simulation runs and the FUSE acceptance suite |
| Translating | Adding and updating translations |
| Roadmap | Planned work and verification still owed |
| Bug ledger | Every tracked defect with its analysis and status |
Also see CONTRIBUTING.md, and SECURITY.md to report a vulnerability privately.