Is Holehe Open Source? Yes — Understanding Its GPL‑v3 License and Modular Architecture
Yes, Holehe is fully open‑source software released under the GNU General Public License v3.0, granting users the legal right to view, modify, and redistribute the codebase.
Holehe is a Python 3 OSINT (Open Source Intelligence) tool that discovers whether an email address has registered accounts on more than 120 web services. Because Holehe is open source under GPL‑v3, security researchers and developers can audit the code, customize service modules, and embed the functionality into their own applications without licensing fees.
Confirming Holehe's Open‑Source Status
The megadose/holehe repository on GitHub includes a complete LICENSE.md file in the repository root that explicitly states the GPL‑v3 terms. This license permits anyone to use the software for any purpose, study how it works, share copies, and distribute modified versions—provided that derivative works also carry the same license terms. The presence of this license file confirms that Holehe meets the Open Source Initiative's definition of open‑source software.
How the Open‑Source Architecture Works
Holehe's codebase is deliberately modular, making it straightforward for contributors to extend functionality. The architecture relies on asynchronous Python patterns using httpx and trio for concurrent, non‑blocking HTTP requests.
Core Orchestration
In holehe/core.py, the run() function serves as the main entry point. This file loads the module registry, initializes a shared httpx.AsyncClient, and aggregates results from all service checks. The core handles the concurrent execution of modules, ensuring that checking 120+ services happens in parallel rather than sequentially.
Module Registry
The holehe/modules/__init__.py file dynamically imports each service‑specific checker. When the core engine initializes, it scans this registry to discover available modules, allowing new services to be added without hardcoding them into the main logic.
Service Modules
Each supported platform lives in its own Python file under holehe/modules/. For example, holehe/modules/social_media/instagram.py implements the Instagram‑specific check by driving the password‑recovery or registration flow. Every module follows a standardized signature: an async function that accepts an email, an HTTP client, and a results list, then appends a dictionary with keys including name, exists, emailrecovery, and rateLimit.
Using Holehe as Open‑Source Software
Because the source is available, you can run Holehe via CLI or embed it directly into Python applications.
Command‑Line Usage
Install the package and check an email from your terminal:
holehe test@example.com
This executes all registered modules concurrently and prints a formatted table showing which services have accounts registered to the supplied email.
Embedding in Python Applications
You can import specific modules or the full engine programmatically:
import trio, httpx
from holehe.core import run
async def check_email(email):
async with httpx.AsyncClient() as client:
results = await run(email, client)
return results
# Run the check
output = trio.run(check_email, "user@example.com")
for result in output:
print(result)
This pattern allows you to integrate Holehe's OSINT capabilities into larger security tools or automation workflows while maintaining full control over the execution context.
Summary
- Holehe is GPL‑v3 licensed, making it free to use, study, modify, and distribute according to open‑source principles.
- The modular architecture in
holehe/core.pyandholehe/modules/allows easy extension by adding new service checkers. - Dual interfaces provide both CLI convenience and programmatic Python API access via
trioandhttpx. - Standardized output schemas ensure that results from all 120+ modules follow a consistent dictionary format with
exists,rateLimit, andemailrecoverykeys.
Frequently Asked Questions
Is Holehe free to use commercially?
Yes. The GPL‑v3 license permits commercial use without fees. However, if you modify the source code and distribute the software (including as part of a larger product), you must release your modifications under the same GPL‑v3 license terms and provide the source code to recipients.
What license is Holehe released under?
Holehe is released under the GNU General Public License version 3.0 (GPL‑v3). This is confirmed by the LICENSE.md file in the repository root, which grants users the four essential freedoms of open‑source software: to run, study, redistribute, and modify the program.
Can I modify and redistribute Holehe?
Yes. You can fork the megadose/holehe repository, modify the modules in holehe/modules/, and redistribute your version. GPL‑v3 requires that you include the license text and make your source code available to recipients if you distribute binaries or host the service publicly.
How do I contribute new service modules to Holehe?
To add a new service, create a Python file in the appropriate subdirectory under holehe/modules/ that implements an async function following the standard signature. The function must accept (email, client, result_list) parameters and append a dictionary with the required keys (name, exists, rateLimit, emailrecovery, etc.). Submit this module via pull request to the GitHub repository.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →