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:

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/:

Job and freelancing platforms occupy holehe/modules/jobs/, featuring freelancer.py, seoclerks.py, and coroflot.py.

Specialized Categories

The repository includes additional categorical directories:

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, and freelancer.py represent specific implementations in their respective category folders
  • Dynamic loading: holehe/core.py automatically 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →