
يبحث في قاعدة بيانات Elasticsearch عن عناوين البريد الإلكتروني
صُمم هذا البرنامج المكتوب بلغة 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، عنوان واحد في كل سطر:
go run email_extractor.go url_list.txt
سيتجاهل البرنامج أي شهادات SSL غير صالحة، وسيستخرج عناوين البريد الإلكتروني فقط، ويسجل عنوان البريد الإلكتروني المستخرج مع عنوان URL المصدر الخاص به في ملف output.txt
دالة searchURLs هي المكان الذي يتم فيه تنفيذ معظم العمل. تأخذ عنوان URL وتنفذ طلب HTTP GET لاسترداد HTML. ثم تستخدم حزمة regexp لاستخراج عناوين البريد الإلكتروني من HTML. أخيراً، تكتب عناوين البريد الإلكتروني التي تم العثور عليها مع عنوان URL إلى ملف output.txt.
الدالة main مسؤولة عن فحص وسائط سطر الأوامر وإما قراءة عناوين URL من ملف نصي أو استخدام عناوين URL المقدمة كوسائط لسطر الأوامر. ثم تستدعي دالة searchURLs لكل عنوان URL مقدم.
تُستخدم دالة removeDuplicates لإزالة عناوين البريد الإلكتروني المكررة التي قد يتم العثور عليها. تستخدم هذه الدالة map لتتبع العناصر الفريدة، ثم تحول مفاتيح الـ map مرة أخرى إلى slice.