5

Fiz um e-mail descartável com foco em zero retenção

Fala, pessoal!

Sou dev e toda vez que um teste E2E precisava de um e-mail de verdade (código de 2FA, link de reset de senha), virava gambiarra: inbox compartilhada, script de polling, alguém copiando código na mão ou desabilitando para um dominio/e-mail/usuário específico.

Daí nasceu o Ahrara (https://ahrara.dev), um e-mail descartável open source (e 100% free) em que o servidor não guarda nada e que mesmo sem conta, consegue adicionar uma "identidade" única a você. Usando o Ahrara, você pode receber e-mails no seus testes de forma direta sem enrolação, conta e de forma fácil. Só instala o SDK/Framework ou outro meio e seja feliz.

Estou compartilhando por aqui, pois vejo que é uma forma de disponibilizar e-mails de uma maneira diferente e com ferramentas/meios não muito conhecidos. A maioria dos serviços hoje de disposable e-mails, rentem o e-mail, mesmo que temporariamente, mas ainda retém, então fiz todo este projeto com foco em zero retenção dos dados.

Antes de tudo, o ahrara não é um open email relay.

Como tá sendo feito:

  • Um Relay em Rust que recebe o SMTP e repassa direto pro cliente conectado por WebSocket.

  • Cloudflare Tunnel - Para não abrir milhares de conexões no servidor, o cloudflared nos ajuda a transforma em algunas conexões apenas

  • Identidade por chave, sem conta: o cliente gera um par Ed25519 local e o endereço é derivado da chave pública.

  • E-mail único: Mesmo sendo disposable, só você é dono do seu e-mail (ao menos que tu passe sua private key para alguém ;) )

  • A caixa de entrada fica na máquina do usuário criptografada: Este é o ponto principal, tudo fica no cliente, o relay é apenas um mensageiro.

  • Suporta: Terminal, Web, SDK's, Frameworks e Agents IA.

Feedback é muito bem-vindo, principalmente de QA's e quem faz automação de testes ;) , talvez eu tenha esquecido algum framework/sdk ou inclusive há formas melhores para facilitar a vida.

Uma curiosidades do projeto:

Foi necessário fazer um pequeno port do cloudflared. Hoje ele é feito em Go (a versão mantida pela Cloudflare, portamos para Rust) e no primeiro teste de carga, 30k de conexões, consumiu cerca de 1,5 GB de RAM. Foi necessário fazer um fork e customizar um pouco a ferramenta. Hoje nos benchmark aguentamos cerca de 200k tendo em média 450mb apenas de RAM.

Obviamente esse ganho não é o port para Rust, mas sim customização no buffer de envio e recibo que o original tem e que no nosso não havia necessidade.

Carregando publicação patrocinada...
1

Meus 2 cents,

Parabens pela iniciativa !

Manter um servidor de email para este tipo de necessidade (emails temporarios de cadastro e testes) eh uma mao na roda.

Repositorio devidamente starreado e forkeado, obrigado por compartilhar !

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS