„Telegraph“ – E-Mail ohne Internet

Guten Tag!

Ich möchte interessante Gedanken über die Schaffung einer autonomen dezentralen E-Mail mit der Gemeinschaft teilen und praktische Beispiele einer bereits bestehenden Implementierung demonstrieren.

Ursprünglich wurde 'Telegraph' als ein Amateurkommunikationsmittel für Mitglieder unserer kleinen Studierendengemeinschaft entwickelt, die sich mehr oder weniger der Computertechnik und Kommunikation widmet.

Nota Bene: 'Telegraph' ist ein Amateurkommunikationsmittel; es erscheint ziemlich problematisch, einen praktischen Nutzen in industriellem Maßstab zu ziehen, jedoch kann dieses Problem kaum als wesentlich betrachtet werden — im Wesentlichen sehen wir unser Hauptziel darin, Aufmerksamkeit auf die Entwicklung solcher Kommunikationssysteme zu lenken.

Wir sind der Meinung, dass ein gesteigertes Interesse an der Entwicklung verschiedener Kommunikationssysteme notwendig und wichtig ist, da das Verständnis der grundlegenden Prinzipien, wie diese Systeme funktionieren und auf welchen Grundlagen sie basieren, der Schlüssel zur Erhöhung des Bewusstseins der Bürger für Informationssicherheit ist.

„Telegraph“ – E-Mail ohne Internet

Achtung!Um mögliche Missverständnisse zu vermeiden – in einigen Fällen können Bilder durchblättert werden:
„Telegraph“ – E-Mail ohne Internet

Das System basiert auf Freiwilligkeit und purem Enthusiasmus – wir machen einfach gerne, was wir tun. Betrachten Sie es als Hobby und Sie liegen nicht falsch – schließlich gibt es immer noch Liebhaber des Austauschs durch Briefkorrespondenz; "Telegraph" kann in den meisten Fällen als digitale Umsetzung der Prinzipien des traditionellen Postverkehrs betrachtet werden.

"Telegraph" ist eine autonome Alternative zur E-Mail, die es ermöglicht, einfache Textnachrichten ohne Internetzugang zu übermitteln. "Telegraph" kann in gewisser Weise mit Sneakernet — einer Methode zum Informationsaustausch ohne Netzwerk — in Verbindung gebracht werden.

Als Postfächer werden Flash-Laufwerke verwendet, während Terminals — Computer, die als Zugangspunkte für den Empfang und den Versand von E-Mail-Korrespondenz dienen — als Postämter fungieren.

Betrachten wir ein einfaches Beispiel für die Interaktion mit dem System. Wir haben zwei Flash-Laufwerke und ein Terminal zur Verfügung. Im Skript sind die erforderlichen globalen Variablen für die zukünftige Interaktion mit dem System festgelegt — die Terminalnummer, der Pfad zum Wurzelverzeichnis und weiteres.

Wenn wir ein tragbares Speichergerät mit dem Terminal verbinden und das Skript ausführen, wird es versuchen, aus dem Verzeichnis ausgehende Nachrichten abzurufen /mnt/Telegraph/Outbox und sie in seinem Speicher zu speichern, um anschließend neue Nachrichten für den aktuellen Benutzer zu prüfen. Wenn diese vorhanden sind, werden sie in /mnt/Telegraph/Inbox.

die Registrierung neuer Geräte

Es geschieht ziemlich unspektakulär. Das Skript erkennt neue USB-Sticks, die mit dem System verbunden sind, und versucht, deren eindeutige Identifikatoren mit denen, die im Root angezeigt werden, abzugleichen. Wenn die Geräte zuvor nicht registriert wurden, werden sie gemäß den vom 'Telegraph' festgelegten Regeln formatiert.

Nach der Registrierung eines neuen Geräts hat die Root-Struktur folgendes Aussehen:

Beitrag auf imgur.com ansehen

In der Konfigurationsdatei config.ini, die sich im Root des USB-Sticks befindet, sind systembezogene Informationen — eine eindeutige Identifikationsnummer und ein geheimer Schlüssel.

Beitrag auf imgur.com ansehen

Geben Sie den Leuten Rum!

Nein, wirklich, ernsthaft! Man kann die Quellcodes auftreiben hier, und es wird langsam Zeit, von der Theorie zur Praxis überzugehen.

Aber ich muss noch ein paar Worte darüber sagen, wie das Nachrichtenaustauschsystem in der Praxis funktioniert.

Lassen Sie uns zunächst herausfinden, aus welchen Teilen die elfstellige eindeutige Identifikationsnummer besteht. Zum Beispiel, 10455000001.

Die erste Zahl, 1, steht für die Ländervorwahl. Der internationale Code ist — 0, Russland ist in diesem Fall — 1.

Darauf folgen vier Ziffern, die für die Region stehen, in der sich das Terminal befindet. 0455 — ist der Stadtbezirk Kolomna.

Danach folgen zwei Ziffern, — 00, die direkt für die Terminalnummer verantwortlich sind.

Und erst danach — vier Ziffern, die die Benutzerreihenfolge darstellen, die diesem Terminal zugeordnet ist. Bei uns ist das — 0001. Es gibt auch 0000 — diese Nummer gehört direkt zum Terminal selbst. Man kann an sie keine schriftliche Korrespondenz senden, aber das Terminal verwendet diese Nummer, um Dienstnachrichten an die Benutzer zu senden. Zum Beispiel, wenn eine Nachricht aus irgendeinem Grund nicht zugestellt werden kann.

Beitrag auf imgur.com ansehen

Im Kern unseres „Postfachs“ befinden sich zwei Verzeichnisse, die notwendig sind, um Textnachrichten zu empfangen und zu senden. Wenn ein Gerät mit dem Terminal verbunden wird, werden die ausgehenden Nachrichten aus dem Verzeichnis „Outbox“ an den Server gesendet, und in das Verzeichnis „Inbox“, was logisch ist, werden eingehende Nachrichten hochgeladen.

Jede Datei ist je nach Verzeichnis mit der Nummer des Empfängers oder Absenders benannt.

Wenn wir versuchen, eine Nachricht an einen nicht existierenden Adressaten zu senden, wird uns das Terminal eine Fehlermeldung senden.

Beitrag auf imgur.com ansehen

Wenn wir jedoch entscheiden, eine Nachricht an einen Empfänger zu senden, der sich an einem anderen Terminal befindet (unabhängig davon, ob dieses existiert oder nicht), wird sie im Speicher des Terminals aufgezeichnet, bis der Agent die schriftliche Korrespondenz von unserem Terminal auf seines überträgt.

Beitrag auf imgur.com ansehen

Wenn der Agent der Filiale 10500000000 (anderes Wort für Postbote) sein Gerät mit unserem Terminal verbindet, werden die ausgehenden Nachrichten auf seinen Speicher übertragen. Später, wenn er sein Gerät mit seinem Terminal verbindet, werden diese Nachrichten in den Speicher des Terminals entladen und warten darauf, dass der Empfänger sie auf seinen Flash-Speicher herunterlädt.

Verbindungssitzung

Lassen Sie uns versuchen, eine Nachricht mit dem Text "Hallo!" von 10455000001 zu 10455000002.

Beitrag auf imgur.com ansehen

Das ist alles!

Ich freue mich über jegliche Kritik am Quellcode des Projekts und an dem Artikel selbst.

Vielen Dank für Ihre Aufmerksamkeit.

Quelle: habr.com

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster