Syncdingens. Ja, wirklich!

Entwickler sind ja nicht gerade für ihre Kreativität bei der Namensfindung bekannt und auch in diesem Falle hat das wohl eher schlecht funktioniert: „Syncthing“ nennt sich die in Go geschriebene Software zur direkten Synchronisierung von Geräten.

Denn anders als bei herkömmlichen Cloud-Lösungen entfällt ein zentraler Server komplett. Auch das Eintragen von Benutzernamen und Passwörtern auf jedem der Geräte ist Vergangenheit. Allerdings gibt es natürlich einen Haken: Wenn sich Geräte synchronisieren wollen, müssen diese zeitgleich online sein. Wobei dies je nach Ansicht ein Vor- oder Nachteil sein kann.

Installation unter den verschiedensten Betriebssystemen

Da der in Go geschriebene Syncthing-Kern auf so gut wie jedem Gerät läuft und die Administration über ein Webinterface vorgenommen werden kann, ist Syncthing auf so gut wie jeder Plattform bereits lauffähig. Wer eine „richtige“ grafische Oberfläche dem Webinterface bevorzugt darf auf Syncthing-Gtk zurückgreifen, für Android steht ebenfalls eine passende App bereit.

Installation unter Ubuntu

Die bequeme Installation unter Ubuntu ist im Moment leider nur via ein PPA und damit über eine Fremdquelle möglich, was auch gewisse Gefahren mit sich bringt. Trotzdem hier die Installation:

# add-apt-repository ppa:ytvwld/syncthing
# apt-get update
# apt-get install syncthing

Installation unter Archlinux

Unter Archlinux steht Syncthing bereits in den Community-Repository zur Verfügung, die Installation ist denkbar einfach:

# pacman -S syncthing

Installation unter Android

Die Installation unter Android kann sowohl über den Google Play Store als auch über F-Droid erfolgen, wobei bei letzterem auch die apk-Datei heruntergeladen und direkt installiert werden kann, ohne den Zwang einen Paketmanager nutzen zu müssen (oder AppStore, Market, oder wie auch immer die aktuelle Bezeichnung hierfür lautet).

Installation unter Windows

Es geht doch nichts über Windows, wenn eine Installation möglichs kompliziert wirken soll, nicht? Offiziell gibt es für Windows nur eine zip-Datei, welche man lediglich entpacken muss. Das ist einfach, entspricht allerdings nicht einer sauberen Installation.

Für solche Fällte gibt es unter anderem Software wie Chocolatey, welche als Paketmanager fungiert und die Installation damit ähnlich handhabt wie unter Linux-basierten Betriebssystemen:

C:\> choco install syncthing-gtk

Erster Start und Konfiguration

Der Start erfolgt entweder via (Doppel-)Klick auf das entsprechende Icon oder alternativ über den Terminal via

$ syncthing

Die Software erzeugt darauf hin ein Schlüsselpaar (was unter Android etwas mehr Zeit in Anspruch nehmen kann), anschließend kann man mit der Konfiguration beginnen. Wer Syncthing nur im lokalen Netz verwenden will sollte in den Einstellungen jeweils „Global Discovery“ (und möglicherweise auch „UPnP“) deaktivieren.

Die im Moment noch per Standard aktivierte Komprimierung sollte zudem ebenfalls auf allen Geräten deaktiviert werden, Details finden sich im zugehörigen Bug-Report.

Da ich nicht auf jede Plattform einzeln eingehen will wird die Einrichtung im Folgenden bezogen auf das Webinterface beschrieben. Das Interface ist, nachdem Syncthing gestartet wurde, im Browser unter 127.0.0.1:8080 erreichbar und sieht in etwa so aus:

2015-03-06_syncdingens-ja-wirklich
Das Webinterface von Syncthing

Damit die Konfiguration relativ einfach bleibt empfiehlt es sich zuerst die jeweiligen Geräte-IDs zu notieren, welche man in den Einstellungen unter „ID anzeigen“ findet. Android-Geräte mit entsprechender Software können zudem den angezeigten QR-Code einscannen, was den Tausch der Geräte-IDs zumindest auf einer Seite vereinfacht.

Nachdem man sich die IDs notiert hat fügt man auf jedem der Geräte mittels „Gerät hinzufügen“ das jeweils andere Gerät hinzu. Hierzu trägt man die entsprechende ID ein und vergibt optional einen leichter zu merkenden Gerätenamen. Mit einem Klick auf „Speichern“ ist der Vorgang erledigt.

Wer möchte kann nun den bereits vorkonfigurierten „Sync“-Ordner nutzen, ansonsten kann man auf einem der Geräte mittels „Verzeichnis hinzufügen“ einen Ordner für die Synchronisierung zu Syncthing hinzufügen. Hierbei muss eine eindeutige Verzeichnis ID vergeben werden, die unter allen Geräten, die synchronisiert werden sollen, identisch sein muss. Als Verzeichnispfad trägt man den gewünschten Pfad ein, das Suchintervall lässt man bei 60 Sekunden. Sollen andere Geräte nur lesend Zugriff erhalten, setzt man einen Haken bei „Keine Veränderungen zulassen“, wer eine einfache Dateiversionisierung braucht kann diese ebenfalls konfigurieren. Anschließend setzt man noch einen Haken bei all den Geräten, die Zugriff auf das Verzeichnis erhalten sollen und beendet den Vorgang mit einem Klick auf „Speichern“.

Auf den anderen Geräten bzw. dem anderen Gerät sollte nun nach wenigen Sekunden eine Anfrage erscheinen, dass ein Verzeichnis zur Synchronisierung bereitsteht. Durch einen Klick auf „Hinzufügen“ öffnet sich ein Konfigurationsdialog, in welchem man nun nur noch einen Verzeichnispfad vergeben muss. Die restlichen Einstellungen wurden automatisch vom anderen Gerät übernommen.

Damit ist die Einrichtung auch schon beendet. Wie gesagt: Keine Benutzernamen, keine Passwörter, keine wirklich komplizierte Einrichtung. Lediglich der Tausch der IDs sowie ein gemeinsamer Ordner sind nötig.

Fazit

Einfach zu benutzen, einfach einzurichten, Open Source. Und endlich mal etwas, was den Namen Cloud auch tatsächlich verdient hat: Keine zentralen Server, lediglich Geräte welche sich selbstständig synchronisieren.