Syncthing er en gratis applikation med open source og på tværs af platforme at tillader organisering af automatisk synkronisering af brugerfiler på flere enheder, løsning af problemer svarende til det proprietære BitTorrent Sync-system.
De synkroniserede data uploades ikke til skylagre, men snarereog replikere direkte mellem brugersystemer, når de vises samtidigt online ved hjælp af BEP-protokollen (Block Exchange Protocol), der er udviklet af projektet.
Syncthing-koden er skrevet på Go-sproget og distribueres under den gratis licens fra MPL. De forudbyggede builds er klar til Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD og Solaris.
Ud over at løse datasynkroniseringsproblemer mellem flere brugeres enheder er det med Syncthing muligt at oprette store decentrale netværk til at gemme delte data, der distribueres mellem deltagerens systemer.
Om synkronisering
Syncthing giver brugeren fleksible adgangskontroller og synkroniseringsundtagelser.
Det er muligt at definere værter, der kun modtager data, dvs. dataændringer på disse værter påvirker ikke datainstanser, der er gemt på andre systemer. Flere filversioneringsfunktioner understøttes, hvilket bevarer ældre versioner af ændrede data.
Under synkroniseringen er filen logisk opdelt i blokke, som er en udelelig del, når data overføres mellem brugersystemer.
Ved synkronisering med en ny enhed, hvis der er identiske blokke på flere enheder, kopieres blokkene fra forskellige noder, analogt med betjeningen af BitTorrent-systemet.
Jo flere enheder der deltager i synkroniseringen, jo hurtigere replikeres nye data på grund af parallelisering.
I processen med at synkronisere modificerede filer overføres kun de modificerede datablokke over netværket, og når navnet ændres eller adgangsrettighederne ændres, synkroniseres kun metadataene.
Datakanaler dannes ved hjælp af TLS, alle noder godkender hinanden ved hjælp af certifikater og enhedsidentifikatorer, SHA-256 bruges til integritetskontrol.
For at bestemme synkroniseringsknudepunkterne på det lokale netværk kan UPnP-protokollen bruges, hvilket ikke kræver manuel indtastning af IP-adresserne på de enheder, der synkroniseres.
Til systemkonfiguration og overvågning leveres en indbygget webgrænseflade, CLI-klient og Syncthing-GTK GUI, som også leverer styringsværktøjer til synkroniseringsnoder og arkiver.
For at forenkle søgningen efter Syncthing-noder udvikles en koordineringsserver til node-opdagelse, som et klar Docker-billede er forberedt til.
Om den stabile version af Syncthing
Efter fem år fra dannelsen af den første prøveversion blev den første stabile version af Syncthing 1.0.0-systemet forberedt.
Udgivelsen markerede projektets parathed til udbredt brug og stabilisering af protokollerne, som ikke ændres under 1.xx-grenen, hvilket krænker bagudkompatibilitet.
Projektet skiftede også til en ny nummereringsplan for udgivelser, der svarer til princippet om semantisk versionskontrol (xyz, hvor "x" ændres, når bagudkompatibilitet overtrædes, "y" indikerer betydelige funktionelle ændringer og "z" - korrigerende opdateringer).
Af de funktionelle ændringer, der er tilføjet siden den sidste eksperimentelle version, der er mulighed for at begrænse det maksimale antal samtidige datascanningsoperationer, der viser grænsen for dataoverførselshastighed konfigureret i GUI og muligheden for at se lokalt modificerede filer til synkroniserede mapper i kun datatilstand.
Sådan installeres Syncthing 1.0.0?
For dem, der er interesserede i at kunne installere denne applikation på deres system, de skal åbne en terminal og skrive følgende kommando i den
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Gjort dette nu, vi vil tilføje det stabile lager af applikationen til vores system med:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Endelig kan vi installere det med:
sudo apt-get update sudo apt-get install syncthing