"Telegraaf" - e-mail zonder internet

Goede dag!

Ik wil graag enkele interessante gedachten met de gemeenschap delen over het maken van een op zichzelf staande, gedecentraliseerde e-mail en demonstreren hoe een bestaande implementatie in de praktijk werkt.

Aanvankelijk werd 'Telegraaf' ontwikkeld als een amateurcommunicatiemiddel tussen leden van onze kleine studentengemeenschap, die op de een of andere manier haar activiteiten wijdde aan computertechnologie en communicatie.

Nota bene: “Telegraaf” is een amateurcommunicatiemiddel; Het lijkt nogal problematisch om op industriële schaal praktische voordelen te behalen, maar dit probleem kan nauwelijks in enige mate significant worden genoemd - wij beschouwen het als ons hoofddoel om direct de aandacht te vestigen op de ontwikkeling van dit soort communicatiesystemen.

Wij zijn geneigd te geloven dat het vergroten van de algemene belangstelling voor de ontwikkeling van verschillende communicatiesystemen noodzakelijk en heel belangrijk is, omdat het begrijpen van de fundamentele principes van hoe deze systemen werken en waarop ze zijn gebaseerd de belangrijkste sleutel is tot het vergroten van het bewustzijn van burgers over informatiebeveiliging. problemen.

"Telegraaf" - e-mail zonder internet

Achtung!Om mogelijke misverstanden te voorkomen, kunt u in sommige gevallen door de afbeeldingen scrollen:
"Telegraaf" - e-mail zonder internet

Het systeem is gebaseerd op vrijwilligers en puur enthousiasme; we houden gewoon van wat we doen. Je kunt dit als een hobby beschouwen en je zult het niet mis hebben - er zijn tenslotte nog steeds liefhebbers van communicatie via het gebruik van papieren correspondentie; “Telegraaf” kan in de meeste gevallen worden weergegeven als een digitale implementatie van de principes van reguliere post.

Telegraph is een stand-alone analoog van e-mail waarmee u eenvoudige sms-berichten kunt verzenden zonder internet te gebruiken. "Telegraaf" kan tot op zekere hoogte worden toegeschreven aan Sneakernet - een manier om informatie uit te wisselen zonder gebruik te maken van een netwerk.

Flashdrives worden gebruikt als mailboxen, en terminals - computers, die unieke toegangspunten zijn voor het ontvangen en verzenden van elektronische correspondentie - fungeren als postkantoren.

Laten we het eenvoudigste voorbeeld van interactie met het systeem bekijken. Wij hebben twee flashdrives en één terminal op voorraad. Het script zelf bevat de noodzakelijke globale variabelen voor daaropvolgende interactie met het systeem - terminalnummer, pad naar de root, enz.

Als we een verwisselbaar station op de terminal aansluiten en het script uitvoeren, zal het proberen uitgaande berichten uit de map te ontvangen /mnt/Telegraaf/Postvak UIT en breng ze over naar uw geheugen. Controleer vervolgens of er nieuwe berichten in uw geheugen zijn voor de huidige gebruiker. Als die er zijn, schrijf ze dan op /mnt/Telegraaf/Inbox.

Nieuwe apparaten registreren

Het gebeurt vrij willekeurig. Het script vindt nieuwe flashdrives die op het systeem zijn aangesloten en probeert hun unieke ID's te matchen met die in de root. Als apparaten nog niet eerder zijn geregistreerd, worden deze geformatteerd volgens de regels van Telegraph.

Na registratie van een nieuw apparaat heeft de hoofdstructuur de volgende vorm:

Bekijk bericht op imgur.com

In het configuratiebestand config.ini, gelegen in de root van de flashdrive, is er systeeminformatie - een unieke identificatie en een geheime sleutel.

Bekijk bericht op imgur.com

Geef de mensen wat rum!

Nee, echt, serieus! Je kunt de bronnen krijgen hier, en het is tijd dat we langzaam van theorie naar praktijk gaan.

Maar ik moet nog een paar woorden zeggen over hoe het berichtensysteem in de praktijk werkt.

Laten we eerst eens kijken waaruit een unieke identificatie van elf cijfers bestaat. Bijvoorbeeld, 10455000001.

Het eerste cijfer 1, is verantwoordelijk voor het landnummer. Internationale code - 0, Rusland in dit geval - 1.

Vervolgens komen vier cijfers die verantwoordelijk zijn voor het nummer van de regio waarin de terminal zich bevindt. 0455 is het stadsdeel Kolomna.

Ze worden gevolgd door twee cijfers - 00, - direct verantwoordelijk voor het terminalnummer.

En alleen dan - vier cijfers, het serienummer van de gebruiker die aan deze terminal is toegewezen. We hebben dit - 0001. Er is ook 0000 — dit nummer hoort rechtstreeks bij de terminal zelf. U kunt er geen schriftelijke correspondentie naar sturen, maar de terminal gebruikt dit nummer zelf om serviceberichten naar gebruikers te sturen. Bijvoorbeeld als het bericht om de een of andere reden niet kon worden afgeleverd.

Bekijk bericht op imgur.com

Aan de basis van onze “mailbox” bevinden zich twee mappen die nodig zijn voor het ontvangen en verzenden van sms-berichten. Wanneer een apparaat op de terminal is aangesloten, worden uitgaande berichten vanuit de map "Outbox" naar de server verzonden en worden inkomende berichten in de map "Inbox" geladen, wat logisch is.

Elk bestand krijgt, afhankelijk van de directory, een naam op basis van het ontvanger- of afzendernummer.

Als we proberen een bericht naar een niet-bestaande ontvanger te sturen, stuurt de terminal ons een foutmelding.

Bekijk bericht op imgur.com

Als we echter besluiten een brief te sturen naar een geadresseerde die zich op een andere terminal bevindt (ongeacht of deze bestaat of niet), wordt deze in het geheugen van de terminal opgeslagen voordat de agent de schriftelijke correspondentie van onze terminal naar de zijne overbrengt.

Bekijk bericht op imgur.com

Wanneer het filiaalagent 10500000000 (met andere woorden: de postbode) zal zijn toestel verbinden met onze terminal, uitgaande brieven zullen naar zijn schijf worden overgebracht. Wanneer hij vervolgens zijn apparaat op zijn terminal aansluit, worden deze brieven in het geheugen van de terminal gedumpt en wachten tot de ontvanger ze naar zijn flashstation downloadt.

Communicatie sessie

Laten we proberen een bericht te sturen met de tekst "Hallo!" van 10455000001 к 10455000002.

Bekijk bericht op imgur.com

Dat is alles!

Ik ontvang graag kritiek op de broncode van het project en het artikel zelf.

Bedankt voor je aandacht.

Bron: www.habr.com

Voeg een reactie