
Searches Elasticsearch database for email addresses
यह Go प्रोग्राम Elastic Search डेटाबेस की सूची से ईमेल पते निकालने के लिए डिज़ाइन किया गया है।
यह URL की एक सूची लेता है और ईमेल पते खोजने के लिए प्रत्येक URL के डेटाबेस को खोजेगा।
go install github.com/RandomRobbieBF/elastic-search-email-extractor@latest
प्रोग्राम चलाने के लिए, आप कमांड लाइन तर्कों के रूप में URL की सूची प्रदान कर सकते हैं:
go run email_extractor.go http://111.111.111.111:9200
वैकल्पिक रूप से, आप URL की सूची वाली एक टेक्स्ट फ़ाइल प्रदान कर सकते हैं, प्रति पंक्ति एक URL:
go run email_extractor.go url_list.txt
प्रोग्राम किसी भी खराब SSL प्रमाणपत्र को अनदेखा करेगा, और केवल ईमेल पते निकालेगा तथा निकाले गए ईमेल पते को उसके स्रोत URL के साथ output.txt फ़ाइल में लॉग करेगा।
searchURLs फ़ंक्शन वह जगह है जहाँ अधिकांश काम किया जाता है। यह एक URL लेता है और HTML प्राप्त करने के लिए HTTP GET अनुरोध करता है। फिर यह HTML से ईमेल पते निकालने के लिए regexp पैकेज का उपयोग करता है। अंत में, यह मिले ईमेल पतों को URL के साथ output.txt में लिखता है।
main फ़ंक्शन कमांड लाइन तर्कों की जाँच करने और या तो टेक्स्ट फ़ाइल से URLs पढ़ने या कमांड लाइन तर्कों के रूप में प्रदान किए गए URLs का उपयोग करने के लिए ज़िम्मेदार है। फिर यह प्रदान किए गए प्रत्येक URL के लिए searchURLs फ़ंक्शन को कॉल करता है।
removeDuplicates फ़ंक्शन का उपयोग मिल सकने वाले डुप्लिकेट ईमेल पतों को हटाने के लिए किया जाता है। यह फ़ंक्शन अद्वितीय तत्वों को ट्रैक करने के लिए एक map का उपयोग करता है, और फिर map कुंजियों को वापस slice में बदल देता है।