Spola
Keep your folders in sync with Koofr, on GNOME.
Koofr's own desktop client works, but on GNOME it never felt at home: an old GTK 3 window, nothing in Files, and a tray icon that redraws itself every second, which broke the tray of the shell I use. So I wrote Spola. It keeps folders on your computer and folders on Koofr identical, in both directions, in the background, and it is careful with your files above everything else.
A spola is the shuttle of a loom, the piece that carries the thread from one side to the other. In Italian, fare la spola means going back and forth.
Or from a terminal: flatpak install https://daniel-g-carrasco.github.io/spola/spola.flatpakref.
It comes from its own signed repository and updates arrive through GNOME Software, like any other app.
On Margine OS: ujust install-spola.
How it works
You sign in with your Koofr e-mail and an app password (Koofr settings, Passwords: Koofr does not accept your main password from other apps), then you pick folders, each one paired with a folder on Koofr. Spola sits in the tray. Changes you make are picked up as they happen; changes made from your other devices show up within a minute, and once an hour Spola checks everything anyway.
I did not write a sync engine. Every sync is an rclone bisync run: rclone
is well tested on thousands of machines, and I would rather put guards around it than reinvent it.
Careful with your files
- A preview before every big step. The first sync of a folder, a repair, and any sync stopped by a safety check show you the list of what would happen. Nothing runs until you say so.
- No surprise deletions. A sync that would delete more than 10% of a folder stops and waits for you. Files deleted or replaced on your computer go to a local backup for 30 days; on Koofr they go to Koofr's trash.
- Conflicts keep both versions. When a file changed on both sides, you get two copies with readable names and a window to pick the one that stays.
- An unplugged drive is not an empty folder. If the folder Spola knows is gone or replaced, the pair stops before rclone even starts.
- Names Koofr refuses (emoji, names that differ only in case) are left out and shown to you; the rest keeps syncing.
- Your app password stays in the keyring and never shows up in a command line.
In Files
Turn it on in the preferences and Files (Nautilus) shows an emblem on every synced file and folder:
up to date, syncing, waiting, error, conflict, left out. Right-click gives you Sync Now,
Open on Koofr and Copy Koofr Share Link. The extension only reads from a cache, so Files
stays as fast as it was. It needs nautilus-python on your system (Margine OS has it).
Coming from Koofr Desktop
Spola can take your Koofr Desktop folders over: spola import-koofr-desktop, or
ujust install-spola migrate on Margine OS. Stop Koofr Desktop first: two sync engines on the
same folders is the quickest way to lose files. In my case the folders were already identical on both sides
and the first sync of each moved nothing, but you see that in the preview before anything happens.
Where it stands
This is version 0.1. I use it every day on my own machine, with 16 folders and a few hundred gigabytes, and it replaced Koofr Desktop there. It is still young: if something looks wrong, please open an issue. It speaks English and Italian.