Where Are the Website Modules Located in the Holehe Repository?
All website-specific check modules in Holehe are stored under the holehe/modules/ directory, categorized by service type.
The open-source OSINT tool Holehe by megadose organizes every site-specific check into a modular architecture. Understanding where these website modules are located is essential for developers looking to extend functionality or debug specific service checks.
The holehe/modules/ Directory Structure
The holehe.modules package serves as the central repository for all service-specific implementations. Rather than placing all checks in a single folder, the codebase organizes modules into logical subdirectories based on the platform's primary function.
Social Media and Entertainment Platforms
Social media account checks reside in holehe/modules/social_media/. This directory contains implementations for major platforms:
twitter.py– Handles Twitter/X account verificationinstagram.py– Instagram profile lookupsfacebook.py– Facebook existence checks
Music and audio service modules live in holehe/modules/music/, including spotify.py, soundcloud.py, and lastfm.py.
Communication and Professional Services
Email provider checks are grouped under holehe/modules/mails/:
google.py– Gmail account verificationyahoo.py– Yahoo Mail checksprotonmail.py– ProtonMail account lookups
Job and freelancing platforms occupy holehe/modules/jobs/, featuring freelancer.py, seoclerks.py, and coroflot.py.
Specialized Categories
The repository includes additional categorical directories:
holehe/modules/forum/– Community forums likethevapingforum.py,onlinesequencer.py, andmybb.pyholehe/modules/transport/– Travel services such asblablacar.pyholehe/modules/learning/– Educational platforms includingduolingo.pyandquora.pyholehe/modules/medical/– Health sites likecaringbridge.pyandsevencups.pyholehe/modules/porn/– Adult content platforms includingpornhub.pyandxnxx.pyholehe/modules/company/– Personal branding sites likeaboutme.py
Dynamic Module Loading in holehe/core.py
The core application logic in holehe/core.py discovers and imports these modules dynamically. Instead of maintaining static import statements, the framework iterates over the holehe/modules/ directory structure to load available checks at runtime. Each module implements a single class that knows how to query the corresponding website for possible data leaks.
# Example: Importing a specific social media module
from holehe.modules.social_media import twitter
# Instantiate and search
result = twitter.Twitter().search("example_user")
print(result)
# Example: Running all available modules via the core
from holehe.core import Holehe
holehe = Holehe()
results = holehe.run("example_user")
for module_name, data in results.items():
print(f"{module_name}: {data}")
Extending Holehe with New Website Modules
To add support for a new service, create a Python file in the appropriate subdirectory under holehe/modules/. Each module must implement a class with a standardized interface that the core can instantiate and call. The dynamic loader in holehe/core.py automatically detects new files placed in these directories without requiring modifications to the main application code.
Summary
- Primary location: All website modules reside under
holehe/modules/in the megadose/holehe repository - Categorization: Subdirectories organize modules by service type (social_media, mails, jobs, forum, etc.)
- Key files:
twitter.py,spotify.py,google.py, andfreelancer.pyrepresent specific implementations in their respective category folders - Dynamic loading:
holehe/core.pyautomatically discovers modules by scanning the package structure at runtime - Extensibility: New checks require only adding a properly formatted Python file to the appropriate category folder
Frequently Asked Questions
What is the exact file path for Holehe's Twitter module?
The Twitter checking module is located at holehe/modules/social_media/twitter.py. This file implements the Twitter class that queries the service for account existence according to the source code structure.
How does Holehe automatically import website modules?
The holehe/core.py file contains logic that iterates over the holehe/modules/ package structure. It dynamically imports each Python file it discovers, eliminating the need for manual registration of new modules in the core application.
Can I add custom website modules to Holehe without modifying core files?
Yes. Create a new Python file in the appropriate subdirectory under holehe/modules/ (such as holehe/modules/social_media/ for a new social platform). As long as the module follows the expected class structure, holehe/core.py will automatically detect and load it during runtime.
Where are email service modules located in Holehe?
Email provider modules are stored in holehe/modules/mails/. This directory includes google.py for Gmail, yahoo.py for Yahoo Mail, and protonmail.py for ProtonMail verification checks.
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 →