„Telegraf” – e-mail bez Internetu

Dzień dobry!

Chciałbym podzielić się ze społecznością kilkoma ciekawymi przemyśleniami na temat tworzenia samodzielnej, zdecentralizowanej poczty e-mail i pokazać, jak jedna z istniejących implementacji sprawdza się w praktyce.

Początkowo „Telegraf” rozwijał się jako amatorski środek komunikacji między członkami naszej małej społeczności studenckiej, która w taki czy inny sposób poświęciła swoją działalność technologii komputerowej i komunikacji.

Nota bene: „Telegraf” jest amatorskim środkiem komunikacji; Wyprowadzenie praktycznych korzyści na skalę przemysłową wydaje się dość problematyczne, jednak problem ten trudno nazwać w jakikolwiek sposób znaczącym - za nasz główny cel uważamy bezpośrednie zwrócenie uwagi na rozwój tego rodzaju systemów komunikacji.

Jesteśmy skłonni wierzyć, że zwiększenie zainteresowania ogółu rozwojem różnych systemów komunikacji jest konieczne i dość ważne, ponieważ zrozumienie podstawowych zasad działania tych systemów i na czym one bazują, jest głównym kluczem do zwiększenia świadomości obywateli w zakresie bezpieczeństwa informacji kwestie.

„Telegraf” – e-mail bez Internetu

Achtung!Aby uniknąć ewentualnych nieporozumień, w niektórych przypadkach możesz przewijać obrazy:
„Telegraf” – e-mail bez Internetu

System opiera się na wolontariuszach i czystym entuzjazmie – po prostu lubimy to, co robimy. Możesz uznać to za hobby i nie pomylisz się – w końcu wciąż są miłośnicy komunikacji za pomocą korespondencji papierowej; „Telegraf” w większości przypadków można przedstawić jako cyfrową realizację zasad zwykłej poczty.

Telegraf to samodzielny odpowiednik poczty elektronicznej, który umożliwia wysyłanie prostych wiadomości tekstowych bez korzystania z Internetu. „Telegraf” w takim czy innym stopniu można przypisać tenisówki - sposób na wymianę informacji bez korzystania z sieci.

Pendrive’y służą jako skrzynki pocztowe, a terminale – komputery, będące unikalnymi punktami dostępu do odbierania i przesyłania korespondencji elektronicznej – pełnią rolę urzędów pocztowych.

Rozważmy najprostszy przykład interakcji z systemem. Na magazynie mamy dwa dyski flash i jeden terminal. Sam skrypt zawiera niezbędne zmienne globalne do późniejszej interakcji z systemem - numer terminala, ścieżkę do katalogu głównego itp.

Jeśli podłączymy dysk wymienny do terminala i uruchomimy skrypt, spróbuje on odebrać wiadomości wychodzące z katalogu /mnt/Telegraph/Skrzynka nadawcza i przenieś je do swojej pamięci, a następnie sprawdź, czy w pamięci znajdują się nowe wiadomości dla bieżącego użytkownika. Jeśli takie istnieją, zapisz je /mnt/Telegraph/Skrzynka odbiorcza.

Rejestracja nowych urządzeń

Dzieje się to dość losowo. Skrypt wyszukuje nowe dyski flash podłączone do systemu i próbuje dopasować ich unikalne identyfikatory do tych prezentowanych w katalogu głównym. Jeżeli urządzenia nie były wcześniej rejestrowane, zostaną sformatowane zgodnie z zasadami określonymi przez Telegraph.

Po zarejestrowaniu nowego urządzenia struktura root przyjmuje następującą postać:

Zobacz post imgur.com

W pliku konfiguracyjnym config.ini, znajdujący się w katalogu głównym dysku flash, znajdują się informacje o systemie - unikalny identyfikator i tajny klucz.

Zobacz post imgur.com

Daj ludziom trochę rumu!

Nie, naprawdę, poważnie! Można sięgnąć do źródeł tutaji czas powoli przejść od teorii do praktyki.

Powinienem jednak powiedzieć jeszcze kilka słów o tym, jak system przesyłania wiadomości działa w praktyce.

Najpierw zastanówmy się, z czego składa się jedenastocyfrowy unikalny identyfikator. Np, 10455000001.

Pierwsza cyfra 1, odpowiada za numer kraju. Kod międzynarodowy - 0, Rosja w tym przypadku - 1.

Następnie następują cztery cyfry odpowiadające numerowi regionu, w którym znajduje się terminal. 0455 to dzielnica miejska Kolomna.

Po nich następują dwie liczby - 00, - bezpośrednio odpowiedzialny za numer terminala.

I dopiero wtedy – cztery cyfry, które stanowią numer seryjny użytkownika przypisanego do tego terminala. Mamy to - 0001. Jest również 0000 — numer ten należy bezpośrednio do samego terminala. Nie można na niego wysyłać korespondencji pisemnej, jednak sam terminal wykorzystuje ten numer do wysyłania wiadomości serwisowych do użytkowników. Na przykład, jeśli z jakiegoś powodu wiadomość nie mogła zostać dostarczona.

Zobacz post imgur.com

W katalogu głównym naszej „skrzynki pocztowej” znajdują się dwa katalogi niezbędne do odbierania i wysyłania wiadomości tekstowych. Po podłączeniu urządzenia do terminala wiadomości wychodzące wysyłane są na serwer z katalogu „Skrzynka nadawcza”, a wiadomości przychodzące ładowane są do katalogu „Skrzynka odbiorcza”, co jest logiczne.

Każdy plik, w zależności od katalogu, nosi nazwę numeru odbiorcy lub nadawcy.

Jeśli spróbujemy wysłać wiadomość do nieistniejącego odbiorcy, terminal wyśle ​​nam komunikat o błędzie.

Zobacz post imgur.com

Jeśli jednak zdecydujemy się na wysłanie listu do adresata znajdującego się na innym terminalu (niezależnie od tego, czy istnieje, czy nie), zostanie ono zapisane w pamięci terminala, zanim agent przekaże pisemną korespondencję z naszego terminala na swój.

Zobacz post imgur.com

Kiedy agent oddziału 10500000000 (czyli listonosz) podłączy swoje urządzenie do naszego terminala, listy wychodzące zostaną przeniesione na jego dysk. Następnie, gdy podłączy swoje urządzenie do terminala, litery te zostaną zrzucone do pamięci terminala i będą czekać, aż odbiorca pobierze je na swój dysk flash.

Sesja komunikacyjna

Spróbujmy wysłać wiadomość o treści „Witam!” z 10455000001 к 10455000002.

Zobacz post imgur.com

To wszystko!

Chętnie przyjmę każdą krytykę kodu źródłowego projektu i samego artykułu.

Dziękuję za uwagę.

Źródło: www.habr.com

Dodaj komentarz