UPDATE (February 2025):
The process for using this tool have become much simpler. Assuming you have github and gitpod accounts,
1 - you put this url into your browser : “gitpod.io/#https://github.com/megadose/holehe”
2 - wait and then click “new workspace”
3 - wait and when the the virtual computer is opened up, just type in “holehe” followed by the email address you want to investigate. For example “holehe fake@example.com”
4 - Hit “enter” and you are done!
We can identify a list of websites where a specific email address has registered accounts in a very straightforward process of 6 steps. This process does not require the reader to know, learn, or download Python, but does use a Python script.
CREDIT WHERE IT IS DUE:This process does not require a knowledge of Python but the explanation must address the computer language a bit. The Github user account Megadosehosts an amazing Python script named Holehe and deserves a lot of credit for this creation.
The script will find the different social media networks where the email is registered to an account. However, because many people do not know anything about Python, I’ve come up with a process intended for people that do not know anything about python and do not want to learn about it. It is a rote process requires no knowledge of python, no downloads, and no thinking at all.
Instructions for First Time Using Holehe
Step 1 (the hardest) – Click here and sign up for an account on Github . Sorry, that is more than one step but the process is simple and it gets easy afterward.
Step 2 – Login to Gitpod. You do not need to sign up for Gitpod if you already have a Github account. Go here (https://gitpod.io/login/) and you will see an option on the left to sign in with your Github account even though you don’t have a Gitpod account. See below:
Once you have logged in your page will probably look like this:
Step 3 – Copy and paste this url into your browser and hit Enter:
gitpod.io/#https://github.com/megadose/holehe
Why? – Basically, you are making a url that consists of the gitpod website url, a hashtage, and the url of the github page for the script.
Here is the explanation. We want to run a Python script but to do so we need a development environment. Normally you would download it but in this case, Gitpod provides a development environment online where you can run Python scripts. When you identify a script posted on Github you create a url of the Gitpod website’s url, a Hashtag, and the url for the page hosting the Python script. So with our script hosted at https://github.com/megadose/holehe, we create a url like this:
gitpod.io + /# + https://github.com/megadose/holehe
Gitpod will create a workspace, a virtual computer, specifically for running the script. The script and its affiliated files will be downloaded though you will likely still have to run the setup.py file, or its equivalent. If you go to the script’s page on Github there should be instructions for downloading and running the script.
Wait for Gitpod to do some processing and then your computer should look like this:
Step 4 – At the bottom of the screen find where it says “/workspace/holehe $”.
Click to the right of these words and type “python3 setup.py install” and then hit enter.
Step 5 – Wait for the install to complete and then right click on the folder on the type left that is named “holehe” (not the one titled “holehe.egg-info”). When you right click on the folder a drop down menu appears, choose “open in terminal”.
A new tab has appeared in the terminal, notice the new tab that reads “gitpod /workspace/holehe/holehe” and the cursor is located next to a similarly named prompt.
Step 6 – Finally, choose your email that you want to research, in our case we will use the fake example email “fake@example.com”
Now the last thing to do is type in the final sequence with your email in place of our fake example. So find the prompt “gitpod /workspace/holehe/holehe $” and next to it you will type the following and hit enter:
“holehe fake@example.com”
Results: Separately, I ran a real email address for an example to show how the results should look. The output is a list of 50 or so social media networks and other websites. If the name of the site/network is purple, there was no account on it, green means there is an account registered with the email address and red means the script could not check the site. Hopefully you got something like this:
Now that you’ve done this once, the process will be much easier in the future.
Next time
Login to Gitpod and there will be a workspace named for the script. It should look like the image below. Just click “Open” on the workspace.
From here, you repeat steps 4, 5, and 6. You install setup.py, open a new terminal tab, and run the command.
That’s it!