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.

Install (Flatpak) Source on GitHub

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.

Spola's window with three folders: one up to date, one with a conflict to review, one syncing
One row per folder: where it is, what the last sync did, and a button when it needs you.

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

The conflicts window: the file, its two versions with size and date, and a Resolve menu
A conflict: both versions with size and date, a click to see them in Files, a menu to decide.

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).

Files showing the home folder: Documents up to date, Photos syncing, Projects with a conflict
Your synced folders, as Files shows them.
Files in list view inside Projects: synced files, an excluded lock file, the two copies of a conflict
Inside a folder: synced files, an Office lock file left out, the two copies of a conflict.

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.