
Ищет адреса электронной почты в базе данных Elasticsearch
Эта программа на Go предназначена для извлечения email-адресов из списка баз данных Elastic Search.
Она принимает список URL-адресов и выполняет поиск email-адресов в базе данных каждого URL-адреса.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Для запуска программы вы можете передать список URL-адресов в качестве аргументов командной строки:
go run email_extractor.go http://111.111.111.111:9200
В качестве альтернативы вы можете указать текстовый файл со списком URL-адресов, по одному в строке:
go run email_extractor.go url_list.txt
Программа игнорирует недействительные SSL-сертификаты, извлекает email-адреса и записывает найденные адреса вместе с исходным URL в файл output.txt.
Основная работа выполняется в функции searchURLs. Она принимает URL, выполняет HTTP GET-запрос для получения HTML. Затем она использует пакет regexp для извлечения email-адресов из HTML. Наконец, она записывает найденные email-адреса вместе с URL в файл output.txt.
Функция main отвечает за проверку аргументов командной строки: она либо читает URL-адреса из текстового файла, либо использует URL-адреса, переданные в качестве аргументов командной строки. Затем она вызывает функцию searchURLs для каждого переданного URL-адреса.
Функция removeDuplicates используется для удаления повторяющихся email-адресов, которые могут быть найдены. Эта функция использует map для отслеживания уникальных элементов, а затем преобразует ключи map обратно в срез.