Finalizado

Nexus Chat

Node.js Express Socket.io TweetNaCl JWT SQLite

set. de 2024 — nov. de 2024

Screenshots em breve.

Sobre o Projeto

Nexus Chat implementa criptografia end-to-end real em conversas privadas — as chaves são geradas no navegador do usuário e nem o servidor tem acesso ao conteúdo das mensagens. O servidor atua apenas como retransmissor de bytes cifrados.

Criptografia End-to-End

  • TweetNaCl — biblioteca de criptografia auditada, implementação da NaCl
  • X25519 Diffie-Hellman — troca de chaves sem expor a chave privada
  • XSalsa20-Poly1305 — cifra autenticada para as mensagens
  • Geração de chaves no cliente — chave privada nunca sai do navegador

Funcionalidades

  • Chat em tempo real com Socket.io
  • E2E em conversas privadas; grupos sem E2E
  • Upload de fotos, vídeos e arquivos via multer
  • Indicador de digitando em tempo real
  • Confirmacao dupla de leitura
  • Autenticação JWT com bcrypt

Observações Técnicas

Iframes desabilitados — WebSockets não funcionam bem dentro de iframe. Em produção real: PostgreSQL em vez de SQLite, e AWS S3 ou Cloudflare R2 para uploads (o armazenamento local no Render gratuito é efêmero).

Como Rodar Localmente

git clone https://github.com/Guimaraes-Davi/nexus-chat
cd nexus-chat
npm install
npm start

Acesse http://localhost:3000.