Veröffentlichung des Systems zur automatischen Dateisynchronisierung , bei dem synchronisierte Daten nicht in Cloud-Speichern hochgeladen, sondern direkt zwischen den Benutzer-Systemen repliziert werden, wenn sie gleichzeitig online sind, unter Verwendung des vom Projekt entwickelten Protokolls BEP (Block Exchange Protocol). Der Code von Syncthing ist in Go geschrieben und unter der freien Lizenz MPL. Fertiggestellte Versionen sind für Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD und Solaris verfügbar.
Neben der Lösung von Aufgaben zur Datensynchronisierung zwischen mehreren Geräten eines Benutzers ermöglicht es Syncthing auch die Erstellung großer dezentralisierter Netzwerke zur Speicherung gemeinsamer Daten, die über die Systeme der Teilnehmer verteilt sind. Es werden flexible Mittel zur Zugriffskontrolle und zur Erstellung von Ausnahmen für die Synchronisierung bereitgestellt. Hosts können definiert werden, die nur Daten empfangen, d.h. Änderungen an diesen Hosts werden sich nicht auf die Instanzen der Daten auswirken, die auf anderen Systemen gespeichert sind. Es werden der Dateiversionierung unterstützt, bei denen frühere Versionen geänderter Daten gespeichert werden.
Bei der Synchronisation wird die Datei logisch in Blöcke unterteilt, die eine unteilbare Einheit beim Datenaustausch zwischen den Systemen des Nutzers darstellen. Wenn Sie auf ein neues Gerät synchronisieren, erfolgt das Kopieren von Blöcken von verschiedenen Knoten, falls identische Blöcke auf mehreren Geräten vorhanden sind, ähnlich wie beim BitTorrent-System.
Je mehr Geräte an der Synchronisation beteiligt sind, desto schneller wird die Replikation neuer Daten durch Parallelisierung. Während des Synchronisationsprozesses geänderter Dateien werden nur die veränderten Datenblöcke über das Netzwerk übertragen. Bei Umbenennungen oder Änderungen der Zugriffsrechte werden lediglich die Metadaten synchronisiert.
Die Datenübertragungskanäle werden über TLS eingerichtet, alle Knoten authentifizieren sich gegenseitig mittels Zertifikaten und Geräteidentifikatoren, zur Integritätsprüfung wird SHA-256 verwendet. Zur Bestimmung der Synchronisationsknoten im lokalen Netzwerk kann das UPnP-Protokoll verwendet werden, bei dem keine manuelle Eingabe der IP-Adressen der synchronisierten Geräte erforderlich ist. Für die Systemkonfiguration und Überwachung steht eine integrierte Weboberfläche zur Verfügung. und GUI , in dem zusätzliche Tools zur Verwaltung von Synchronisationsknoten und Repositories bereitgestellt werden. Zur Vereinfachung der Suche nach Syncthing-Knoten Koordinierungsserver zur Entdeckung von Knoten, der gestartet wird durch
ein fertiges Docker-Image.
In der neuen Version:
- ein neues Transportprotokoll, das auf Quick UDP Internet Connections (QUIC) basiert, mit Ergänzungen für die Durchleitung durch Network Address Translators (NAT). TCP wird nach wie vor als bevorzugtes Protokoll für Verbindungen empfohlen;
- Die Verarbeitung von kritischen Fehlern wurde verbessert und für die automatische Zusendung von Fehlerberichten an die Entwickler hinzugefügt. Das Senden von Berichten ist standardmäßig aktiviert, um es zu deaktivieren, nutzen Sie die spezielle Option. Es wird darauf hingewiesen, dass die Daten im Absturzbericht keine Dateinamen, Protokolldaten, Geräteeindeutungen, Statistiken oder andere persönliche Daten enthalten;
- Die Verwendung von kleinen und festen Blöcken (128 KiB) wurde als veraltet erklärt, beim Indizieren und Übertragen von Datei-Inhalten werden nun nur große Blöcke variabler Größe verwendet;
- Im Interface wird der letzte Verbindungsfehler für jede der definierten Adressen angezeigt;
- In der WebUI ist das Layout der Tabellenkategorien für die korrekte Anzeige auf schmalen Bildschirmen optimiert.
- Es wurden Änderungen vorgenommen, die die Kompatibilität beeinträchtigen. Die neue Version ist nicht kompatibel mit Hosts, die auf Syncthing 0.14.45 und älteren Versionen basieren.
Quelle: opennet.ru
