A «Telegraph» – elektronikus levél internet nélkül

Jó napot!

Szeretném megosztani a közösséggel az autonóm, decentralizált elektronikus levelezés létrehozásáról szóló érdekes gondolatokat, és bemutatni egy már meglévő megvalósítást a gyakorlatban.

Eredetileg a „Telegraf” amatőr kommunikációs eszközként készült a kis diák közösségünk tagjai közötti kapcsolatépítés céljából, amely valamilyen módon a számítástechnikának és a kommunikációnak szentelte magát.

Nota Bene: a „Telegraf” amatőr kommunikációs eszköz; ipari méretekben hasznot húzni belőle meglehetősen problémásnak tűnik, azonban ezt a problémát aligha lehet jelentősnek nevezni – fő célunknak egyértelműen a hasonló típusú kommunikációs rendszerek fejlesztésére való figyelemfelkeltést tartjuk.

Azt valljuk, hogy a különböző kommunikációs rendszerek fejlesztése iránti általános érdeklődés növelése szükséges és elég fontos ügy, hiszen az alapvető elvek megértése arról, hogyan működnek és miken alapulnak ezek a rendszerek, kulcsfontosságú a polgárok tájékoztatásának növelésében az információbiztonság kérdéseiben.

A «Telegraph» – elektronikus levél internet nélkül

Figyelem!Lehetséges félreértések elkerülése érdekében – bizonyos esetekben a képeket lapozni lehet:
A «Telegraph» – elektronikus levél internet nélkül

A rendszer önkéntes alapon és tiszta lelkesedésből működik – egyszerűen tetszik, amit csinálunk. Ezt nevezhetjük hobbinak, és nem tévedsz – hiszen még mindig léteznek azok, akik a papíralapú levélküldést részesítik előnyben; a „Telegraf” pedig legtöbbször digitális megvalósítása a hagyományos posta működési elveinek.

A „Telegraf” egy autonóm elektronikus levél analóg, amely lehetővé teszi egyszerű szöveges üzenetek küldését internet használata nélkül. A „Telegraf” valamilyen szinten a Sneakernet — információcsere módszere hálózat használata nélkül.

Postaládaként USB flash meghajtókat használnak, míg a postahivatalok szerepét terminálok töltik be – számítógépek, amelyek a digitális levelezés fogadásának és küldésének sajátos hozzáférési pontjai.

Nézzük meg a legegyszerűbb példát a rendszerrel való interakcióról. Kettő flash meghajtónk és egy terminálunk van. A szkriptben meg vannak határozva a szükséges globális változók a rendszerrel való későbbi interakcióhoz - a terminál száma, a gyökér elérési útja és egyebek.

Ha csatlakoztatunk egy külső tárolót a terminálhoz és elindítjuk a szkriptet, megpróbálja lekérni a kimenő üzeneteket a könyvtárból, /mnt/Telegraph/Outbox és átkonvertálni őket a saját memóriájába, ezt követően ellenőrzi, hogy van-e új üzenet a memóriájában a jelenlegi felhasználó számára. Ha vannak ilyenek, akkor azokat rögzíteni fogja a /mnt/Telegraph/Inbox.

Új eszközök regisztrálása

Elég rutinszerűen történik. A szkript megtalálja az új flash meghajtókat, amelyek csatlakoztatva vannak a rendszerhez, és megpróbálja összepárosítani azok egyedi azonosítóit a gyökérben találhatókkal. Ha az eszközök nem voltak korábban regisztrálva, akkor a "Telegráf" által megadott szabályok szerint formázzák őket.

Az új eszköz regisztrálása után a gyökér struktúrája a következőképpen alakul:

View post on imgur.com

A konfigurációs fájlban config.ini, amely a flash meghajtó gyökerében található, rendszerspecifikus információkat tartalmaz - egyedi azonosítót és titkos kulcsot.

View post on imgur.com

Adjatok az embereknek rumot!

Nem, komolyan! Az alapforrást meg lehet szerezni, itt, de már lassan ideje átlépni az elméletről a gyakorlatra.

De még szeretnék pár szót szólni arról, hogyan is működik a gyakorlati üzenetküldési rendszer.

Először is nézzük meg, miből áll a tizenegyes azonosító. Például, 10455000001.

Az első szám, 1, a terület sorszáma. A nemzetközi kód - 0, ezen a téren Oroszország - 1.

Ezután négy szám következik, amelyek a terminál elhelyezkedésének régiós számát jelölik. 0455 Ez a Kolomna városi kerület.

Ezután két szám következik, - 00, - a terminál számát jelöli.

Csak ez után következik négy szám, amely a felhasználó sorszámát tartalmazza, aki ezen a terminálon van. Nálunk ez - 0001. Szintén létezik egy 0000 - ez a szám közvetlenül magáé a terminálé. Erre nem lehet írásos levelezést küldeni, de a terminál ezt a számot használja a felhasználóknak küldött szolgáltatási üzeneteknél. Például, ha az üzenetet valamilyen okból nem sikerült kézbesíteni.

View post on imgur.com

A postafiókunk gyökerében két könyvtár található, amelyek szükségesek szöveges üzenetek fogadásához és küldéséhez. Amikor egy eszközt csatlakoztatunk a terminálhoz, az „Outbox” könyvtárból az összes kimenő üzenet a szerverre kerül, míg az „Inbox” könyvtárba, ami logikus, az érkező üzenetek töltődnek fel.

Minden fájl a könyvtár szerint a címzett vagy küldő számával van elnevezve.

Ha megpróbálunk üzenetet küldeni létező címzettnek számító címzetlenhez, a terminál hibaüzenetet küld.

View post on imgur.com

Ha azonban úgy döntünk, hogy levelet küldünk egy másik terminálon lévő címzettnek (függetlenül attól, hogy az létezik-e vagy sem), a levél a terminál memóriájába fog kerülni, amíg az ügynök át nem viszi a levélforgalmat a terminálunkról az övére.

View post on imgur.com

Amikor az ügynök összekapcsolja 10500000000 (más szóval — a postás) az eszközét a terminálunkkal, a kimenő levelek átkerülnek az ő tárolójára. Később, amikor az eszközét a saját termináljához csatlakoztatja, ezek a levelek megjelennek a terminál memóriájában, és várni fognak, hogy a címzett letöltse őket az USB flash meghajtójára.

A kommunikációs session

Próbáljuk meg elküldeni a „Helló!” üzenetet 10455000001 refs 10455000002.

View post on imgur.com

Ennyi volt!

Örömmel várom a projekt forráskódjával és cikkemmel kapcsolatos kritikákat.

Köszönöm a figyelmet.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster