Veröffentlichung des offenen P2P-Dateisynchronisierungssystems Syncthing 2.0

Die Version 2.0 des Datei-Synchronisierungssystems Syncthing wurde vorgestellt, bei dem die synchronisierten Daten nicht in Cloud-Speichern hochgeladen, sondern direkt zwischen den Systemen des Benutzers repliziert werden, wenn diese gleichzeitig online sind, unter Verwendung des fĂŒr das Projekt entwickelten Protokolls BEP (Block Exchange Protocol). Der Code von Syncthing ist in Go geschrieben und wird unter der freien MPL-Lizenz verbreitet. Fertige Builds sind fĂŒr Linux, Windows, macOS und FreeBSD verfĂŒgbar.

Neben der Lösung von Synchronisierungsproblemen zwischen mehreren GerĂ€ten eines Benutzers ermöglicht es Syncthing auch, große dezentrale Netzwerke zur Speicherung gemeinsamer Daten zu schaffen, die ĂŒber die Systeme der Teilnehmer verteilt sind. Es werden Zugriffssteuerungs- und Ausnahmefunktionen zur Synchronisierung bereitgestellt. Es kann definiert werden, welche Hosts nur Daten empfangen, d.h. Änderungen an diesen Hosts werden nicht auf die Dateninstanzen reflektiert, die auf anderen Systemen gespeichert sind. Mehrere Dateiversionierungsmodi werden unterstĂŒtzt, bei denen frĂŒhere Versionen geĂ€nderter Daten aufbewahrt werden.

Beim Synchronisieren wird die Datei logisch in Blöcke unterteilt, die bei der DatenĂŒbertragung zwischen den Benutzer-Systemen nicht teilbar sind. Bei der Synchronisierung auf ein neues GerĂ€t erfolgt die Kopie der Blöcke von verschiedenen Knoten, wenn identische Blöcke auf mehreren GerĂ€ten vorhanden sind, Ă€hnlich wie bei der Funktionsweise des BitTorrent-Systems. Je mehr GerĂ€te an der Synchronisation beteiligt sind, desto schneller wird die Replikation neuer Daten durch Parallelisierung durchgefĂŒhrt. WĂ€hrend der Synchronisation von geĂ€nderten Dateien werden nur die geĂ€nderten Datenblöcke ĂŒber das Netzwerk ĂŒbertragen, und bei der Umbenennung oder Änderung der Zugriffsrechte werden nur die Metadaten synchronisiert.

Die ÜbertragungskanĂ€le werden ĂŒber TLS eingerichtet, wobei sich alle Knoten gegenseitig ĂŒber Zertifikate und GerĂ€te-IDs authentifizieren. FĂŒr die ÜberprĂŒfung der IntegritĂ€t wird SHA-256 verwendet. Zur Identifizierung der Synchronisationsknoten im lokalen Netzwerk kann das UPnP-Protokoll eingesetzt werden, bei dem keine manuelle Eingabe erforderlich ist. IP-Adressen synchronisierender GerĂ€te. Zur Konfiguration des Systems und zur Überwachung gibt es eine integrierte Web-OberflĂ€che, einen CLI-Client und eine GUI auf Basis der GTK-Bibliothek, die zusĂ€tzlich Kontrollwerkzeuge fĂŒr Synchronisationsknoten und Repositories bereitstellt.

Wesentliche Änderungen im neuen Branch:

  • Der SpeicherrĂŒckend wurde von der LevelDB-Datenbank auf SQLite umgestellt. Die Datenmigration erfolgt automatisch beim ersten Start nach dem Update. Es wird davon ausgegangen, dass die Nutzung von SQLite die Wartung und Analyse der Daten vereinfacht und die Anzahl der Fehler reduziert.
  • Das Format der Protokolle wurde geĂ€ndert, die jetzt in strukturiertem Format (Nachricht + Parameter im SchlĂŒssel-Wert-Format) erstellt werden. Ein neuer Protokolllevel — WARNING — wurde hinzugefĂŒgt, der weniger detailliert ist als INFO, aber mehr Informationen bietet als der ERROR-Level. Es wurde die Möglichkeit eingefĂŒhrt, verschiedenen Paketen unterschiedliche Protokollebene zuzuweisen.
  • Die ewige Speicherung gelöschter Elemente in der Datenbank wurde eingestellt; solche Elemente werden nun nach 6 Monaten gelöscht (die Zeit kann ĂŒber die Option „—db-delete-retention-interval“ geĂ€ndert werden).
  • Der Code zur Analyse der Befehlszeilenoptionen wurde verbessert, und die UnterstĂŒtzung des veralteten Formats mit einem Bindestrich wurde eingestellt (d.h., anstelle von „-home“ sollte „—home“ angegeben werden). Einige Optionen wurden umbenannt oder in Unterbefehle umgewandelt.
  • Die Erstellung des Standardverzeichnisses beim ersten Start wurde eingestellt.
  • Es wurde eine Installation mehrerer Netzwerkverbindungen zwischen GerĂ€ten, die Syncthing 2.x verwenden, aktiviert. StandardmĂ€ĂŸig werden drei Verbindungen erstellt – eine fĂŒr die Metadatenindizierung und zwei fĂŒr den Datenaustausch.
  • Der Algorithmus zur Konfliktlösung bei Dateilöschungen wurde geĂ€ndert.
  • Aufgrund von Schwierigkeiten bei der Kreuzkompilierung wird die Erstellung ausfĂŒhrbarer Dateien fĂŒr die Plattformen dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm und windows/arm eingestellt.

Quelle: opennet.ru

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster