
Searches Elasticsearch database for email addresses
Dieses Go-Programm wurde entwickelt, um E-Mail-Adressen aus einer Liste von Elastic-Search-Datenbanken zu extrahieren.
Es nimmt eine Liste von URLs entgegen und durchsucht die Datenbank jeder URL, um E-Mail-Adressen zu finden.
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
Um das Programm auszuführen, können Sie eine Liste von URLs als Befehlszeilenargumente angeben:
go run email_extractor.go http://111.111.111.111:9200
Alternativ können Sie eine Textdatei bereitstellen, die eine Liste von URLs enthält, eine pro Zeile:
go run email_extractor.go url_list.txt
Das Programm ignoriert ungültige SSL-Zertifikate, extrahiert nur E-Mail-Adressen und protokolliert die extrahierte E-Mail-Adresse zusammen mit ihrer Quell-URL in einer Datei output.txt
Die Funktion searchURLs erledigt den Großteil der Arbeit. Sie nimmt eine URL entgegen und führt eine HTTP-GET-Anfrage aus, um das HTML abzurufen. Anschließend verwendet sie das Paket regexp, um E-Mail-Adressen aus dem HTML zu extrahieren. Schließlich schreibt sie die gefundenen E-Mail-Adressen zusammen mit der URL in output.txt.
Die Funktion main ist dafür verantwortlich, die Befehlszeilenargumente zu prüfen und entweder URLs aus einer Textdatei zu lesen oder die als Befehlszeilenargumente bereitgestellten URLs zu verwenden. Anschließend ruft sie die Funktion searchURLs für jede bereitgestellte URL auf.
Die Funktion removeDuplicates wird verwendet, um doppelte E-Mail-Adressen zu entfernen, die möglicherweise gefunden werden. Diese Funktion verwendet eine map, um eindeutige Elemente zu verfolgen, und konvertiert die Schlüssel der map anschließend zurück in ein slice.