A Syncthing egy ingyenes, nyílt forráskódú és platformokon átívelő alkalmazás hogy lehetővé teszi a felhasználói fájlok automatikus szinkronizálását több eszközön, a saját BitTorrent Sync rendszerhez hasonló problémák megoldása.
A szinkronizált adatokat nem a felhőtárolók töltik fel, hanem inkábbés közvetlenül replikálódnak a felhasználói rendszerek között, ha egyszerre jelennek meg online a projekt által kifejlesztett BEP (Block Exchange Protocol) protokoll segítségével.
A szinkronizálási kódot a Go nyelven írják, és az MP ingyenes licencével terjesztikL. Az előre felépített verziók készen állnak a Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD és Solaris használatára.
A felhasználó több eszköze közötti adatszinkronizálási problémák megoldása mellett a Syncthing segítségével nagy decentralizált hálózatokat lehet létrehozni a résztvevők rendszerei között elosztott megosztott adatok tárolására.
A szinkronizálásról
A szinkronizálás rugalmas hozzáférés-vezérlést és szinkronizálási kivételeket biztosít a felhasználó számára.
Lehetőség van olyan gazdagépek meghatározására, amelyek csak adatokat fogadnak, vagyis ezeken a gazdagépeken végrehajtott adatváltozások nem befolyásolják a más rendszereken tárolt adatpéldányokat. Több fájlverziós mód támogatott, megőrizve a megváltozott adatok régebbi verzióit.
A szinkronizálás során a fájl logikusan blokkokra oszlik, amelyek oszthatatlan részét képezik az adatok felhasználói rendszerek közötti átvitelénél.
Ha új eszközzel szinkronizál, ha több eszközön azonos blokkok vannak, akkor a blokkokat a BitTorrent rendszer működésével analóg módon más csomópontokról másolják.
Minél több eszköz vesz részt a szinkronizálásban, annál gyorsabb az új adatok replikálása a párhuzamosítás miatt.
A módosított fájlok szinkronizálása során csak a módosított adattömbök kerülnek továbbításra a hálózaton keresztül, a név vagy a hozzáférési jogok megváltoztatásakor pedig csak a metaadatok szinkronizálódnak.
Az adatcsatornákat a TLS segítségével alakítják ki, minden csomópont hitelesíti egymást tanúsítványok és eszközazonosítók segítségével, az integritás ellenőrzésére az SHA-256-ot használják.
A helyi hálózat szinkronizációs csomópontjainak meghatározásához az UPnP protokoll használható, amely nem igényli a szinkronizáló eszközök IP-címeinek kézi megadását.
A rendszerkonfiguráláshoz és felügyelethez beépített webes felület, CLI kliens és Syncthing-GTK GUI biztosított, amely kezelési eszközöket is biztosít a szinkronizálási csomópontok és adattárak számára.
A szinkronizáló csomópontok keresésének egyszerűsítése érdekében egy csomópont-felderítés koordinációs kiszolgálót fejlesztenek, amelyhez kész Docker-képet készítettek.
A Syncthing stabil verziójáról
Az első próbaverzió megalkotása óta eltelt öt év után elkészült a Syncthing 1.0.0 rendszer első stabil változata.
A kiadás jelezte a projekt készségét a protokollok széleskörű használatára és stabilizálására, amelyet az 1.xx ág alatt nem változtatnak meg, ami sérti a visszamenőleges kompatibilitást.
A projekt a kiadások új számozási rendszerére is átállt, amely megfelel a szemantikus verziószabályozás elvének (xyz, ahol az "x" megváltozik, ha a kompatibilitás megsértése megtörtént, az "y" jelentős funkcionális változásokat és "z" - korrekciós frissítéseket jelöl).
A legutóbbi kísérleti verzió óta hozzáadott funkcionális változások közül lehetőség van az egyidejű adatátvizsgálási műveletek maximális számának korlátozására, bemutatva a grafikus felhasználói felületen konfigurált adatátviteli sebesség korlátot és a helyileg módosított fájlok megtekintését a szinkronizált könyvtárakhoz csak adat módban.
A Syncthing 1.0.0 telepítése
Azok számára, akik szeretnék telepíteni ezt az alkalmazást a rendszerükre, meg kell nyitniuk egy terminált, és be kell írniuk a következő parancsot
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Ha ezt megtette, akkor hozzáadjuk az alkalmazás stabil tárházát a rendszerünkhöz:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Végül telepíthetjük:
sudo apt-get update sudo apt-get install syncthing