Proton Drive Sync
unlistedby odrianoaliveira
Sync your vault to Proton Drive using the official Proton Drive CLI.
Proton Drive Sync
An Obsidian plugin that syncs your vault to Proton Drive using the official Proton Drive CLI.
Features
- Event-driven — debounced uploads when notes are created, modified, renamed, or deleted.
- Manual — "Sync now" command (Command Palette) and a settings button.
- Periodic fallback — configurable interval (default 5 minutes).
- Configurable — remote folder, file/folder conflict strategies, debounce, ignore list, binary path.
- Status bar + last-sync display, plus a local
sync.log.
How it works
The plugin wraps the proton-drive binary (v0.9.0) and performs one-way, additive uploads. It uploads
your vault's top-level entries (excluding .obsidian/ and .trash/ by default) into a remote folder
(default /my-files/Obsidian), creating that folder if it does not exist yet. Files with unchanged
content are skipped automatically.
Requirements
- Obsidian desktop (the plugin is
isDesktopOnly). - The
proton-driveCLI installed and authenticated (proton-drive auth login). The plugin auto-resolves~/.local/bin/proton-drive, or you can set an absolute path in settings.
Install (GitHub release)
-
Download
proton-drive-sync.zipfrom the latest release. -
Create the plugin folder and unzip the three files into it:
mkdir -p "<vault>/.obsidian/plugins/proton-drive-sync" unzip proton-drive-sync.zip -d "<vault>/.obsidian/plugins/proton-drive-sync" -
Reload Obsidian and enable Proton Drive Sync in Settings → Community plugins.
Install (development)
cd obsidian-proton-drive-sync
npm install
npm run build
mkdir -p "<vault>/.obsidian/plugins/proton-drive-sync"
cp main.js manifest.json styles.css "<vault>/.obsidian/plugins/proton-drive-sync/"
Then enable Proton Drive Sync in Settings → Community plugins.
Development
npm install
npm run dev # esbuild watch (rebuild on change)
npm run build # typecheck + production bundle -> main.js
Settings
- Remote folder — Proton Drive path (default
/my-files/Obsidian). - Sync automatically on changes, Debounce (ms), Periodic sync (minutes).
- File/folder conflict strategies — default
create-new-revision+merge. - Ignore — comma-separated top-level vault names to exclude (default
.obsidian, .trash). - Test connection and Sync now buttons, plus a last-sync display.
Limitations
- One-way and additive: locally deleted files are NOT removed remotely. Deletion reconciliation
(recoverable
trash-based) is planned for a future version. - No filesystem watching outside Obsidian — it relies on Obsidian's change events plus the interval.
- Proton Drive has no official sync API; this wraps the CLI's one-shot
filesystem upload.
Logs
Sync outcomes are appended to sync.log inside the plugin directory
(<vault>/.obsidian/plugins/proton-drive-sync/sync.log).
License
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.