#!/coding/blatt
Sammelsurium mit Schwerpunkten Linux & IT-Sicherheit

Syncthing: Dateien einfach & sicher synchronisieren

Hin und wieder kommt es vor, dass ich zwischen meinen Geräten, wie z.B. Notebook, Smartphone oder Tablet, Dateien austauschen und synchronisieren möchte. Anstatt das nun händisch per USB-Stick, selbstgehostetem Serverdienst, wie z.B. Nextcloud, oder gar einen öffentlichen Clouddienst umzusetzen, nutze ich hierfür Syncthing. Dabei handelt es sich um eine quelloffene Peer-to-Peer-Software zur Dateisynchronisation. Die Synchronisation der Dateien erfolgt dabei verschlüsselt per TLS inkl. Perfect Forward Secrecy und kann über das lokale Netzwerk, wie z.B. das eigene Heimnetzwerk, als auch über das Internet erfolgen.

Anhand der Synchronisation von Dateien zwischen meinem Tablet und meinem Smartphone, zeige ich, wie sich Dateien zwischen zwei Geräten einfach & sicher mit Syncthing übertragen lassen.

Folgende Software bzw. Hardware wurde verwendet:
  • Sony Xperia Z3 Compact Tablet mit LineageOS v18.1
  • Sony Xperia X Compact mit LineageOS v18.1
  • Syncthing-Android-App v1.22.2 (F-Droid-Version)

Ausgangslage & Zielstellung

Für diesen Beitrag habe ich die Synchring-App sowohl auf meinem Tablet als auch auf meinem Smartphone installiert. Die Synchronisation soll dabei nur innerhalb meines Heimnetzwerks erfolgen. Grundsätzlich bietet Syncthing verschiedene Ansätze und dazugehörige Protokolle, wie z.B. Global und Local Discovery, mit der Geräte sich gegenseitig finden können. Da sich bei mir die Datenübertragung auf mein Heimnetzwerk beschränken soll, würde bei mir Local Discovery ausreichen. Zwischen zwei Android-Geräten hat das bei mir aber nicht funktioniert, was wahrscheinlich an einem derzeit noch offenen Bug im Zusammenspiel mit Android 11 liegt. Aus diesem Grund verbinde ich beide Geräte explizit über ihre jeweilige (statische) IP-Adresse:

  • Tablet: 192.168.6.103
  • Smartphone: 192.168.6.168

Da ich meine Geräte direkt über ihre IP-Adresse verbinde, habe ich bei allen meinen Syncthing-Installationen die folgenden vier Einstellungen immer deaktiviert, da nicht benötigt:

  • NAT-Durchdringung aktivieren
  • Lokale Gerätesuche
  • Globale Gerätesuche
  • Weiterleitung aktivieren

Syncthing einrichten

Im ersten Schritt muss auf beiden Geräten das jeweils andere Gerät, mit dem die Synchronisation stattfinden soll, hinzugefügt werden. Dazu dient die sogenannte Geräte-ID (Device-ID), die beim ersten Start von Syncthing für jedes Gerät einzeln generiert wird. Anschließend können die zu synchronisierenden Ordner eingerichtet werden.

Hinweis Konfiguration per App-GUI oder Web-GUI

Syncthing lässt sich unter Android sowohl direkt über die App als auch über die Weboberfläche konfigurieren (in der App über Menü - Weboberfläche zu erreichen).

Smartphone: Tablet als Gerät hinzufügen

Auf meinem Smartphone wähle ich Geräte und +. In dem sich öffnenden Dialog klicke ich auf das QR-Code-Symbol, um die Geräte-ID meines Tablets einfach per Kamera einscannen zu könnne, anstatt sie manuell eingeben zu müssen.

Tablet: Geräte-ID anzeigen

Syncthing: Geräte-ID von Tablet anzeigen

Smartphone: Name und IP-Adresse meines Tablets angeben und Gerät hinzufügen.

Syncthing: Gerät hinzufügen - Tablet dem Smartphone hinzufügen

Tablet: Smartphone als Gerät hinzufügen

Tablet: Anfrage meines Smartphones annehmen.

Syncthing: Gerät hinzufügen - Smartphone dem Tablet hinzufügen

Tablet: Auch hier Name sowie IP-Adresse meines Smartphones angeben und Smartphone zum Tablet als Gerät hinzufügen.

Syncthing: Gerät hinzufügen - Smartphone dem Tablet hinzufügen

Danach sollte in der Geräte-Übersicht auf beiden Geräten das jeweils andere Gerät als Aktuell in grüner Schriftfarbe aufgeführt sein.

Syncthing: Geräte-Übersicht - Geräte erfolgreich verbunden

Smartphone: Ordner zum Synchronisieren erstellen

Über Ordner und + können "Ordner", die synchronisert werden sollen, hinzugefügt werden. In meinem Fall möchte ich eine Ordner mit der Bezeichnung "Dokumente" erstellen, welcher das Verzeichnis /storage/emulated/0/Documents repräsentiert. Zusätzlich stelle ich ein, dass der Ordner mit dem Gerät "Tablet" zur Synchronisation geteilt wird.

Syncthing: Ordner zum Synchronisieren auf Smartphone erstellen

Tablet: Ordner zum Synchronisieren erstellen

Auf meinem Tablet erhalte ich analog dem Vorgang beim Hinzugfügen des Tablets zu meinem Smartphone wieder eine entsprechende Anfrage.

Syncthing: Ordner zum Synchronisieren auf Tablet bestätigen

Auch hier kann nun ein Name sowie das dazugehörige Verzeichnis des zu erstellenden Ordners ausgewählt werden. Der Ordner wird dabei mit dem Gerät "Smartphone" geteilt.

Syncthing: Ordner zum Synchronisieren auf Tablet bestätigen

Dateien synchronisieren

Wenn alles korrekt eingerichtet ist, sollte auf beiden Geräten nun in der Ordner-Übersicht der jeweilige Ordner angezeigt werden und die Synchronisation sollte direkt erfolgt sein. Wenn ich nun auf einem Gerät eine Datei im entsprechenden Verzeichnis hinzufüge, ändere oder lösche, erfolgt anschließend durch Syncthing die Synchronisation mit dem anderen Gerät.

Syncthing: Ordner-Übersicht

Fazit

Mit Syncthing lassen sich Dateien zwischen mehreren Geräten einfach & sicher synchroniseren, ohne das man Dritten vertrauen muss, oder die Dateien irgendwo zentral auf einem Server vorgehalten werden müssen. Sehr gut ist auch die Portabilität, da es für alle gängigen Betriebssysteme verfügbar ist.