Neulich habe ich (wiedereinmal) nach einer universellen Lösung gesucht, um Verzeichnisse und Dateien auf mehreren Rechnern auf dem gleichen Stand zu halten. Und da bin ich (wieder) auf Syncthing gestoßen.

Seit vielen Jahren mache ich es mir zur Gewohnheit, mein Dokumenten-Verzeichnis mit einer zentralen Stelle abzugleichen. Das hat den großen Vorteil, dass man diese Dokumente auf jedem Rechner zur Verfügung hat, sei es der Stand-PC oder Notebook etc. Die Einrichtung eines neuen PCs (oder die Neuinstallation von Windows etc) beschränkt sich auf die wichtigsten Programme und der Synchronisationssoftware. Dann wartet man ein wenig und bald sollte man den Letztstand an Dokumenten auf seinem „neuen“ Rechner verfügbar haben.

Erstmalig habe ich das so als recht komfortabel empfunden, als Dropbox recht neu auf dem Markt erschienen ist. Später bin ich dann mit meinen Daten ins „Privatere“ umgezogen und habe lange Zeit ein Synology-NAS verwendet. Die Cloudlösungen (Dropbox, OneDrive, Google-Cloud, etc.), sowie die NAS-Systeme bringen ihre eigenen Synchronisationstools mit. Soweit so gut.

Nun verwende ich seit einiger Zeit ein sog. „unraid-Linuxsystem“ als meinem Homeserver. Hier hat man mehr Möglichkeiten und stellt sich seine Software-Sammlung aus einer Vielzahl von Tools selbst zusammen.

Eine Möglichkeit wäre, sich sein eigenes persönliches OwnCloud bzw. NextCloud zu installieren und auch dessen Sync-Tool zu verwenden. Allerdings ist diese Lösung für mich zu umfangreich und ich wollte es etwas einfacher gestalten.

Und da bin ich auf Syncthing gestoßen… Ich kenne das Tool zwar von früher, habe es aber länger nicht verwendet. Ich finde es aber für viele Aufgaben ideal.

Was ist Syncthing?

Syncthing ist eine Open-Source-Software, die eine sichere, dezentrale Datei-Synchronisation ermöglicht. Sie ermöglicht es Benutzern, Daten über mehrere Geräte hinweg zu synchronisieren, ohne auf einen zentralen Server oder Cloud-Dienst angewiesen zu sein. Anstatt die Daten auf einem externen Server zu speichern, findet die Synchronisation direkt zwischen den Geräten statt, was die Privatsphäre und Sicherheit der Nutzerdaten erhöht.

Funktionsweise

Syncthing verwendet eine Peer-to-Peer-Architektur, bei der alle verbundenen Geräte als „Peers“ fungieren. Jeder Peer hat eine eindeutige ID, die es ihm ermöglicht, mit anderen Peers zu kommunizieren und Daten auszutauschen. Dateien werden verschlüsselt übertragen, um sicherzustellen, dass die Kommunikation zwischen den Geräten privat bleibt.
Auch Verzeichnisse bekommen eine eindeutige ID, da ja jeder einzelne Rechner (Peer) sich den Pfad und den Namen des Verzeichnisses frei belegen kann.

D.h. man lädt und installiert sich die Open-Source-Software von https://syncthing.net/downloads/ auf JEDEM Gerät herunter, öffnet die Weboberfläche des Programmes und tauscht die Geräte-IDs untereinander aus (per QR-Code oder in Text-Form und copy/paste).
Anschließend können die Verzeichnisse freigegeben und andere Geräte dazu eingeladen werden.
Dabei gibt es keine zentrale Instanz, sondern wenn man mag, kann jedes Gerät mit beliebigen Anderen (natürlich nur aus dem eigenen Zoo ;-)) direkt Daten austauschen.

Vorteile

  • Echtzeit-Synchronisation: Änderungen an Dateien werden sofort auf allen Geräten synchronisiert, sobald eine Verbindung besteht.
  • Verschlüsselung: Daten werden während der Übertragung verschlüsselt (TLS/SSL), was für eine hohe Sicherheit sorgt.
  • Plattformübergreifend: Syncthing ist auf verschiedenen Betriebssystemen wie Windows, Linux, docker, macOS und Android verfügbar.
  • Benutzerfreundlichkeit: Die Software bietet eine einfache Web-Oberfläche, über die Benutzer ihre Geräte verwalten und Synchronisationsaufträge überwachen können.
  • Offline-Funktionalität: Syncthing funktioniert auch ohne Internetverbindung, solange die Geräte im selben Netzwerk sind.
  • Keine Beschränkungen: Es gibt keine Speicher- oder Datentransferbeschränkungen, wie sie bei kommerziellen Cloud-Diensten üblich sind.

Prinzipiell ist Syncthing dazu gedacht, die Daten im lokalen Netzwerk auszutauschen. D.h. wenn man unterwegs an Daten arbeitet, so findet die Synchronisation erst statt, wenn man sich wieder im lokalen Netzkwerk befindet.
Wer will kann aber auch Vorkehrungen treffen, damit der Datenaustausch über das Internet laufen kann (bzw. darf). Das wird meist über einen verschlüsselten VPN-Kanal erfolgen. Bei unraid V7 ist das recht einfach mittels Tailscale zu bewerkstelligen.