A Decimen fénnyel küld fájlokat, nem hálózaton keresztül

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Szinte minden esetben, amikor fájlt mozgatunk két közeli eszköz között, valamilyen hálózati kapcsolatot, Bluetooth-t, kábelt vagy felhőszolgáltatást használunk. A Decimen Optical Transfer egészen más utat választ: a fájlokat fénnyel küldi át.

A Decimen egy nyílt forráskódú, böngészőben futó eszköz, amely a fájlt folyamatosan változó, animált QR-kódok sorozatává alakítja, és ezeket jeleníti meg az egyik eszköz kijelzőjén. A másik eszköz kamerája a képernyőt nézi, rögzíti a kódokat, majd ezekből újra összeállítja az eredeti fájlt. Nincs szükség közvetlen hálózati kapcsolatra, felhasználói fiókra, párosításra, felhőtárhelyre vagy natív alkalmazásra.

A használata nagyon egyszerű. Nyisd meg a Decimen webes felületét mindkét eszközön, az elsőn válaszd a Send gombot, majd jelöld ki a fájlt. Az animált QR-adatfolyam azonnal elindul. A fogadó eszközön válaszd a Receive lehetőséget, engedélyezd a kamera használatát, és irányítsd a kamerát a küldő képernyőjére.

A projekt dokumentációja azt javasolja, hogy küldőként laptopot használjunk, növeljük a kijelző fényerejét, a fogadó telefon kameraképében pedig úgy helyezzük el a QR-kódot, hogy a lehető legnagyobb területet kitöltse. Amikor elég adat összegyűlt, és a SHA-256 integritás-ellenőrzés sikeres, a rekonstruált fájl megjelenik, és menthetővé válik.

A Decimen egyenként legfeljebb 64 MB-os fájlokat támogat, a beillesztett szövegrészletek mérete pedig legfeljebb 4 MB lehet. Megőrzi az eredeti fájlnevet és médiatípust, gzip tömörítést használ, ha ezzel csökkenthető az átvitt adatmennyiség, és az átvitel ellenőrzése után kínálja fel a fájlt a felhasználónak. A fogadott videókat közvetlenül a böngészőben is le lehet játszani.

A szokatlan felület mögött még érdekesebb technikai megoldás áll. Ahelyett, hogy a fájlt fix sorrendben beolvasandó QR-kódok sorozatára darabolná, a Decimen Luby Transform alapú fountain kódolást használ.

A küldő folyamatosan új kódolt képkockákat generál, a fogadó pedig gyűjti azokat a különböző képkockákat, amelyeket a kamera rögzít. A projekt leírása szerint az újjáépítéshez általában a minimálisan szükséges képkockaszám körülbelül 115%-ára van szükség. A sorrend nem számít, és ha egy képkocka kimarad, az legfeljebb lassítja a folyamatot, de nem teszi tönkre a fájlt.

A fejlesztő beszámolója szerint az a nagyobb kísérlet, amelyből a Decimen kinőtt, telefonok között körülbelül 128 KB/s sebességet ért el, a projektoldalon pedig nagyjából 130 KB/s-os átvitel látható. Ez természetesen nem versenyez a hagyományos helyi hálózati megoldásokkal, de itt nem is a sebesség a fő szempont. A Decimen inkább olyan helyzetekre készült, amikor hálózati kapcsolatot létrehozni kényelmetlen, nem kívánatos vagy egyszerűen nem lehetséges.

Az első látogatás után a webes alkalmazás offline is működik, és iOS-en, illetve Androidon Progressive Web Appként is telepíthető. Akik nem szeretnék a hosztolt szolgáltatást használni, saját maguk is futtathatják a projektet. A tároló tartalmaz fejlesztői és éles build parancsokat, valamint önálló build változatokat, amelyek különálló küldő és fogadó oldalakat kínálnak.

Van azonban egy fontos biztonsági korlát: a Decimen nem titkosítja az átvitt tartalmat.

Az, hogy nincs hálózati kapcsolat, önmagában nem teszi bizalmassá az átvitelt. Bármelyik másik kamera, amely rálát a küldő kijelzőjére, elvileg ugyanúgy rögzítheti a QR-kódok folyamát. A projekt tehát hálózati elszigetelést ad, de nem véd meg attól, ha valaki figyeli a kijelzőt. Erre egy lehetséges megoldás, ha az érzékeny fájlokat külön titkosítjuk, mielőtt így továbbítjuk őket.

A Decimen Optical Transfer elsősorban TypeScriptben íródott, és MIT licenc alatt érhető el. Akik ki szeretnék próbálni, használhatják közvetlenül a hivatalos Decimen webes alkalmazást, vagy felkereshetik a projekt GitHub repository oldalát, ahol megtalálható a forráskód, a dokumentáció és az önálló futtatáshoz szükséges útmutató.