Syncthing
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 | |
---|---|
Syncthing-Webinterface | |
Basisdaten | |
Maintainer | Jakob Borg et al. |
Erscheinungsjahr | 15. Dezember 2013 |
Aktuelle Version | 1.19.0[1] (2. Februar 2022) |
Betriebssystem | Linux, macOS, Microsoft Windows, Android, BSD, Solaris |
Programmiersprache | Go |
Kategorie | Dateisynchronisation |
Lizenz | MPL 2.0[2] |
deutschsprachig | ja |
https://syncthing.net/ |
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
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 statischen 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
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
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
- Offizielle Website
- Offizielle Dokumentation (englisch)
- Quellcode bei GitHub
- Offizielles Syncthing-Forum (englisch)
Einzelnachweise
- 1.19.0. (abgerufen am 20. Februar 2022).
- LICENSE. In: GitHub. Abgerufen am 16. Juni 2015.
- Syncthing. In: GitHub. Abgerufen am 16. Juni 2015.
- Block Exchange Protocol v1. Abgerufen am 22. November 2017 (englisch).
- Syncthing. Abgerufen am 16. Juni 2015.
- Understanding Device IDs — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
- Syncthing Discovery Server — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
- Relaying — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
- Security Principles — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
- https://docs.syncthing.net/dev/events.html
- Community Contributions — Syncthing v0.14 documentation. In: Docs.syncthing.net. Abgerufen am 29. Juni 2017.
- Jörg Thoma: Syncthing im Test. In: Golem.de. 16. Juli 2014. Abgerufen am 16. Juni 2015.
- Liane M. Dubowy: Dateien synchronisieren mit Syncthing. In: c't Magazin. heise.de, 20. März 2015, abgerufen am 16. Juni 2015.
- Ding zum Sichern - Plattformunabhängiges Backup mit Syncthing. In: c't Magazin. Abgerufen am 25. Juni 2021.