Lansarea sistemului P2P deschis pentru sincronizarea fișierelor Syncthing 2.0

A fost lansată versiunea 2.0 a sistemului de sincronizare automată a fișierelor Syncthing, în care datele sincronizate nu sunt încărcate în stocări cloud, ci sunt replicat direct între sistemele utilizatorului atunci când acestea sunt online simultan, folosind protocolul BEP (Block Exchange Protocol) dezvoltat de proiect. Codul Syncthing este scris în limbajul Go și este distribuit sub licența liberă MPL. Versiuni pregătite sunt disponibile pentru Linux, Windows, macOS și FreeBSD.

Pe lângă rezolvarea problemelor de sincronizare a datelor între mai multe dispozitive ale aceluiași utilizator, Syncthing permite crearea de mari rețele descentralizate pentru stocarea datelor partajate, care sunt distribuite între sistemele participanților. Se oferă instrumente de control al accesului și de creare a excepțiilor pentru sincronizare. Este posibil să definești gazde care vor primi doar date, astfel că modificările de date pe aceste gazde nu vor fi reflectate în instanțele de date stocate pe alte sisteme. Sunt acceptate mai multe moduri de versionare a fișierelor, în care versiunile anterioare ale datelor modificate sunt păstrate.

În timpul sincronizării, fișierul este logic împărțit în blocuri, care sunt indivizibile în timpul transmiterii de date între sistemele utilizatorului. Atunci când se sincronizează pe un nou dispozitiv, în cazul în care există blocuri identice pe mai multe dispozitive, copierea blocurilor se face din noduri diferite, similar cu funcționarea sistemului BitTorrent. Cu cât mai multe dispozitive participă la sincronizare, cu atât mai repede va avea loc replicarea noilor date datorită paralelizării. În procesul de sincronizare a fișierelor modificate, doar blocurile de date schimbate sunt transmise prin rețea, iar în caz de redenumire sau modificare a drepturilor de acces, se sincronizează doar metadatele.

Canalele de transmisie a datelor sunt formate prin intermediul TLS, iar toate nodurile se autentifică reciproc prin certificate și identificatori de dispozitive, iar pentru controlul integrității se utilizează SHA-256. Pentru a determina nodurile de sincronizare în rețeaua locală, poate fi utilizat protocolul UPnP, care nu necesită introducerea manuală. adreselor IP dispozitive sincronizate. Pentru configurarea sistemului și monitorizarea acestuia, este disponibil un web-interfață integrat, un client CLI și un GUI bazat pe biblioteca GTK, care oferă în plus instrumente pentru gestionarea nodurilor de sincronizare și a repository-urilor.

Schimbări cheie în noua ramură:

  • Backend-ul de stocare a fost migrat de la baza de date LevelDB la SQLite. Migrarea datelor se realizează automat la prima pornire după actualizare. Se preconizează că utilizarea SQLite va simplifica întreținerea și analiza datelor, precum și va reduce numărul de erori.
  • Formatul de înregistrare a logurilor a fost modificat, acestea fiind acum generate într-o formă structurată (mesaj + parametrii în format cheie-valoare). A fost adăugat un nou nivel de loguri — WARNING, care nu este la fel de detaliat ca INFO, dar oferă mai multe informații comparativ cu nivelul ERROR. Oferită posibilitatea de a aloca diferite niveluri de loguri unor pachete diferite.
  • S-a oprit păstrarea eternă a elementelor șterse în baza de date, elementele respective fiind acum șterse după 6 luni (timpul poate fi modificat prin opțiunea „—db-delete-retention-interval”).
  • Codul pentru analiza opțiunilor din linia de comandă a fost îmbunătățit și s-a oprit suportul pentru formatul învechit cu un singur semn minus (adică, în loc de „-home” trebuie folosit „—home”). Unele opțiuni au fost redenumite sau mutate în subcomenzi.
  • Crearea unui director implicit la prima pornire a fost oprită.
  • S-a activat instalarea mai multor conexiuni de rețea între dispozitive care folosesc Syncthing 2.x. În mod implicit, sunt create trei conexiuni — una pentru metadatele indexului și două pentru schimbul de date.
  • Algoritmul de rezolvare a conflictelor în situația ștergerii fișierelor a fost modificat.
  • Din cauza dificultăților de cross-compilare SQLite, s-a oprit compilarea fișierelor executabile gata pentru platformele dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm și windows/arm.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster