
Searches Elasticsearch database for email addresses
Ce programme Go est conçu pour extraire des adresses e-mail à partir d'une liste de bases de données Elastic Search.
Il prend une liste d'URL et recherche dans la base de données de chaque URL les adresses e-mail.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Pour exécuter le programme, vous pouvez fournir une liste d'URL en arguments de la ligne de commande :
go run email_extractor.go http://111.111.111.111:9200
Vous pouvez également fournir un fichier texte contenant une liste d'URL, une par ligne :
go run email_extractor.go url_list.txt
Le programme ignorera les certificats SSL invalides, extraira uniquement les adresses e-mail et enregistrera l'adresse e-mail extraite avec son URL source dans un fichier output.txt
La fonction searchURLs est celle où l'essentiel du travail est effectué. Elle prend une URL et effectue une requête HTTP GET pour récupérer le HTML. Elle utilise ensuite le package regexp pour extraire les adresses e-mail du HTML. Enfin, elle écrit les adresses e-mail trouvées ainsi que l'URL dans output.txt.
La fonction main est chargée de vérifier les arguments de la ligne de commande et de lire les URL à partir d'un fichier texte ou d'utiliser les URL fournies comme arguments de la ligne de commande. Elle appelle ensuite la fonction searchURLs pour chaque URL fournie.
La fonction removeDuplicates est utilisée pour supprimer les adresses e-mail en double qui pourraient être trouvées. Cette fonction utilise une map pour suivre les éléments uniques, puis convertit les clés de la map en une slice.