Sokszor érzem úgy, hogy a felhőalapú adattárolás valójában egy gigantikus, digitális hullahegy, ahol az adataink felett nem mi, hanem valaki más rendelkezik. Amikor a net elszáll, vagy a szerverek gazdái úgy döntenek, hogy egy szolgáltatás már nem elég jövedelmező, az információk egyszerűen köddé válnak. Ezért kezdtem el kísérletezni a lokális, offline hálózatokkal, így született meg a gondolat a cikk címében is szereplő A digitális hullahegyektől a selyemútig: Hogyan építs saját, lokális, cenzúramentes „Dark Web” fájlszervert LoRa-modulok és ESP32 segítségével?
Nem mérnöki diplomát igénylő mágiáról van szó, hanem arról a szabadságról, amit a saját infrastruktúra birtoklása ad. Képzeld el, hogy a szomszédok vagy a baráti köröd között egy olyan privát hálózaton küldesz át fájlokat, amibe senki sem tud belekontárkodni.
Az ESP32 a hobbiprojektek svájci bicskája. Olcsó, van benne Wi-Fi és Bluetooth, és elég erős ahhoz, hogy kisebb fájlrendszereket kezeljen. A LoRa, azaz a Long Range technológia pedig a titkos fegyverünk. Nem a nagy sávszélességre utazunk, hanem a hatótávra és az ellenállóképességre.
Egy átlagos router hatóköre pár falon át tart, a LoRa viszont nyílt terepen kilométerekben mérhető. Persze nem ezen fogsz 4K-s filmeket streamelni, de szöveges dokumentumok, képek vagy szoftverfrissítések csendes, zavartalan továbbítására tökéletes.
A rendszer lényege a decentralizáció. Amikor több ilyen eszközt szórsz szét, egy úgynevezett mesh hálózatot hozol létre. A fájlok nem egyetlen központi szerveren csücsülnek, hanem a csomópontok között vándorolnak. Ha egy egység kiesik, a többiek átveszik a szerepét.
Mielőtt belevágnál a forrasztásba, érdemes összeírni a bevásárlólistát. Nem kell vagyonokat költened, pár ezer forintos modulokról beszélünk.
Minden komponens könnyen beszerezhető, és a legtöbb webshopban raktáron van. A lényeg, hogy az ESP32 és a LoRa modulok kommunikációjához szükséges lábakat helyesen kösd be a kísérleti panelen.
A programozásnál az Arduino IDE vagy a PlatformIO környezetet javaslom. A legfontosabb könyvtár, amit használni fogsz, a RadioHead vagy a LoRaLayer2. Ezek kezelik az adatcsomagok szétbontását és újraépítését.
A fájlküldés menete nagyjából így néz ki:
Ez a módszer kiküszöböli azt a problémát, hogy a LoRa sávszélessége alacsony. Egy nagyobb fájl átküldése percekig is eltarthat, de a lényeg a megbízhatóság.
Gondolj erre úgy, mint egy modern selyemútra. Az információ egyik csomópontról a másikra vándorol. Ha a hatótáv végére érsz, a rendszer tárolja az adatot, és továbbítja azt, amint egy újabb csomópont kerül a közelébe. Ezt hívják "store-and-forward" technológiának.
A cenzúramentesség itt nem a törvények kijátszását jelenti, hanem az adataink sérthetetlenségét. Egy ilyen hálózatot lehetetlen "lekapcsolni" egyetlen központi kapcsolóval. Ha valaki próbálja blokkolni a jelet, a mesh hálózat egyszerűen új útvonalat talál a fájloknak.
A hardver csak a kezdet. A legfontosabb a megfelelő elhelyezés.
Az ilyen projekteknél a kísérletezés a legizgalmasabb rész. Lehet, hogy az első pár adatcsomag elvész az éterben, de amikor először látod meg az SD kártyán a sikeresen átküldött fájlt, garantáltan más szemmel nézel majd a technológiára.
Ez az építkezés nem csak a fájlokról szól, hanem a közösségről is. Ha a barátaid is csatlakoznak, egy olyan privát adatmegosztó hálózatot hoztok létre, aminek nincs központja, nincsenek feltételei, és senki nem fogja törölni a feltöltéseiteket azért, mert épp nem hoznak elég kattintást.
A technológia demokratizálása pontosan itt kezdődik. Nem a nagy szervertermekben, hanem a mi saját, otthon barkácsolt, alacsony fogyasztású moduljainkban. Kezdj kicsiben, építs egy kétpontos kapcsolatot, és érezni fogod azt a kontrollt, amit a digitális világban manapság egyre nehezebb megtartani. A digitális selyemút már vár, csak az első csomagot kell elindítanod a levegőben.