gitwtfhub

wtf is proton-drive-cli-sync?

lafontaj/proton-drive-cli-sync — explained in plain English

Analysis updated 2026-05-18

2PythonAudience · developerComplexity · 4/5Setup · hard

TL;DR

A Linux tool that adds true continuous background syncing to Proton Drive by wrapping Proton's official one shot CLI with a Python engine and a graphical folder manager.

Mindmap

mindmap
  root((repo))
    What it does
      Continuous Proton Drive sync
      Wraps official CLI
      Real time file watching
    Tech stack
      Python
      Tkinter
      systemd
      inotify
    Use cases
      Backup folders to Proton Drive
      Sync a NAS to the cloud
      Run scheduled safety net syncs
    Safety
      NAS reachability handling
      Dry run testing
      Deletion propagation control
    Audience
      Linux power users
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Keep a set of Linux folders continuously backed up to Proton Drive without manual uploads.

REASON 2

Sync files from a NAS device to Proton Drive with automatic pause and resume on disconnect.

REASON 3

Run two separate Proton accounts syncing at the same time on one machine.

What's in the stack?

PythonTkintersystemdinotify

How it stacks up

lafontaj/proton-drive-cli-sync0-bingwu-0/live-interpreter0cm-labs/tokenizer-benchmark
Stars222
LanguagePythonPythonPython
Setup difficultyhardmoderatemoderate
Complexity4/52/52/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires installing and version-matching Proton's official CLI plus configuring the system keyring for credentials.

Wtf does this do

Proton Drive CLI Sync is a Linux tool that gives Proton Drive real continuous folder syncing, something the official Proton Drive command line tool does not do on its own. Proton's official CLI can upload files, list them, and check info, but it only performs one off actions and is meant to be called from scripts or scheduled jobs, not run as a background sync engine. This project fills that gap. At its core is a Python engine that wraps the official CLI to behave like a mirror sync, detecting new or changed files instead of blindly re-uploading everything every time it runs. A graphical editor built with Tkinter lets you manage which folders get synced, set per folder exclusions, watch live output, and trigger both cache priming and manual sync runs, each with its own settings and stop controls. On top of that batch engine sits a real-time layer that watches folders for changes using inotify and syncs them immediately through systemd background services, with the older scheduled batch running weekly as a backup safety net rather than the primary method. A NAS, network attached storage device, is entirely optional. Fresh installs start in local only mode, syncing straight to Proton Drive with no NAS involved. If you do add one and it becomes unreachable, for example after a reboot or network drop, the tool pauses only the NAS related folders while local folders keep syncing normally, then resumes automatically once the NAS reconnects, without losing any changes. Other features include a self test that checks NAS folder paths are set up correctly with color coded status indicators, an upload progress indicator during syncs, copy to clipboard buttons for shell commands shown in the app, and a warning badge that flags when a NAS deployment is still pending without taking any action on its own. The tool depends on a specific tested version of Proton's official CLI, warns you if a different version is installed, and stores login credentials through the system's secret storage service. It also supports two separate accounts syncing at once by running under two different Linux user sessions on the same machine, each with its own lock file and cache so they never interfere with each other. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
Help me set up proton-drive-cli-sync on Linux Mint, install the official Proton Drive CLI, and configure my first folder mapping.
Prompt 2
Explain how proton-drive-cli-sync detects changed files without re-uploading everything on each pass.
Prompt 3
Help me configure proton-drive-cli-sync to sync a NAS folder and handle it gracefully when the NAS goes offline.
Prompt 4
Set up two separate Linux user accounts so I can run proton-drive-cli-sync for two Proton accounts at once.
Prompt 5
Add a notification popup to proton-drive-cli-sync when a scheduled sync pass fails.

Frequently asked questions

wtf is proton-drive-cli-sync?

A Linux tool that adds true continuous background syncing to Proton Drive by wrapping Proton's official one shot CLI with a Python engine and a graphical folder manager.

What language is proton-drive-cli-sync written in?

Mainly Python. The stack also includes Python, Tkinter, systemd.

How hard is proton-drive-cli-sync to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is proton-drive-cli-sync for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.