
Busca direcciones de correo electrónico en la base de datos Elasticsearch
Este programa en Go está diseñado para extraer direcciones de correo electrónico de una lista de bases de datos de Elastic Search.
Recibe una lista de URLs y busca en la base de datos de cada URL para encontrar direcciones de correo electrónico.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Para ejecutar el programa, puedes proporcionar una lista de URLs como argumentos de línea de comandos:
go run email_extractor.go http://111.111.111.111:9200
Alternativamente, puedes proporcionar un archivo de texto que contenga una lista de URLs, una por línea:
go run email_extractor.go url_list.txt
El programa ignorará cualquier certificado SSL no válido y solo extraerá direcciones de correo electrónico, registrando la dirección extraída junto con su URL de origen en un archivo output.txt.
La función searchURLs es donde se realiza la mayor parte del trabajo. Recibe una URL y realiza una petición HTTP GET para obtener el HTML. Luego utiliza el paquete regexp para extraer las direcciones de correo electrónico del HTML. Finalmente, escribe las direcciones encontradas junto con la URL en output.txt.
La función main se encarga de comprobar los argumentos de la línea de comandos y de leer las URLs de un archivo de texto o de usar las URLs proporcionadas como argumentos de línea de comandos. Luego llama a la función searchURLs para cada URL proporcionada.
La función removeDuplicates se utiliza para eliminar las direcciones de correo electrónico duplicadas que puedan encontrarse. Esta función usa un map para realizar un seguimiento de los elementos únicos y, a continuación, convierte las claves del map de nuevo en un slice.