« TĂ©lĂ©graphe » — un service de messagerie sans Internet.

Bonjour !

J'aimerais partager avec la communauté des réflexions intéressantes sur la création d'un service de messagerie électronique autonome et décentralisé et démontrer en pratique le fonctionnement d'une implémentation existante.

À l'origine, « TĂ©lĂ©graphe » a Ă©tĂ© conçu comme un moyen de communication amateur entre les membres de notre petite communautĂ© Ă©tudiante, dĂ©diĂ©e d'une maniĂšre ou d'une autre Ă  l'informatique et aux communications.

Nota Bene: « TĂ©lĂ©graphe » est un moyen de communication amateur ; il semble assez problĂ©matique d'en tirer un intĂ©rĂȘt pratique Ă  grande Ă©chelle, mais cette question ne peut guĂšre ĂȘtre considĂ©rĂ©e comme significative — notre objectif principal est d'attirer l'attention sur le dĂ©veloppement de ce type de systĂšmes de communication.

Nous sommes d'avis que l'augmentation de l'intĂ©rĂȘt gĂ©nĂ©ral pour le dĂ©veloppement de divers systĂšmes de communication est nĂ©cessaire et assez importante, car comprendre les principes fondamentaux de leur fonctionnement est la clĂ© pour sensibiliser les citoyens aux questions de sĂ©curitĂ© de l'information.

« TĂ©lĂ©graphe » — un service de messagerie sans Internet.

Attention !Pour Ă©viter tout malentendu — dans certains cas, les images peuvent ĂȘtre feuilletĂ©es :
« TĂ©lĂ©graphe » — un service de messagerie sans Internet.

Le systĂšme repose sur le bĂ©nĂ©volat et un pur enthousiasme — nous aimons simplement ce que nous faisons. Vous pouvez le considĂ©rer comme un hobby et vous n'aurez pas tort — car il existe encore des amateurs de communication par correspondance papier ; « TĂ©lĂ©graphe » peut ĂȘtre vu dans la plupart des cas comme une rĂ©alisation numĂ©rique des principes de fonctionnement de la messagerie traditionnelle.

« TĂ©lĂ©graphe » est un analogue autonome de la messagerie Ă©lectronique, permettant d'envoyer des messages texte simples sans utiliser Internet. « TĂ©lĂ©graphe » peut ĂȘtre considĂ©rĂ© d'une maniĂšre ou d'une autre comme Sneakernet — une mĂ©thode d'Ă©change d'informations sans utilisation de rĂ©seau.

Des clĂ©s USB sont utilisĂ©es comme boĂźtes aux lettres, et les terminaux — ordinateurs, fonctionnent comme des bureaux de poste, servant de points d'accĂšs pour la rĂ©ception et l'envoi de la correspondance Ă©lectronique.

Considérons un exemple simple d'interaction avec le systÚme. Nous disposons de deux clés USB et d'un terminal. Dans le script, les variables globales nécessaires à l'interaction avec le systÚme sont définies : le numéro du terminal, le chemin vers la racine, et d'autres.

Si nous connectons un périphérique amovible au terminal et exécutons le script, il essaiera d'obtenir les messages sortants du répertoire /mnt/Telegraph/Outbox et de les transférer dans sa mémoire, puis de vérifier la présence de nouveaux messages pour l'utilisateur actuel. Si tel est le cas, il les enregistrera dans /mnt/Telegraph/Inbox.

Enregistrement de nouveaux dispositifs

Cela se passe de maniÚre assez classique. Le script trouve les nouvelles clés USB connectées au systÚme et essaie de faire correspondre leurs identifiants uniques à ceux présentés dans la racine. Si les dispositifs n'ont pas été enregistrés auparavant, ils seront formatés selon les rÚgles énoncées par "Telegraf".

AprĂšs l'enregistrement du nouvel appareil, la structure de la racine prend la forme suivante :

View post on imgur.com

Dans le fichier de configuration config.ini, situé à la racine de la clé USB, se trouve des informations systÚme - un identifiant unique et une clé secrÚte.

View post on imgur.com

Donnez de la biĂšre aux gens !

Non, mais sérieusement ! On peut se procurer les sources ici, et il est temps pour nous de passer de la théorie à la pratique.

Mais je dois encore dire quelques mots sur la maniÚre dont fonctionne réellement le systÚme d'échange de messages.

Pour commencer, examinons de quoi se compose un identifiant unique Ă  onze chiffres. Par exemple, 10455000001.

Le premier chiffre, 1, représente le numéro du pays. Le code international est - 0, la Russie, dans ce cas, est - 1.

Ensuite, il y a quatre chiffres qui reprĂ©sentent le numĂ©ro de la rĂ©gion oĂč se trouve le terminal. 0455 — c'est le district urbain de Kolomna.

Suivent deux chiffres, - 00, - qui correspondent directement au numéro du terminal.

Et enfin, quatre chiffres qui sont le numĂ©ro d'ordre de l'utilisateur attribuĂ© Ă  ce terminal. Chez nous, c'est - 0001. Il existe aussi un numĂ©ro qui appartient directement au terminal lui-mĂȘme. On ne peut pas envoyer de correspondance Ă©crite Ă  ce numĂ©ro, mais le terminal utilise ce numĂ©ro pour envoyer des messages de service aux utilisateurs. Par exemple, si un message n'a pas pu ĂȘtre livrĂ© pour une raison quelconque. 0000 — ce numĂ©ro appartient directement au terminal lui-mĂȘme. Il n'est pas possible d'envoyer une correspondance Ă©crite Ă  ce numĂ©ro, mais le terminal utilise ce numĂ©ro pour envoyer des messages de service aux utilisateurs. Par exemple, si un message n'a pas pu ĂȘtre livrĂ© pour une raison quelconque.

View post on imgur.com

À la racine de notre « boĂźte mail », se trouvent deux rĂ©pertoires nĂ©cessaires pour recevoir et envoyer des messages texte. Lors de la connexion d'un appareil au terminal, les messages sortants sont expĂ©diĂ©s depuis le rĂ©pertoire « Outbox » vers le serveur, tandis que les messages entrants, logiquement, sont chargĂ©s dans le rĂ©pertoire « Inbox ».

Chaque fichier, selon le répertoire, est nommé par le numéro du destinataire ou de l'expéditeur.

Si nous essayons d'envoyer un message Ă  un destinataire inexistant, le terminal nous enverra un message d'erreur.

View post on imgur.com

Cependant, si nous décidons d'envoyer une lettre à un destinataire sur un autre terminal (qu'il existe ou non), elle sera enregistrée dans la mémoire du terminal jusqu'à ce que l'agent transfÚre la correspondance écrite de notre terminal au sien.

View post on imgur.com

Lorsque l'agent de la succursale 10500000000 (en d'autres termes — le facteur) connecte son appareil Ă  notre terminal, les lettres sortantes seront transfĂ©rĂ©es sur sa mĂ©moire. Par la suite, lorsqu'il connectera son appareil Ă  son terminal, ces lettres seront tĂ©lĂ©chargĂ©es dans la mĂ©moire du terminal et attendront que le destinataire les transfĂšre sur sa clĂ© USB.

Session de communication

Essayons d'envoyer un message avec le texte « Bonjour ! » de 10455000001 sur 10455000002.

View post on imgur.com

C'est tout !

Je serais ravi de recevoir toute critique sur le code source du projet et l'article lui-mĂȘme.

Merci de votre attention.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster