Syncthing bietet sich als Dropbox-Alternative an: für alle, die ihre Daten ungern aus den Händen geben und auf die Server von Unternehmen hochladen möchten. Wir erklären Einrichtung und Konfiguration.
Onlinespeicher nach dem Prinzip von Dropbox, Google Drive & Co. haben in den vergangenen Jahren viele Nutzer gewonnen. Das ist auch gar nicht verwunderlich: Dropbox etwa bietet eine nahtlose Integration in die meisten Desktopumgebungen. Ob man Dateien von einem Rechner auf den anderen kopiert oder auf die Dropbox-Server hochlädt, ist aus Sicht des Nutzers praktisch egal.
Dass Onlinespeicherdienste nicht nur Vorteile bringen, wird bei genauerem Hinsehen schnell klar: Die Berichte über die Arbeit von vielen Geheimdiensten in der Vergangenheit haben Misstrauen ausgelöst. Vor allem Unternehmen tun sich heute deutlich schwerer damit, ihre eigenen Daten zur Verwahrung in die Hände Dritter zu geben. Ebenso haben viele Heimanwender ein mulmiges Gefühl, persönliche Daten auf die Server einer großen US-Firma zu kopieren. Denn eine Garantie dafür, was mit den Daten passiert und wer sie einsehen kann, geben die großen Anbieter der Branche zumindest bei den Gratisangeboten nicht.
Syncthing ist anders
Da kommt Syncthing ins Spiel: Es will eine Alternative zu Dropbox oder zumindest für einen Teil von Dropbox gebotenen Funktionalität sein. Das Hauptaugenmerk legt Syncthing auf den Datenschutz: Die Software tritt an, um Dateien zwischen mehreren Geräten synchron zu halten. Um den Dateiabgleich zu ermöglichen, muss auf allen teilnehmenden Rechnern genug lokaler Speicher vorhanden sein.
Wer Syncthing ausprobieren möchte, startet mit der Installation. Die von EasyLinux offiziell unterstützten Distributionen (aktuell Kubuntu 15.10 sowie OpenSuse 13.2 und 42.1) haben mit dem Betrieb von Syncthing prinzipiell kein Problem. Unterschiede gibt es beim Komfort der Einrichtung: Für Kubuntu bieten die Syncthing-Autoren eigene Pakete an, die sich nahtlos in das System integrieren; bei OpenSuse fehlt nach der Installation ein Mechanismus, der den Dienst automatisch startet. In den folgenden Abschnitten Kubuntu und OpenSuse beschreiben wir die Einrichtung unter diesen Distributionen.
Kubuntu
Wer Ubuntu 15.10 oder die KDE-Version Kubuntu 15.10 einsetzt, kann sich bei den Entwicklern von Syncthing bedanken: Hier sind passende Pakete direkt auf der Projektseite erhältlich. Sie aktivieren nur die richtigen Paketquellen und spielen dann das gewünschte Paket syncthing ein. Gehen Sie dazu vor wie folgt:
- Öffnen Sie mit [Alt]+[F2] und Eingabe von
konsoleein Terminalfenster, in dem Sie anschließend einige Befehle eingeben. - Sie benötigen den Kommandozeilen-Downloadmanager
curl. Installieren Sie mitsudo apt-get install curldas gleichnamige Paket, falls das Programm nicht bereits eingerichtet ist. (Zum Testen geben Sie in der Konsole einmalcurl -Vein und sehen im Erfolgsfall Hinweise zur installierten Version.) -
Nach dem Befehl
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
verrät die Rückmeldung OK, dass der Signaturschlüssel für Syncthing nun auf Ihrem System aktiv ist.
-
Dann folgt das Aktivieren der Syncthing-Paketquelle:
echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
erledigt diesen Schritt.
- Aktualisieren Sie dann die Liste der verfügbaren Pakete für Ihr System mit
sudo apt-get update. - Installieren Sie schließlich das Paket
syncthingmitsudo apt-get install syncthing.
Im Anschluss starten Sie Syncthing durch Eingabe von syncthing im Terminalfenster. Um dem systemweiten Programmmanager Systemd für die Syncthing-Kontrolle zu nutzen, gehen Sie so vor:
-
Mit dem Befehl
systemctl enable syncthing@username.service
sorgen Sie dafür, dass das System einen entsprechenden Verweis im Katalog der Programme anlegt, die beim Systemstart laufen sollen. username ersetzen Sie dabei durch Ihren Nutzernamen auf dem System, im Beispiel etwa martin.
-
Um Syncthing über Systemd zu starten, nutzen Sie das Kommando
systemctl start syncthing@username.service
und ersetzen erneut username durch Ihren Nutzernamen.
Ob der Vorgang wie gewünscht geklappt hat, testen Sie danach, indem Sie im Browser die Adresse http://localhost:8384 aufrufen. Wenn Sie nun das Syncthing-Webinterface sehen, war die Einrichtung erfolgreich. Weiter geht es im Abschnitt Erste Orientierung.
OpenSuse
Für OpenSuse bieten die Syncthing-Autoren leider keine fertigen Pakete an. Die OpenSuse-Versionen Leap 42.1 und 13.2 enthalten zwar eigene syncthing-Pakete, aber nur in Version 0.11. Das interne Protokoll, das Syncthing für die Synchronisierung einsetzt, hat sich zwischen Version 0.11 und 0.12 geändert, darum ist es nicht möglich, beide Versionen im Mischbetrieb zu nutzen. Wenn Sie also einen Ubuntu-Rechner mit einem OpenSuse-PC Daten austauschen lassen möchten, müssen beide Systeme entweder Version 0.11 oder Version 0.12 nutzen. Die Lösing ist, die Software als tgz-Archiv von der Projektseite herunterzuladen und von Hand in Ihr Home-Verzeichnis zu entpacken. Das gelingt wie folgt:
- Öffnen Sie mit [Alt]+[F2] und
konsoleein Terminalfenster. Öffnen Sie im Browser die Downloadseite von Syncthing [1], suchen Sie in der Downloads-Liste die gerade aktuelle Syncthing-Version für Linux-AMD64, und laden Sie die Datei herunter; der Dateiname endet auf .tgz. -
Entpacken Sie das tgz-Archiv mit dem KDE-Programm Ark. Wechseln Sie dann mit
cdin das aus dem Archiv entpackte Verzeichnis. Ganz konkret am Beispiel: Wenn die Archivdatei syncthing-linux-amd64-v0.12.5.tar.gz heißt und in Ihrem Downloads-Ordner liegt, finden Sie nach dem Entpacken einen neuen Ordner Downloads/syncthing-linux-amd64-v0.12.5. Mit dem Kommandocd ~/Downloads/syncthing-linux-amd64-v0.12.5
wechseln Sie dann ins richtige Verzeichnis.
- Dort starten Sie Syncthing: Das Kommando
./syncthingerledigt diesen Schritt. Es öffnet sich dann auch ein neues Firefox-Fenster, das Sie direkt zum Syncthing-Webinterface lotst. Wenn Sie dieses nun sehen, war die Installation erfolgreich.
Anders als bei Ubuntu ist es unter OpenSuse nicht problemlos möglich, den automatischen Start von Syncthing als Systemdienst einzurichten. Bis die Entwickler eine bessere Lösung für OpenSuse finden oder OpenSuse das eigene Syncthing-Paket aktualisiert, begnügen Sie sich am besten damit, den Dienst (wie oben gezeigt) von Hand zu starten.
Erste Orientierung
Ist Syncthing eingerichtet, sieht die Oberfläche des Programms auf allen Distributionen gleich aus. Das erleichtert die folgenden Schritte. Nehmen Sie sich ein paar Minuten Zeit, um sich mit der Oberfläche vertraut zu machen.
Unter Ubuntu erreichen Sie das Webinterface nach dem Programmstart über die URL http://localhost:8384. Wenn Sie Syncthing unter OpenSuse wie in diesem Artikel beschrieben installiert haben, gilt dort das gleiche. Falls Sie das ältere OpenSuse-Paket installiert haben, nutzen Sie stattdessen die URL http://localhost:8080. In allen Fällen landen Sie im Anschluss ohne Eingabe irgendwelcher Logindaten im Syncthing-Webinterface. Ab Werk erscheint das in englischer Sprache. Ganz oben sehen Sie eine grau hinterlegte Leiste, in der sich ein Button mit der Aufschrift English findet. Klicken Sie auf den Button und wählen Sie im aufklappenden Menü den Eintrag German aus. Wenn Sie die Seite neu laden, ist die Sprache auf Deutsch umgestellt.
Das Webinterface teilt sich grob in zwei Bereiche auf (Abbildung 1):
- Links sehen Sie die Ordner, die Sie für die Synchronisation mit Syncthing freigegeben haben. Genau darum geht es bei Syncthing ja vorrangig – auf den Rechnern Ordner festzulegen, deren Inhalte das Programm dann über alle Rechner hinweg automatisch synchron hält.
- Rechts finden Sie den Geräte-Abschnitt: Oben findet sich darin ein Eintrag für den Rechner, dessen Syncthing-Webinterface Sie gerade verwenden. Darunter stehen später Einträge für die Synchronisationspartner. Genau das ist der nächste Schritt: Wenn Sie Syncthing auf zwei Rechnern erfolgreich gestartet haben, geht es nun darum, Ordnerinhalte zwischen den beiden Systemen zu synchronisieren.
Synchronisationsordner festlegen
Erstmal legen Sie dazu fest, welche Ordner das Programm synchronisieren soll. Ab Werk ist nur ein Ordner eingestellt: Der Eintrag Default legt unter Linux und OS X fest, dass der Ordner Sync/ in Ihrem Home-Verzeichnis verwendet wird. So fügen Sie einen zweiten Ordner hinzu:
- Klicken Sie auf den Button + Verzeichnis hinzufügen. Tragen Sie einen Namen bei Verzeichnis ID ein (Abbildung 2) – unter diesem Namen taucht der Ordner später in den Syncthing-Oberflächen anderer Rechner auf.
-
Wählen Sie dann das Verzeichnis. Hier ist stets der volle Pfad zum Ordner im Dateisystem zu nennen. Die Tilde (~) ersetzt auf Wunsch den Pfad zum Home-Verzeichnis – die Angabe ~/EasyLinux steht also z. B. beim Nutzernamen martin für den Pfad /home/martin/EasyLinux.
- Schließen Sie diese Einrichtung durch Klick auf Speichern an.
Im Anschluss sollten Sie links unter Verzeichnisse den gerade angelegten Ordner mit seiner Verzeichnis-ID finden.
Syncthing-Instanzen verbinden
Dann kommt der wichtigste Teil, nämlich die Verbindung von mindestens zwei Syncthing-Instanzen für die Synchronisation. Klicken Sie dazu rechts unter Geräte auf den Button + Gerät hinzufügen.
- Die ID des Gerätes auf der anderen Seite (Geräte-ID), die im ersten Feld anzugeben ist, ist von großer Bedeutung: Diese nutzt das Programm, um sicherzustellen, dass es sich auf der Gegenseite auch mit der richtigen Instanz von Syncthing verbindet. Sie geben hier den Wert an, den Sie auf dem anderen Rechner sehen, wenn Sie oben rechts auf Aktionen und dann auf ID anzeigen klicken. Die ID besteht aus acht Zahlenkolonnen zu jeweils sieben Zeichen, verbunden mit Bindestrichen – die Tipparbeit können Sie sich sparen, indem Sie die ID vom anderen Rechner auf den aktuellen kopieren.
- Das Feld Gerätename lassen Sie im Gegenzug leer – denn so verwendet Syncthing den Wert, den der andere Rechner mitteilt, wenn die Verbindung zwischen zustande kommt.
- Wichtig ist hingegen das Feld Adressen. Ab Werk steht hier dynamic: Syncthing betreibt zentrale Server, über die sich Syncthing-Instanzen finden können. Das Programm sendet nicht die Inhalte Ihrer Verzeichnisse an diese Server, sondern nutzt sie lediglich als Vermittler. Das Beispiel in diesem Artikel geht allerdings davon aus, dass sich alle Syncthing-Clients im gleichen lokalen Netz und hinter einer Firewall befinden, so dass die Vermittlung über den Anbieter nicht klappt. Stattdessen tragen Sie bei Adressen tcp://IP:Port ein. IP ersetzen Sie durch die lokale IP-Adresse des anderen Syncthing-Hosts, der Port ist immer 22000. Wenn Sie die IP-Adresse des anderen Systems nicht auswendig kennen, finden Sie diese im Netzwerkmanager oder in der Netzwerkkonfiguration des jeweiligen Rechners.
- Unten finden Sie den Punkt Teile Verzeichnisse mit diesem Gerät. Hier setzen Sie einen Haken vor jedes Verzeichnis, dessen Inhalt Sie mit dem anderen Rechner synchronisieren wollen, im Beispiel etwa EasyLinux und auf Wunsch auch default.
- Klicken Sie abschließend auf Speichern.
Unmittelbar danach versucht Syncthing auf dem einen Rechner, eine Verbindung zu Syncthing auf dem anderen herzustellen. Die dortige Syncthing-Instanz wird Ihnen das über eine entsprechende Meldung direkt mitteilen (Abbildung 3). Klicken Sie auf Hinzufügen, um die Verbindung auch auf der anderen Syncthing-Seite einzurichten. Gleich im Anschluss zeigt Syncthing auf dem anderen Rechner einen weiteren Hinweis an: Es fragt nach, ob Sie die vom ersten Syncthing-Rechner freigegebenen Verzeichnisse wirklich in die Synchronisation aufnehmen wollen. Ein weiterer Klick auf Bestätigen schließt die Konfiguration ab. Danach taucht bei beiden Syncthing-Instanzen die jeweils andere Syncthing-Instanz unter Geräte auf, und der Status ist Aktuell.

Abbildung 3: Beim Konfigurieren einer neuen Synchronisation mit einem anderen Host meldet sich Instanz 1 automatisch bei Instanz 2. Ein Klick genügt.
Weitere Verbindungen
Nach dem gleichen Schema verbinden Sie weitere Syncthing-Instanzen mit den bereits vorhandenen. Dabei ist es nicht von Bedeutung, wie Sie Ihr Netzwerk von Syncthing-Knoten aufbauen – es muss nicht jeder Rechner mit jedem anderen kommunizieren.
Syncthing ist nicht nur für Linux erhältlich: Neben Versionen für Windows in 32 und 64 Bit gibt es das Programm auch für Mac OS X. Obendrauf ist im Google Play Store eine App erhältlich [2], so dass auch die Synchronisation mit Android-Geräten klappt. Ein iOS-Client fehlt noch.

Abbildung 4: Syncthing steht nicht nur für Linux zur Verfügung, sondern auch für andere Betriebssysteme wie hier OS X.
Syncthing und Firewalls
Ein Problem gilt es allerdings bei der Syncthing-Nutzung zu umschiffen. In allen Fällen reden die Syncthing-Instanzen auf unterschiedlichen Geräten direkt miteinander. Solange sich alle Syncthing-Instanzen im selben Netzwerk befinden, meist im heimischen LAN, ist das auch kein Problem. Schwieriger wird es, wenn mobile Geräte ins Spiel kommen, die eben nicht immer im gleichen Netz wie die übrigen Syncthing-Clients sind. Nur wenige Rechner sind heute direkt mit dem Internet verbunden; meist stellen Router eine logische Netzwerkgrenze zwischen “drinnen” und “draußen” her.
Das bedeutet aber nicht, dass die Syncthing-Nutzung in diesen Szenarien unmöglich wäre. Router bieten die Möglichkeit, Weiterleitungen für einzelne Ports einzurichten. Im Syncthing-Fall genügt es, wenn der Router Anfragen an Port 22000 auf den Rechner im Heimnetz weiterleitet, auf dem Syncthing läuft. Dazu ist auf diesem PC auch die lokale Firewall so zu konfigurieren, dass sie eingehende Verbindungen auf Port 22000 erlaubt. Dann empfiehlt es sich allerdings, bei den Clients außerhalb des eigenen Netzes in Schritt 3 der letzten Schritt-für-Schritt-Anleitung das Feld Adressen auf der Vorgabe dynamic zu belassen.
Infos
[1] Syncthing-Download: https://github.com/syncthing/syncthing/releases
[2] Syncthing für Android: https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid&hl=de



