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.

Figyelem!Lehetséges félreértések elkerülése érdekében – bizonyos esetekben a képeket lapozni lehet:

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 — 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:
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.
Adjatok az embereknek rumot!
Nem, komolyan! Az alapforrást meg lehet szerezni, , 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.
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.
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.
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.
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
