Syncthing

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Syncthing

Syncthing-Logo
Screenshot
Syncthing-Webinterface
Basisdaten

Hauptentwickler Jakob Borg et al.
Erscheinungsjahr 15. Dezember 2013
Aktuelle Version 1.27.6[1]
(9. April 2024)
Betriebssystem Linux, macOS, Microsoft Windows, Android, BSD, Solaris
Programmiersprache Go
Kategorie Dateisynchronisation
Lizenz MPL 2.0[2]
deutschsprachig ja
https://syncthing.net/

Syncthing ist eine quelloffene Dateisynchronisationssoftware auf Basis von Peer-to-Peer-Übertragungen. Es kann Dateien zwischen mehreren Geräten in einem lokalen Netzwerk oder über das Internet synchronisieren. Datenschutz und -sicherheit sind zentraler Bestandteil der Software. Die Software ist in Go geschrieben, der Quelltext wird über den Hosting-Dienst GitHub veröffentlicht.[3]

Syncthing basiert auf dem eigens für die Software entwickelten, ebenfalls quelloffenen Block Exchange Protocol.[4] Die Dateien werden ohne einen zentralen Server zwischen verschiedenen Geräten synchronisiert. Die Kommunikation ist mit Perfect Forward Secrecy gesichert, wobei jeder Knoten über ein Zertifikat identifiziert wird. Nur explizit autorisierte Knoten können sich mit dem Cluster verbinden. Für die Konfiguration und die Überwachung von Syncthing steht auf allen Plattformen eine Weboberfläche zur Verfügung. Es lassen sich beliebig viele Verzeichnisse synchronisieren. Pro Gerät kann dabei festgelegt werden, welche einzelnen Ordner geteilt werden sollen.[5] Zudem stehen Möglichkeiten zur Versionsverwaltung sowie unidirektionale Dateitransfers zur Verfügung.

Infrastruktur[Bearbeiten | Quelltext bearbeiten]

Die Gerätesuche erfolgt über Broadcast-Nachrichten im lokalen Netzwerk und über öffentlich zugängliche, von den Projektentwicklern gehostete Discovery-Server,[6] sowie durch die Gerätehistorie und statische Gerätenamen. Es gibt auch die Möglichkeit, eigene Discovery-Server zu betreiben, die neben oder als Ersatz für die öffentlichen Server verwendet werden können.[7]

Die Datenübertragung zwischen den Geräten erfolgt Ende-zu-Ende mit TLS verschlüsselt. Können die Geräte nicht direkt miteinander kommunizieren, erfolgt die Verbindung über Relay-Server, die ebenfalls von den Projektentwicklern gehostet werden. Auch hier ist die Kommunikation Ende-zu-Ende mit TLS verschlüsselt, so dass der Relay-Server nur die verschlüsselten Daten sehen kann. Private Relay-Server können auch eingerichtet und konfiguriert werden. Syncthing wechselt automatisch vom Relaying zu direkten Geräte-zu-Gerät-Verbindungen, wenn es erkennt, dass eine direkte Verbindung verfügbar ist.[8]

Die Anwendung kann ohne jegliche Verbindung zu den Projekt- oder Community-Servern verwendet werden,[9] da Programmaktualisierungen, die Bereitstellung von Nutzungsstatistiken, Discovery und Relaying unabhängig voneinander deaktiviert oder konfiguriert werden können.

Konfiguration und Management[Bearbeiten | Quelltext bearbeiten]

Die Konfiguration von Syncthing kann lokal oder entfernt über eine Weboberfläche, über die REST- und Events[10]-APIs oder mit einem der von der Community bereitgestellten Wrapper-Programme vorgenommen werden. Außerdem gibt es Docker-Images sowie Konfigurationsmanagement-Lösungen wie Puppet oder Ansible.[11]

Testberichte[Bearbeiten | Quelltext bearbeiten]

Die Webseite Golem.de veröffentlichte 2014 einen Test über Syncthing.[12]

In der c’t 8/2015 wurde ein Bericht über die Einrichtung und Benutzung von Syncthing veröffentlicht.[13] Der Bericht wurde in der Ausgabe 14/2021 aktualisiert, besonders bezüglich der Anwendung auf verschiedenen Plattformen (z. B. auch Raspberry Pi).[14]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. github.com. (abgerufen am 16. April 2024).
  2. LICENSE. In: GitHub. Abgerufen am 16. Juni 2015.
  3. Syncthing. In: GitHub. Abgerufen am 16. Juni 2015.
  4. Block Exchange Protocol v1. Abgerufen am 22. November 2017 (englisch).
  5. Syncthing. Abgerufen am 16. Juni 2015.
  6. Understanding Device IDs — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
  7. Syncthing Discovery Server — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
  8. Relaying — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
  9. Security Principles — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
  10. https://docs.syncthing.net/dev/events.html
  11. Community Contributions — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
  12. Jörg Thoma: Syncthing im Test. In: Golem.de. 16. Juli 2014, abgerufen am 16. Juni 2015.
  13. Liane M. Dubowy: Dateien synchronisieren mit Syncthing. In: c't Magazin. heise.de, 20. März 2015, abgerufen am 16. Juni 2015.
  14. Ding zum Sichern - Plattformunabhängiges Backup mit Syncthing. In: c't Magazin. Abgerufen am 25. Juni 2021.