Email Harvester 🕵️‍♂️
đź“‹ Panoramica
Email Harvester è un’applicazione web full‑stack che trova automaticamente gli indirizzi email associati a un dominio specificato, li confronta con API pubbliche su violazioni di dati per segnalare eventuali account compromessi e presenta i risultati in un’interfaccia semplice e interattiva. Unisce un backend Python basato su Flask per lo scraping e i controlli delle violazioni a un frontend Node.js/EJS, il tutto orchestrato con Docker Compose per un deploy in un solo passaggio.
🎯 Caratteristiche principali
- Estrazione email da dominio: esplora siti web e risorse pubbliche per raccogliere indirizzi email.
- Elaborazione asincrona: i processi di backend vengono eseguiti in parallelo per garantire alte prestazioni.
- “Secure” vs. “Predicted”: distingue le email trovate direttamente (“secure”) da quelle ricavate per pattern (“predicted”).
- Verifica violazioni: si integra con HaveIBeenPwned (o servizi simili) per evidenziare gli account compromessi.
- Interfaccia intuitiva: realizzata con Node.js ed EJS per un feedback in tempo reale.
- Archivio persistente: memorizza i risultati in MongoDB per analisi successive ed esportazione.
- Deploy containerizzato: uno script Docker Compose avvia tutti i servizi (backend, frontend, database) con un unico comando.
🏗️ Architettura
- Backend (Flask/Python)
- Espone endpoint REST per avviare la scansione di un dominio, recuperare i risultati archiviati e controllare le violazioni.
- Usa richieste HTTP asincrone e worker in background per gestire crawl di grandi dimensioni.
- Frontend (Node.js/EJS)
- Renderizza il modulo di ricerca e le pagine dei risultati.
- Comunica con l’API del backend per avviare le scansioni e aggiornare i dati.
- Database (MongoDB)
- Conserva gli indirizzi email estratti, le etichette di classificazione e le informazioni sullo stato delle violazioni.
- Orchestrazione
- Docker Compose definisce tre servizi:
backend
,frontend
emongodb
, garantendo ambienti coerenti e facile scalabilitĂ .
- Docker Compose definisce tre servizi:
đź”§ Prerequisiti
🚀 Avvio rapido
-
Clona il repository
git clone https://github.com/AlBovo/emailHarvester.git cd emailHarvester
-
Configura
- Copia
.env.example
in.env
e inserisci la tua URI MongoDB e la chiave API per i controlli violazioni.
- Copia
-
Build & run
docker-compose up -d --build
-
Accedi all’app
Apri http://localhost:3000 nel browser.
⚙️ Utilizzo
- Inserisci il dominio di destinazione nel campo di ricerca.
- Clicca “Harvest” per avviare lo scraping e la verifica delle violazioni.
- Consulta la tabella dei risultati, con la classificazione di ogni email e il suo stato di violazione.
- Esporta o cancella i risultati utilizzando i controlli dell’interfaccia.
🖼️ Screenshot