Lëshimi i sistemit të sinkronizimit automatik të skedareve Syncthing 2.0, ku të dhënat e sinkronizuara nuk ngarkohen në ruajtje cloud, por replikohen drejtpërdrejt ndërmjet sistemeve të përdoruesit kur ato shfaqen në online, duke përdorur protokollin BEP (Block Exchange Protocol) që po zhvillohet nga projekti. Kodi i Syncthing është shkruar në gjuhën Go dhe shpërndahet nën licencën e lirë MPL. Ndërtohen blloqe të gatshme për Linux, Windows, macOS dhe FreeBSD.
PĂ«rveç zgjidhjes sĂ« problemeve tĂ« sinkronizimit tĂ« tĂ« dhĂ«nave ndĂ«rmjet disa pajisjeve tĂ« njĂ« pĂ«rdoruesi, me ndihmĂ«n e Syncthing Ă«shtĂ« e mundur tĂ« krijohen rrjeta tĂ« mĂ«dha dekentralizuese pĂ«r ruajtjen e tĂ« dhĂ«nave tĂ« ndara, tĂ« cilat shpĂ«rndahen mes sistemeve tĂ« pjesĂ«marrĂ«sve. Ofrohen mjete pĂ«r kontrollin e aksesit dhe krijimin e pĂ«rjashtimeve pĂ«r sinkronizim. ĂshtĂ« e mundur tĂ« pĂ«rcaktohen hostet qĂ« do tĂ« pranojnĂ« vetĂ«m tĂ« dhĂ«na, domethĂ«nĂ«, ndryshimi i tĂ« dhĂ«nave nĂ« kĂ«to hoste nuk do tĂ« reflektohet nĂ« instancat e tĂ« dhĂ«nave tĂ« ruajtura nĂ« sisteme tĂ« tjera. MbĂ«shteten disa modulet e versionimit tĂ« skedarĂ«ve, ku ruhen versionet e kaluara tĂ« tĂ« dhĂ«nave tĂ« ndryshuara.
Gjatë sinkronizimit, skedari përfundimisht ndahet në blloqe, që janë të pa ndashme gjatë trasferimit të të dhënave ndërmjet sistemeve të përdoruesit. Kur sinkronizohet me një pajisje të re, në rast se ka blloqe identike në disa pajisje, kopjimi i blloqeve bëhet nga nodet e ndryshme, si në sistemin BitTorrent. Sa më shumë pajisje që marrin pjesë në sinkronizim, aq më shpejt do të kalojë replikimi i të dhënave të reja përmes paralelizimit. Në procesin e sinkronizimit të skedareve të ndryshuara, në rrjet dërgohen vetëm blloqet e ndryshuara të të dhënave, dhe kur emri ndryshohet ose ndryshojnë të drejtat e aksesit, sinkronizohen vetëm metadatet.
Kanalet e transmetimit të të dhënave formohen me ndihmën e TLS, të gjitha nodet e autentifikojnë njëri-tjetrin përmes certifikatave dhe identifikuesve të pajisjeve, ndërsa për kontrolle të integritetit përdoret SHA-256. Për të përcaktuar nodet e sinkronizimit në rrjetin lokal mund të përdoret protokolli UPnP, për të cilin nuk kërkohet hyrje manuale IP-adresat dispositive të sinkronizuara. Për konfigurimin e sistemit dhe monitorimin, është parashikuar një ndërfaqe web e integruar, klienti CLI dhe GUI mbi bazën e bibliotekës GTK, ku gjithashtu ofrohen mjete për menaxhimin e nyjeve të sinkronizimit dhe repozitoreve.
Ndryshimet kryesore në degën e re:
- Backend-i i ruajtjes është transferuar nga Baza e të Dhënave LevelDB në SQLite. Migrimi i të dhënave kryhet automatikisht gjatë nisjes së parë pas përditësimit. Përdorimi i SQLite pritet të thjeshtojë mbështetje dhe analizën e të dhënave, si dhe të reduktojë numrin e gabimeve.
- Formati i regjistrimeve është ndryshuar, tani ato krijohen në një format të strukturuar (mesazh + parametra në formatin çelës-vlerë). Një nivel i ri regjistrimi është shtuar - WARNING, i cili nuk është aq i detajuar sa INFO, por mbulon më shumë informacion në krahasim me nivelin ERROR. Ofron mundësinë për të caktuar nivele të ndryshme regjistrimi për paketa të ndryshme.
- Ruajtja e pĂ«rhershme e elementeve tĂ« fshira nĂ« DB Ă«shtĂ« ndalur, elementĂ« tĂ« tillĂ« tani fshihen pas 6 muajve (koha mund tĂ« ndryshohet pĂ«rmes opsionit "âdb-delete-retention-interval").
- Kodi pĂ«r analizĂ«n e opsioneve tĂ« linjĂ«s sĂ« komandĂ«s Ă«shtĂ« pĂ«rmirĂ«suar dhe mbĂ«shtetje pĂ«r formatin e vjetĂ«ruar me njĂ« çekan Ă«shtĂ« ndaluar (pra, nĂ« vend tĂ« "-home" duhet tĂ« tregoni "âhome"). Disa opsione janĂ« rinovuar ose pĂ«rkthyer nĂ« nĂ«nkomanda.
- Krijimi i katalogut të paracaktuar gjatë nisjes së parë është ndërprerë.
- ĂshtĂ« aktivizuar vendosja e disa lidhjeve rrjetĂ«sore midis pajisjeve qĂ« pĂ«rdorin Syncthing 2.x. PĂ«r default krijohen tre lidhje - njĂ« pĂ«r metadatat e indeksit dhe dy pĂ«r shkĂ«mbimin e tĂ« dhĂ«nave.
- Algoritmi i zgjidhjes së konflikteve në rastin e fshirjes së skedarëve është ndryshuar.
- Për shkak të sfidave në kros-kompilimin e SQLite, ndalohen ndërtimet e skedarëve ekzekutiv të gatshëm për platformat dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm dhe windows/arm.
Burimi: opennet.ru
