
Searches Elasticsearch database for email addresses
Este programa em Go foi projetado para extrair endereços de e-mail de uma lista de bancos de dados Elastic Search.
Ele recebe uma lista de URLs e pesquisa o banco de dados de cada URL para encontrar endereços de e-mail.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Para executar o programa, você pode fornecer uma lista de URLs como argumentos de linha de comando:
go run email_extractor.go http://111.111.111.111:9200
Alternativamente, você pode fornecer um arquivo de texto contendo uma lista de URLs, uma por linha:
go run email_extractor.go url_list.txt
O programa ignorará quaisquer certificados SSL inválidos e extrairá apenas endereços de e-mail, registrando o endereço de e-mail extraído junto com sua URL de origem em um arquivo output.txt.
A função searchURLs é onde a maior parte do trabalho é feita. Ela recebe uma URL e realiza uma requisição HTTP GET para obter o HTML. Em seguida, utiliza o pacote regexp para extrair endereços de e-mail do HTML. Por fim, grava os endereços de e-mail encontrados junto com a URL em output.txt.
A função main é responsável por verificar os argumentos da linha de comando e, em seguida, ler as URLs de um arquivo de texto ou usar as URLs fornecidas como argumentos de linha de comando. Depois, ela chama a função searchURLs para cada URL fornecida.
A função removeDuplicates é usada para remover endereços de e-mail duplicados que possam ser encontrados. Essa função usa um mapa para rastrear elementos únicos e, em seguida, converte as chaves do mapa de volta para um slice.