Syncthing je brezplačna, odprtokodna in večplastna aplikacija da omogoča organizacijo samodejne sinhronizacije uporabniških datotek na več napravah, reševanje problemov, podobnih lastniškemu sistemu BitTorrent Sync.
Sinhronizirani podatki se ne naložijo v shrambe v oblaku, pač pain se replicirajo neposredno med uporabniškimi sistemi, ko se pojavijo hkrati na spletu z uporabo protokola BEP (Block Exchange Protocol), ki ga je razvil projekt.
Koda Syncthing je napisana v jeziku Go in se distribuira pod brezplačno licenco MPL. Vnaprej izdelane gradnje so pripravljene za Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD in Solaris.
Poleg reševanja težav s sinhronizacijo podatkov med več uporabniškimi napravami je s sinhronizacijo mogoče ustvariti velika decentralizirana omrežja za shranjevanje skupnih podatkov, ki so razdeljeni med sisteme udeležencev.
O sinhronizaciji
Sinhronizacija uporabniku omogoča prilagodljiv nadzor dostopa in izjeme pri sinhronizaciji.
Možno je določiti gostitelje, ki bodo prejemali samo podatke, to pomeni, da spremembe podatkov na teh gostiteljih ne bodo vplivale na primerke podatkov, shranjene v drugih sistemih. Podprti so različni načini različic datotek, ki ohranjajo starejše različice spremenjenih podatkov.
Med sinhronizacijo je datoteka logično razdeljena na bloke, ki so nedeljiv del pri prenosu podatkov med uporabniškimi sistemi.
Če obstajajo enaki bloki na več napravah, se pri sinhronizaciji z novo napravo po analogiji z delovanjem sistema BitTorrent kopirajo iz različnih vozlišč.
Več naprav, ki sodeluje pri sinhronizaciji, hitrejše je kopiranje novih podatkov zaradi paralelizacije.
V procesu sinhronizacije spremenjenih datotek se po omrežju prenašajo le spremenjeni podatkovni bloki, ob spremembi imena ali spreminjanju pravic dostopa pa se sinhronizirajo samo metapodatki.
Podatkovni kanali se oblikujejo s pomočjo TLS, vsa vozlišča se med seboj overjajo s certifikati in identifikatorji naprav, za preverjanje integritete se uporablja SHA-256.
Za določitev sinhronizacijskih vozlišč v lokalnem omrežju lahko uporabimo protokol UPnP, ki ne zahteva ročnega vnosa naslovov IP naprav, ki se sinhronizirajo.
Za konfiguracijo in spremljanje sistema so na voljo vgrajeni spletni vmesnik, odjemalec CLI in Syncthing-GTK GUI, ki ponuja tudi orodja za upravljanje sinhronizacijskih vozlišč in repozitorijev.
Za poenostavitev iskanja vozlišč Syncthing se razvija strežnik za usklajevanje odkrivanja vozlišč, za katerega je pripravljena pripravljena slika Dockerja.
O stabilni različici Syncthinga
Po petih letih od nastanka prve poskusne različice je bila pripravljena prva stabilna različica sistema Syncthing 1.0.0.
V izdaji je bila zaznamovana pripravljenost projekta za široko uporabo in stabilizacijo protokolov, ki se ne bo spreminjal v podružnici 1.xx, kar krši združljivost za nazaj.
Projekt je prešel tudi na novo shemo oštevilčenja za izdaje, kar ustreza načelu semantičnega nadzora različic (xyz, kjer se "x" spremeni, če je kršena združljivost za nazaj, "y" označuje pomembne funkcionalne spremembe, "z" - korektivne posodobitve).
Od funkcionalnih sprememb, dodanih od zadnje poskusne različice, obstaja možnost omejitve največjega števila hkratnih postopkov skeniranja podatkov, ki prikazuje omejitev hitrosti prenosa podatkov, konfigurirano v GUI, in možnost ogleda lokalno spremenjenih datotek za sinhronizirane imenike v načinu samo za podatke.
Kako namestiti Syncthing 1.0.0?
Za tiste, ki jih zanima namestitev te aplikacije v njihov sistem, odpreti morajo terminal in vanj vtipkati naslednji ukaz
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Ko to storite zdaj, bomo v naš sistem dodali stabilno repozitorij aplikacije z:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Končno ga lahko namestimo z:
sudo apt-get update sudo apt-get install syncthing