"Telegraph" - e-mail sem Internet

Bom dia!

Gostaria de compartilhar algumas idéias interessantes com a comunidade sobre a criação de um email descentralizado independente e demonstrar como uma implementação existente funciona na prática.

Inicialmente, o “Telegraph” foi desenvolvido como um meio amador de comunicação entre membros da nossa pequena comunidade estudantil, que de uma forma ou de outra dedicava as suas atividades à informática e às comunicações.

Observar bem: “Telegraph” é um meio de comunicação amador; Parece bastante problemático obter benefícios práticos à escala industrial, mas este problema dificilmente pode ser considerado significativo - consideramos que o nosso principal objectivo é atrair directamente a atenção para o desenvolvimento deste tipo de sistemas de comunicação.

Estamos inclinados a acreditar que o aumento do interesse geral no desenvolvimento de vários sistemas de comunicação é necessário e muito importante, porque compreender os princípios fundamentais de como estes sistemas funcionam e em que se baseiam é a principal chave para aumentar a sensibilização dos cidadãos para a segurança da informação. problemas.

"Telegraph" - e-mail sem Internet

Achtung!Para evitar possíveis mal-entendidos, em alguns casos você pode percorrer as imagens:
"Telegraph" - e-mail sem Internet

O sistema é baseado em voluntários e puro entusiasmo - simplesmente gostamos do que fazemos. Você pode considerar isso um hobby e não se enganará - afinal, ainda existem amantes da comunicação por meio de correspondência em papel; O “telégrafo” na maioria dos casos pode ser representado como uma implementação digital dos princípios do correio normal.

Telegraph é um análogo independente do e-mail que permite enviar mensagens de texto simples sem usar a Internet. "Telégrafo" em um grau ou outro pode ser atribuído a rede de tênis - uma forma de trocar informações sem usar uma rede.

Os pen drives são usados ​​​​como caixas de correio e os terminais - computadores, que são pontos de acesso exclusivos para recebimento e transmissão de correspondência eletrônica - funcionam como correios.

Consideremos o exemplo mais simples de interação com o sistema. Temos dois pen drives e um terminal em estoque. O próprio script contém as variáveis ​​globais necessárias para interação posterior com o sistema - número do terminal, caminho para a raiz, etc.

Se conectarmos uma unidade removível ao terminal e executarmos o script, ele tentará receber mensagens de saída do diretório /mnt/Telegraph/Caixa de saída e transfira-as para sua memória e, em seguida, verifique se há novas mensagens em sua memória para o usuário atual. Se houver algum, anote-o /mnt/Telegraph/Caixa de entrada.

Registrando novos dispositivos

Isso acontece de forma bastante aleatória. O script encontra novas unidades flash conectadas ao sistema e tenta combinar seus IDs exclusivos com aqueles apresentados na raiz. Caso os dispositivos não tenham sido previamente cadastrados, eles serão formatados de acordo com as regras estabelecidas pelo Telegraph.

Após registrar um novo dispositivo, a estrutura raiz assume o seguinte formato:

Ver post sobre imgur.com

No arquivo de configuração config.ini, localizado na raiz da unidade flash, há informações do sistema - um identificador exclusivo e uma chave secreta.

Ver post sobre imgur.com

Dê um pouco de rum às pessoas!

Não, sério, sério! Você pode obter as fontes aqui, e é hora de passarmos lentamente da teoria à prática.

Mas devo dizer mais algumas palavras sobre como o sistema de mensagens funciona na prática.

Primeiro, vamos descobrir em que consiste um identificador exclusivo de onze dígitos. Por exemplo, 10455000001.

O primeiro dígito 1, é responsável pelo número do país. Código internacional - 0, Rússia neste caso - 1.

Em seguida vêm quatro dígitos que são responsáveis ​​pelo número da região em que o terminal está localizado. 0455 é o distrito urbano de Kolomna.

Eles são seguidos por dois números - 00, - responsável direto pelo número do terminal.

E só então - quatro dígitos, que são o número de série do usuário atribuído a este terminal. Nós temos isso - 0001. Há também 0000 — este número pertence diretamente ao próprio terminal. Você não pode enviar correspondência escrita para ele, mas o próprio terminal utiliza esse número para enviar mensagens de serviço aos usuários. Por exemplo, se a mensagem não puder ser entregue por algum motivo.

Ver post sobre imgur.com

Na raiz da nossa “caixa de correio” existem dois diretórios necessários para receber e enviar mensagens de texto. Quando um dispositivo é conectado ao terminal, as mensagens de saída são enviadas para o servidor a partir do diretório “Caixa de saída” e as mensagens recebidas são carregadas no diretório “Caixa de entrada”, o que é lógico.

Cada arquivo, dependendo do diretório, é nomeado pelo número do destinatário ou remetente.

Se tentarmos enviar uma mensagem a um destinatário inexistente, o terminal nos enviará uma mensagem de erro.

Ver post sobre imgur.com

Porém, se decidirmos enviar uma carta a um destinatário localizado em outro terminal (independentemente de existir ou não), ela ficará gravada na memória do terminal antes que o agente transfira a correspondência escrita do nosso terminal para o seu.

Ver post sobre imgur.com

Quando o agente da filial 10500000000 (em outras palavras, o carteiro) conectará seu dispositivo ao nosso terminal, as cartas enviadas serão transferidas para seu drive. Posteriormente, quando ele conectar seu dispositivo ao terminal, essas cartas serão despejadas na memória do terminal e aguardarão que o destinatário as baixe para seu pen drive.

Sessão de comunicação

Vamos tentar enviar uma mensagem com o texto “Olá!” de 10455000001 к 10455000002.

Ver post sobre imgur.com

Isso é tudo!

Terei prazer em receber qualquer crítica ao código-fonte do projeto e ao próprio artigo.

Obrigado por sua atenção.

Fonte: habr.com

Adicionar um comentário