EmailHarvester
==============
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/bc502b9b11744774a5b8c80f4c9f2ffc)](https://www.codacy.com/app/herveberaud-pro/EmailHarvester?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=4383/EmailHarvester&amp;utm_campaign=Badge_Grade)
* A tool to retrieve Domain email addresses from Search Engines
* Check the [License](https://github.com/4383/EmailHarvester/blob/master/LICENSE)

This project was inspired by:
* theHarvester(https://github.com/laramies/theHarvester) from laramies.
* search_email_collector(https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/gather/search_email_collector.rb) from Carlos Perez.


Requirements
============
* Python 3.x
* termcolor
* colorama
* requests
* validators


Features
========
* Retrieve Domain email addresses from popular Search engines (Google, Bing, Yahoo, ASK, Baidu, Dogpile, Exalead).
* Export results to txt and xml files.
* Limit search results.
* Define your own User-Agent string.
* Use proxy server.
* Plugins system.
* Search in popular web sites using Search engines (Twitter, LinkedIn, Google+, Github, Instagram, Reddit, Youtube).


Installation
=====================
Using pip (Preferd method) :
----------------------------
...
pip install EmailHarvester
...

Using git :
-----------
...
git clone https://github.com/4383/EmailHarvester EmailHarvester
cd EmailHarvester
python setup.py install
...


Usage
=====
```
usage: EmailHarvester.py [-h] [-d DOMAIN] [-s FILE] [-e ENGINE] [-l LIMIT]
                         [-u USER-AGENT] [-x PROXY] [--noprint]

 _____                   _  _   _   _                                _
|  ___|                 (_)| | | | | |                              | |
| |__  _ __ ___    __ _  _ | | | |_| |  __ _  _ __ __   __ ___  ___ | |_  ___  _ __
|  __|| '_ ` _ \  / _` || || | |  _  | / _` || '__|\ \ / // _ \/ __|| __|/ _ \| '__|
| |___| | | | | || (_| || || | | | | || (_| || |    \ V /|  __/\__ \| |_|  __/| |
\____/|_| |_| |_| \__,_||_||_| \_| |_/ \__,_||_|     \_/  \___||___/ \__|\___||_|

    A tool to retrieve Domain email addresses from Search Engines | @maldevel
                                Version: 1.4.0

optional arguments:
  -h, --help            show this help message and exit
  -d DOMAIN, --domain DOMAIN
                        Domain to search.
  -s FILE, --save FILE  Save the results into a TXT and XML file (both).
  -e ENGINE, --engine ENGINE
                        Select search engine(google, bing, yahoo, ask, all).
  -l LIMIT, --limit LIMIT
                        Limit the number of results.
  -u USER-AGENT, --user-agent USER-AGENT
                        Set the User-Agent request header.
  -x PROXY, --proxy PROXY
                        Setup proxy server (example: http://127.0.0.1:8080)
  --noprint             EmailHarvester will print discovered emails to terminal.
						It is possible to tell EmailHarvester not to print results to terminal with this option.
  -r EXCLUDED_PLUGINS, --exclude EXCLUDED_PLUGINS
                        Plugins to exclude when you choose 'all' for search engine (eg. '-r google,twitter')
  -p, --list-plugins    List all available plugins.
```


Examples
========
**Search in Google**
* ./EmailHarvester.py -d example.com -e google

**Search in site using Search engines**
* ./EmailHarvester.py -d example.com -e linkedin
* ./EmailHarvester.py -d example.com -e twitter
* ./EmailHarvester.py -d example.com -e googleplus

**Search in all engines/sites**
* ./EmailHarvester.py -d example.com -e all

**Search in all engines/sites but exclude some**
* ./EmailHarvester.py -d example.com -e all -r twitter,ask

**Limit results**
* ./EmailHarvester.py -d example.com -e all -l 200

**Export emails**
* ./EmailHarvester.py -d example.com -e all -l 200 -s emails.txt

**Custom User-Agent string**
* ./EmailHarvester.py -d example.com -e all -u "MyUserAgentString 1.0"

**Proxy Server**
* ./EmailHarvester.py -d example.com -e all -x http://127.0.0.1:8080
