De release van het open P2P-bestandssynchronisatiesysteem Syncthing 2.0

De release van het automatische bestandsynchronisatiesysteem Syncthing 2.0 is gepresenteerd, waarbij gesynchroniseerde gegevens niet in cloudopslag worden geüpload, maar rechtstreeks worden gerepliceerd tussen de systemen van de gebruiker wanneer ze tegelijkertijd online zijn, gebruikmakend van het door het project ontwikkelde BEP-protocol (Block Exchange Protocol). De code van Syncthing is geschreven in de programmeertaal Go en wordt verspreid onder de vrije MPL-licentie. Voltooide builds zijn beschikbaar voor Linux, Windows, macOS en FreeBSD.

Naast het oplossen van synchronisatieproblemen tussen meerdere apparaten van ƩƩn gebruiker, maakt Syncthing het mogelijk om grote gedecentraliseerde netwerken te creƫren voor het opslaan van gedeelde gegevens die zijn verspreid over de systemen van de deelnemers. Er zijn middelen beschikbaar voor toegang controle en het maken van uitzonderingen voor synchronisatie. Het is mogelijk om hosts te definiƫren die alleen gegevens ontvangen, d.w.z. wijzigingen op deze hosts worden niet weerspiegeld in de gegevensinstantie die op andere systemen is opgeslagen. Meerdere versiemodi voor bestanden worden ondersteund, waarbij eerdere versies van gewijzigde gegevens behouden blijven.

Bij synchronisatie wordt een bestand logisch opgesplitst in blokken die niet deelbaar zijn tijdens de gegevensoverdracht tussen de systemen van de gebruiker. Bij synchronisatie met een nieuw apparaat, als er identieke blokken op verschillende apparaten zijn, worden blokken gekopieerd vanaf verschillende knooppunten, vergelijkbaar met hoe het BitTorrent-systeem werkt. Hoe meer apparaten deelnemen aan de synchronisatie, hoe sneller de replicatie van nieuwe gegevens verloopt door parallelisatie. Tijdens het synchroniseren van gewijzigde bestanden worden alleen de gewijzigde gegevensblokken via het netwerk verzonden, en bij het hernoemen of wijzigen van toegangsrechten worden alleen de metadata gesynchroniseerd.

Datatransmissiekanalen worden gevormd met behulp van TLS, alle knooppunten authenticeren elkaar met certificaten en apparaat-ID's, en voor integriteitscontrole wordt SHA-256 gebruikt. Voor het identificeren van synchronisatieknopen in het lokale netwerk kan het UPnP-protocol worden gebruikt, waarbij handmatige invoer niet vereist is. IP-adressen gesynchroniseerde apparaten. Voor het instellen van het systeem en het monitoren is er een ingebouwde webinterface, CLI-client en GUI op basis van de GTK-bibliotheek, waarin tevens functies voor het beheren van synchronisatieknopen en repositories zijn opgenomen.

Belangrijke wijzigingen in de nieuwe tak:

  • De opslagbackend is overgezet van LevelDB naar SQLite. De gegevensmigratie gebeurt automatisch bij de eerste start na de update. Het gebruik van SQLite zou het onderhoud en de analyse van gegevens moeten vereenvoudigen, evenals het aantal fouten verminderen.
  • Het logformat is gewijzigd, en logboeken worden nu in een gestructureerd formaat aangemaakt (bericht + parameters in sleutel-waarde-indeling). Een nieuw logniveau — WARNING — is toegevoegd, dat minder gedetailleerd is dan INFO, maar meer informatie biedt in vergelijking met het niveau ERROR. Het is mogelijk om verschillende logniveaus aan verschillende pakketten toe te wijzen.
  • Voortdurende opslag van verwijderde elementen in de database is stopgezet; dergelijke elementen worden nu na 6 maanden verwijderd (de tijd kan worden gewijzigd via de optie ā€˜ā€”db-delete-retention-interval’).
  • De code voor het parseren van commandoregelopties is verbeterd en ondersteuning voor het verouderde formaat met ƩƩn minteken is stopgezet (bijvoorbeeld, in plaats van ā€˜-home’ moet ā€˜ā€”home’ worden opgegeven). Sommige opties zijn hernoemd of in de categorie subcommando's geplaatst.
  • De standaardmap wordt niet meer aangemaakt bij de eerste opstart.
  • Meerdere netwerkaansluitingen tussen apparaten die Syncthing 2.x gebruiken, zijn ingeschakeld. Standaard worden er drie verbindingen gemaakt: ƩƩn voor metadata-index en twee voor gegevensuitwisseling.
  • Het algoritme voor het oplossen van conflicten in het geval van bestandsverwijdering is gewijzigd.
  • Vanwege de complicaties van cross-compilatie bouwt SQLite geen kant-en-klare uitvoerbare bestanden meer voor de platforms dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm en windows/arm.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster