「電報」-無需網路的電子郵件

美好的一天!

我想與社區分享一些關於創建獨立的去中心化電子郵件的有趣想法,並演示現有的實現在實踐中如何運作。

最初,「電報」是作為我們小型學生社群成員之間的一種業餘通訊方式而開發的,該社群以某種方式致力於電腦科技和通訊。

注意Bene:「電報」是一種業餘通訊方式; 在工業規模上獲得實際效益似乎是相當有問題的,但這個問題在任何程度上都很難被稱為重大——我們認為我們的主要目標是直接吸引人們對這種通訊系統的開發的關注。

我們傾向於認為,提高人們對各種通訊系統開發的普遍興趣是必要且相當重要的,因為了解這些系統如何運作的基本原理以及它們的基礎是什麼,是提高公民資訊安全意識的關鍵問題。

「電報」-無需網路的電子郵件

阿赫東!為了避免可能的誤解,在某些情況下您可以捲動圖片:
「電報」-無需網路的電子郵件

這個系統基於志工和純粹的熱情 - 我們只是喜歡我們所做的事情。 你可以認為這是一種愛好,你不會錯的——畢竟,仍然有人喜歡透過紙本信件交流; 在大多數情況下,「電報」可以表示為普通郵件原理的數位實現。

Telegraph 是一種獨立的電子郵件類似物,可讓您在不使用網路的情況下發送簡單的簡訊。 「電報」在某種程度上可以歸因於 運動鞋網 - 一種無需使用網路即可交換資訊的方法。

閃存驅動器用作郵箱,而終端(計算機,是接收和發送電子信件的唯一接入點)用作郵局。

讓我們考慮與系統互動的最簡單的範例。 我們有兩個閃存驅動器和一個終端庫存。 腳本本身包含後續與系統互動所需的全域變數 - 終端號碼、根路徑等。

如果我們將可移動磁碟機連接到終端並執行腳本,它將嘗試從目錄接收傳出訊息 /mnt/電報/寄件箱 並將它們傳輸到您的記憶體中,然後檢查記憶體中當前用戶的新訊息。 如果有的話,把它們寫下來 /mnt/電報/收件箱.

註冊新設備

它發生得很隨機。 該腳本會尋找連接到系統的新快閃磁碟機,並嘗試將其唯一 ID 與根目錄中顯示的 ID 進行比對。 如果設備之前尚未註冊,它們將根據 Telegraph 規定的規則進行格式化。

註冊新設備後,根結構採用以下形式:

在imgur.com查看文章

在設定檔中 config.ini文件,位於快閃磁碟機的根目錄中,有系統資訊-唯一識別碼和金鑰。

在imgur.com查看文章

給人們一些朗姆酒!

不,真的,認真的! 你可以得到來源 這裡,現在是我們慢慢從理論走向實踐的時候了。

但我應該多說幾句訊息系統在實務上是如何運作的。

首先,讓我們弄清楚十一位唯一識別碼由什麼組成。 例如, 10455000001.

第一個數字 1,負責國家號碼。 國際代碼 - 0,在這種情況下是俄羅斯 - 1.

接下來是四位數字,負責終端機所在區域的號碼。 0455 是科洛姆納市區。

他們後面跟著兩個數字 - 00,——直接負責的終端號碼。

然後才是 - 四位數字,這是分配給該終端的使用者的序號。 我們有這個—— 0001。 還有 0000 — 此號碼直接屬於終端本身。 您無法向其發送書面信件,但終端本身使用該號碼向用戶發送服務訊息。 例如,如果由於某種原因無法傳遞訊息。

在imgur.com查看文章

在我們的「郵箱」的根目錄下,有​​兩個用於接收和發送簡訊所必需的目錄。 當裝置連接到終端時,傳出訊息會從「寄件匣」目錄傳送到伺服器,傳入訊息會載入到「收件匣」目錄中,這是邏輯上的。

每個檔案根據目錄由收件者或寄件者號碼命名。

如果我們嘗試向不存在的收件人發送訊息,終端將向我們發送錯誤訊息。

在imgur.com查看文章

但是,如果我們決定向位於另一個終端上的收件人(無論它是否存在)發送一封信,則在代理將書面信件從我們的終端傳輸到他的終端之前,該信件將被記錄在終端的記憶體中。

在imgur.com查看文章

當分公司代理時 10500000000 (換句話說,郵差)將他的設備連接到我們的終端,發出的信件將傳輸到他的驅動器。 隨後,當他將裝置連接到終端時,這些信件將被轉儲到終端的記憶體中,並等待收件人將它們下載到他的隨身碟中。

交流會

讓我們嘗試發送一條包含文字“Hello!”的訊息。 從 10455000001 к 10455000002.

在imgur.com查看文章

就這樣!

我很高興收到對專案原始碼和文章本身的任何批評。

感謝您的關注。

來源: www.habr.com

添加評論