
Searches Elasticsearch database for email addresses
Questo programma in Go è progettato per estrarre indirizzi email da un elenco di database Elastic Search.
Accetta un elenco di URL ed esegue una ricerca nel database di ciascun URL per trovare indirizzi email.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Per eseguire il programma, puoi fornire un elenco di URL come argomenti della riga di comando:
go run email_extractor.go http://111.111.111.111:9200
In alternativa, puoi fornire un file di testo contenente un elenco di URL, uno per riga:
go run email_extractor.go url_list.txt
Il programma ignorerà eventuali certificati SSL non validi ed estrarrà solo gli indirizzi email, registrando l'indirizzo email estratto insieme all'URL di origine in un file output.txt
La funzione searchURLs è dove viene svolto la maggior parte del lavoro. Accetta un URL ed esegue una richiesta HTTP GET per recuperare l'HTML. Utilizza quindi il pacchetto regexp per estrarre gli indirizzi email dall'HTML. Infine, scrive gli indirizzi email trovati insieme all'URL in output.txt.
La funzione main è responsabile del controllo degli argomenti della riga di comando e della lettura degli URL da un file di testo o dell'utilizzo degli URL forniti come argomenti della riga di comando. Successivamente chiama la funzione searchURLs per ciascun URL fornito.
La funzione removeDuplicates viene utilizzata per rimuovere eventuali indirizzi email duplicati trovati. Questa funzione utilizza una mappa per tenere traccia degli elementi univoci, quindi riconverte le chiavi della mappa in una slice.