Danes so oblačne shrambe večinoma komercialne, saj so tehnološki giganti ugotovili, da je to odlična molzna krava, uporabnikom pa prav tako ustreza enostavna sinhronizacija v ezoterični, povsod dostopni oblak. A gre tudi drugače. Brezplačna rešitev za lastni oblak, ki ga sestavljajo vse naše naprave, omogoča varno in sorazmerno enostavno sinhronizacijo brez vpletanja multinacionalk.

Uporabniški vmesnik je asketski, a poln funkcionalnosti.
Deljenje datotek je bilo poleg komunikacije ves čas eden izmed ključnih ciljev povezovanja računalnikov, zato ni presenetljivo, da smo v zgodovini videli že precej različnih načinov tega početja. Od prvih BBS in neposrednega deljenja v 80. letih so v 90. letih preteklega stoletja postale popularne novičarske skupine (Usenet), ki so jim sledili strežniki FTP in nato kar gostovanje na spletnih straneh. Priponke v elektronski pošti, dasiravno si marsikdo še danes tako shrani kakšen pomemben dokument, niso bile nikoli namenjene večjemu ali rednemu deljenju datotek, pa smo to do nedavna še vsi počeli.
V preteklem desetletju ali dveh so obzorje prekrili oblaki – kako poetičen in večpomenski opis modernega sveta, kajne –, ki so jih vzpostavili komercialni ponudniki. Dropbox, Google, Microsoft, Apple, Amazon in številni drugi so ugotovili, da želijo ljudje shranjevati svoje datoteke na mesta, kjer bodo dostopne od koderkoli. Glavna načina uporabe sta torej dva: datoteke lahko sinhroniziramo med več napravami, ki jih uporabljamo in obenem vzpostavimo še eno plast varnostnih kopij (ki nas še zdaleč ne ščiti pred vsemi nevarnostmi), ali pa posameznim mapam v oblaku omogočimo dostop s poljubne naprave, če se prijavimo v storitev prek spleta.
Glavna prednost teh centraliziranih oblakov je prav centraliziranost, saj so datoteke dostopne vedno in povsod, četudi so vse naše naprave nedosegljive. A to v resnici pomeni le, da so datoteke shranjene tudi pri ponudniku oblaka, kar ni nikoli zastonj (razen v simboličnih količinah, denimo 5 GB v Microsoftovem OneDrivu), obenem pa pogosto tudi ni varno, če ima kopijo šifrirnega ključa tudi ponudnik (Apple iCloud je šifriran brez Applovega poznavanja ključa).
Svoj oblak
Postavili pa bi si lahko svoj, resnično decentralizirani oblak, ki bi sinhroniziral mape in datoteke med več našimi napravami. Ker tak oblak nima centralne avtoritete, podatki niso nikjer centralno shranjeni in venomer dostopni, temveč so na voljo, ko so v oblak pridružene naprave povezane z internetom. Takšno rešitev nudi odprtokodni in brezplačni program Syncthing, ki ga je Jakob Borg začel razvijati pred dobrim desetletjem, decembra 2013 pa je ugledal prvo javno dostopno inačico.
Danes je Syncthing že uveljavljena rešitev. Leta 2017 je imel dobrih 30 tisoč aktivnih uporabnikov, danes jih ima gotovo več. Danes je v Syncthing povezanih 228.000 naprav, ki to javno razkrivajo (reporting). Uporabnikov je torej, če res približno ocenimo, nekaj sto tisoč.
Med računalniki - Pairdrop
Vsakdo, ki se je že znašel pred problemom hitrega prenašanja datotek med različnimi napravami, denimo med računalnikom z Windows, telefonom z Androidom in prenosnikom MacBook Pro, je zavidal Applovemu ekosistemu. AirDrop deluje hitro, enostavno in brezšivno, medtem ko moramo v heterogenem ekosistemu uporabljati katerega od oblakov (Dropbox) ali Syncthingov, kar tudi ni najbolj brezšivna rešitev. Datoteke je treba naložiti v deljeno mapo in počakati na sinhronizacijo, včasih si kdo datoteke celo pošlje po elektronski pošti.
A rešitev v resnici obstaja in se imenuje – kako domiselno – Pairdrop. Deluje med napravami, ki so povezane v isto omrežje. Pairdropa sploh ni treba namestiti, temveč preprosto obiščemo spletno stran pairdrop.net. Naprave, ki so na istem Wi-Fi, bomo zagledali na stilizirani radarski sliki. Datoteke med njimi prenašamo preprosto tako, da jih vlečemo sem in tja. Četudi naprave niso na istem omrežju, denimo računalnik na žični povezavi in telefon na mobilnem omrežju, jih lahko z enkratnim geslom postavimo v isto sobo.
Za telefone obstaja tudi aplikacija, ki izkušnjo še olajša, saj bi morali pri uporabi v brskalniku iskati datoteke v nepregledni drevesni strukturi datotečnega sistema na pametnem telefonu. Uporaba aplikacije pa omogoči deljenje neposredno v meniju (Share Menu). In nenadoma dobimo »AirDrop«, pardon Pairdrop, ki deluje po vsem kraljestvu naših naprav.
Pod pokrovom uporablja lokalni prenos P2P (peer to peer) prek tehnologije WebRTC. Ta omogoča vzpostavitev neposredne povezave med napravami v okviru istega omrežja Wi-Fi, s čimer občutljive datoteke nikoli ne zapustijo zavetja našega doma. Druga prednost hišne sinhronizacije je hitrost, ki je za velikostni razred ali dva večja od uporabe Dropboxa.

Pairdrop.png Pairdrop omogoča takojšnje deljenje datotek med različnimi napravami, podobno kot AirDrop.
Na prvi pogled je Syncthing kar nekoliko strašljiv. Že na domači strani nima enega samega velika gumba Download, od koder bi prenesli različico za svoj operacijski sistem. A z malo truda najdemo predpripravljeni paket SyncTrayzor za Windows in komplet za macOS, medtem ko od uporabnikova Linux in drugih sistemov pričakujemo več znanja pri nameščanju paketkov. Obstajajo tudi neuradne različice (fork), kot sta Syncthing-Fork in Syncthing-Lite za Android ter Möbius Sync za iphone in ipad.
O uporabniški izkušnji v resnici kaj slabega ne gre povedati. Syncthing teče v ozadju kot servis, do nastavitev katerega lahko pridemo kar v brskalniku na lokalnem IP 127.0.0.1 ali v omenjenem SyncTrayzorju. Za uporabo ne potrebujemo nobenega uporabniškega imena ali profila. Vsaka namestitev dobi svoj unikatni ID iz 56 alfanumeričnih znakov, lahko pa mu za lastno rabo seveda damo še krajše ime. V nastavitvah potem nastavimo, katere mape želimo sinhronizirati, kakšen način beleženja različic bi uporabljali, izjeme pri sinhronizaciji in cel kup naprednih nastavitev (osveževanje, vrstni red prenosa, prenos pravic datotek itd.). Naprednih nastavitev je res veliko, od smeri sinhronizacije, ki je lahko obojesmerna ali enosmerna, do minimalne količine prostega prostora na disku.
Pozorni bralci boste zastrigli z ušesi, kako neki se naprave najdejo, če vpišemo le identifikacijsko oznako, ki jo ustvari Syncthing. Na istem omrežju je to preprosto z multicast sporočili. V širšem internetu pa to omogočajo strežniki za odkrivanje (discovery servers), kamor naprave redno pošiljajo informacijo, na katerem naslovu IP so dosegljive. To je edini del omrežja, ki bi ga lahko označili kot centraliziranega, a nekako se morajo naprave pač najti. Teh strežnikov je več, postavimo pa lahko tudi svoje. Prek strežnikov za odkrivanje se ne pretaka vsebina, le podatki za identifikacijo. To je ključno, saj jim sploh ni treba zaupati, ker ne vedo nič, kar bi nam lahko škodovalo.
Uporaba
Ko v nadzorni plošči (Dashboard) dodamo vse mape za sinhronizacijo, se seveda ne zgodi nič. Šele ko Syncthing aktiviramo na drugem računalniku in ga povežemo s prvim, bo sinhronizacija stekla. To storimo z vpisom 56-znakovnega ID in izbiro mape, za katero želimo sinhronizacijo. Nato na drugi napravi potrdimo sinhronizacijo. Syncthing omogoča tudi nastavljanje gesel oziroma ključev, če želimo dostop dodatno zavarovati oziroma omejiti.
V naš oblak lahko dodamo poljubno število naprav, potem pa izberemo različne kombinacije sinhronizacije. Ni nujno, da se na vse sinhronizirajo iste mape, niti ni nujno, da se sinhronizirajo v celoti. Če pa vključimo različice (versioning), se shranjujejo tudi starejše različice datotek, kolikor imamo pač prostora.
Glavna prednost Syncthinga je njegova robustnost. Deluje tudi, če internetna povezava odpove (tedaj morajo biti seveda na istem internem omrežju oziroma Wi-Fi), ves prenos podatkov pa je šifriran s TLS. Dogaja se povsem decentralizirano, zato bo deloval, dokler bo dosegljiva vsaj ena naprava s kopijo podatkov.
Alternativa - LocalSend
Drugi način za hipni prenos podatkov med napravami je LocalSend, ki na neki način deluje kot zrcalna slika Pairdropa. LocalSend zahteva aplikacijo in ne potrebuje strežnika, Pairdrop potrebuje spletni strežnik (ne našega), ne pa aplikacije.
LocalSend je samostojna aplikacija, ki jo je treba namestiti in nastaviti, a po drugi strani lahko deluje povsem brez povezave z internetom znotraj lokalnega omrežja, zato morajo biti naprave na istem omrežju. Pairdrop potrebuje internet, dasiravno datotek ne pošilja po internetu.
Na uporabo LocalSenda je torej treba pomisliti vnaprej, saj ga je treba namestiti na vse naprave, potem pa lahko teče v ozadju in tiho sprejema ukaze za deljenje datotek. Podpira platforme Windows, macOS, Linux, Android in iOS. Ker je aplikacija odprtokodna in brezplačna, ji načelno lahko zaupamo. Ker se v sistem namesti, pa je stopnja integracije načeloma višja. Tako se lahko v Windows ugnezdi v desni meni, podpira kopiraj/prilepi in tako naprej.
Ali povedano drugače: PairDrop je za redkejše in enostavnejše deljenje datotek tudi med različnimi ljudmi, LocalSend pa je naš osebni sistem hitre sinhronizacije.
Syncthing je v primerjavi z Dropboxom in drugimi komercialnimi oblaki kompleksnejši, ker nima ene same čarobne mape, ki se sinhronizira povsod. Aktivno moramo razmišljati o topologiji, katere naprave bodo sinhronizirale katere mape, v katero smer in s kakšnimi izjemami. Ko ta način razmišljanja usvojimo in postavimo želeno strukturo, so prednosti neizmerne.
Čeprav Syncthing primarno uporablja neposredni prenos podatkov, torej P2P, to vedno ni mogoče. Številni sistemi so za usmerjevalniki in požarnimi zidovi, nivojev preprek je lahko več. Da se naprave vendarle »zagledajo«, služijo posredniški (relay) strežniki, ki jih nudi skupnost. Ti so dostopni na internetu in posredujejo promet, ki pa je tudi v tranzitu šifriran. Tak prenos je počasnejši od neposrednega, ni pa nič manj varen.

SyncTrayzor je grafični vmesnik za Windows in omogoča enostaven dostop do servisa, ki teče v ozadju.
Syncthing je mogoče uporabljati tudi z nekaterimi NAS. V popularne naprave Synology lahko Syncthing namestimo prek Package Centra ali Dockerja. Postopek ni enostaven in je pri vsaki različici nekoliko drugačen, še posebej za druge proizvajalce NAS, a tehnično bolj vešči bralci bodo to zmogli.
Poskusite!
Syncthing sodi med programe, za katere ni utemeljenega razloga, da jih ne bi imeli. Resda odpira novo ploskev oziroma vektor potencialnega napada, kot jih vsak program, ki komunicira z internetom, a kot odprtokodni program z močnim šifriranjem je najbliže varnosti, kot je to pač mogoče. Tudi posredniški strežniki (relay) in strežniki za odkrivanje (discovery) niso varnostno tveganje, ker ne poznajo ne ključev za odšifriranje podatkov niti vsebine, ki se pretaka. Četudi bi bili zlonamerni, to ne zlomi varnosti. Syncthing je trenutno najboljša in najcenejša rešitev za izdelavo lastnega »oblaka«, česar pa seveda ne smemo zamenjevati z varnostnim kopiranjem.
Sinhronizacija datotek je lahko en vidik, ne more pa biti celota, četudi uporabimo enosmerno sinhronizacijo (receive only), ki je že bliže nekakšnemu pol backupu. Po drugi strani pa je Syncthing odlična rešitev, če imate terabajte in terabajte podatkov, za katere so OneDrive, Dropbox ali iCloud preprosto predragi, hkrati pa več računalnikov.
Syncthing
program za sinhronizacijo datotek med računalniki
Kje: syncthing.net
Podpira: Windows, macOS, Linux, FreeBSD, OpenBSD, illumos
Cena: brezplačen (odprtokoden)
+ Brezplačnost, varnost, hitrost, prilagodljivost, slovenščina.
– Kompleksnost, nepreglednost, krivulja učenja.