Convert Figma logo to code with AI

soxoj logomaigret

🕵️‍♂️ Collect a dossier on a person by username from thousands of sites

13,300
918
13,300
269

Top Related Projects

59,570

Hunt down social media accounts by username across social networks

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites

This repository has the JSON file required to perform user enumeration on various websites.

7,773

holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.

15,879

🕵️‍♂️ Offensive Google framework.

Quick Overview

Maigret is an open-source intelligence (OSINT) tool designed to collect a person's profiles and digital footprints across various online platforms. It uses username checking, profile extraction, and data analysis to gather information from over 2500 sites, providing a comprehensive view of an individual's online presence.

Pros

  • Extensive coverage with support for over 2500 sites
  • Detailed output including profile information and potential connections
  • Customizable search options and output formats
  • Active development and community support

Cons

  • May raise privacy concerns if used unethically
  • Can be resource-intensive for large-scale searches
  • Accuracy depends on the uniqueness of the username and site availability
  • Requires careful interpretation of results to avoid false positives

Code Examples

# Basic search for a username
from maigret import search_username
search_username('johndoe')
# Search with custom options
from maigret import search_username
search_username('johndoe', timeout=10, sites=['twitter', 'facebook', 'linkedin'])
# Export results to JSON
from maigret import search_username
results = search_username('johndoe', json_file='results.json')

Getting Started

To get started with Maigret, follow these steps:

  1. Install Maigret:

    pip install maigret
    
  2. Run a basic search:

    from maigret import search_username
    results = search_username('target_username')
    
  3. Customize your search:

    from maigret import search_username
    results = search_username('target_username', timeout=15, sites=['twitter', 'instagram'], print_found_only=True)
    

For more advanced usage and options, refer to the project's documentation on GitHub.

Competitor Comparisons

59,570

Hunt down social media accounts by username across social networks

Pros of Sherlock

  • Larger community and more contributors, potentially leading to faster updates and bug fixes
  • Simpler installation process, requiring fewer dependencies
  • More extensive documentation and usage examples

Cons of Sherlock

  • Limited to username searches, while Maigret supports additional search types
  • Less flexible configuration options compared to Maigret
  • Slower execution speed for large-scale searches

Code Comparison

Sherlock:

def sherlock(username, site_data, timeout=60):
    results = {}
    for site in site_data:
        results[site] = check_username(username, site_data[site], timeout)
    return results

Maigret:

async def maigret(username, sites, timeout=60):
    results = {}
    async with aiohttp.ClientSession() as session:
        tasks = [check_username(session, username, site, timeout) for site in sites]
        results = await asyncio.gather(*tasks)
    return results

The main difference is that Maigret uses asynchronous programming, potentially allowing for faster execution when searching multiple sites simultaneously.

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

Pros of EagleEye

  • Focuses specifically on facial recognition and image analysis
  • Integrates with multiple social media platforms for comprehensive search
  • Provides visual output and image clustering capabilities

Cons of EagleEye

  • Less actively maintained (last update in 2019)
  • More limited in scope, primarily focused on image-based searches
  • Requires additional dependencies for facial recognition functionality

Code Comparison

EagleEye:

def get_social_media_profiles(self):
    for website in self.websites:
        if website.rateLimit:
            time.sleep(website.rateLimit)
        website.getResults(self.person)

Maigret:

async def search(self, username, site, query_notify):
    try:
        await site.check_username(username)
        query_notify.update(result=QueryResult(username, site.name, site.url_user.format(username), QueryStatus.CLAIMED))
    except Exception as error:
        query_notify.update(result=QueryResult(username, site.name, site.url_user.format(username), QueryStatus.UNKNOWN, error))

EagleEye focuses on retrieving social media profiles through image analysis, while Maigret performs username searches across various platforms. Maigret's code demonstrates asynchronous functionality and more robust error handling, reflecting its broader scope and more active development.

API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites

Pros of social-analyzer

  • Supports a wider range of social networks and websites (300+)
  • Provides a web interface for easier use by non-technical users
  • Offers multiple output formats (JSON, XML, HTML)

Cons of social-analyzer

  • Less actively maintained (last update 8 months ago vs. 12 days for Maigret)
  • Slower performance due to browser automation
  • Limited customization options compared to Maigret

Code comparison

Maigret:

async def main():
    search_func = partial(maigret.search, timeout=args.timeout, logger=logger)
    results = await search_func(username=args.username, site_dict=site_data)

social-analyzer:

def find_username_normal(req):
    options = []
    options.append(["FindUserProfilesFast"]) if req["method"] == "find" else options.append(["GetUserProfilesFast"])
    return find_username_template(req, options)

Both projects use asynchronous programming for efficient data retrieval, but Maigret's code appears more concise and focused on the core functionality of username searching. social-analyzer's code shows a more complex structure with additional options and methods.

This repository has the JSON file required to perform user enumeration on various websites.

Pros of WhatsMyName

  • Focused specifically on username enumeration across various platforms
  • Extensive database of web sites and username formats
  • Lightweight and easy to integrate into other tools

Cons of WhatsMyName

  • Limited to username searches only, doesn't provide additional OSINT features
  • Requires manual updates to the site database
  • Less comprehensive reporting compared to Maigret

Code Comparison

WhatsMyName (Python):

def check_site(site, username):
    uri_check = site['uri_check']
    if '{username}' in uri_check:
        url = uri_check.format(username=username)
    # ... (additional code)

Maigret (Python):

async def detect_username(self, username, sites=None):
    tasks = []
    for site in (sites or self.sites):
        task = asyncio.create_task(self.check_username(site, username))
        tasks.append(task)
    # ... (additional code)

WhatsMyName focuses on a straightforward approach to checking usernames across sites, while Maigret employs asynchronous processing for more efficient and comprehensive OSINT gathering. Maigret offers a broader range of features beyond username searches, making it more versatile for general OSINT purposes. However, WhatsMyName's simplicity and specific focus on usernames can be advantageous for targeted username enumeration tasks.

7,773

holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.

Pros of holehe

  • Focused specifically on email address checking
  • Lightweight and easy to use as a Python library
  • Faster execution for email-only searches

Cons of holehe

  • Limited to email address searches only
  • Smaller number of supported websites/services
  • Less frequent updates and maintenance

Code Comparison

holehe:

def instagram(email):
    r = requests.get("https://www.instagram.com/accounts/login/")
    csrf = r.cookies["csrftoken"]
    r = requests.post("https://www.instagram.com/accounts/login/ajax/",
                      data={"email": email, "username": "", "password": ""},
                      headers={"X-CSRFToken": csrf})
    if r.json()["status"] == "fail":
        return({"rateLimit": False, "exists": True, "emailrecovery": None, "phoneNumber": None, "others": None})
    else:
        return({"rateLimit": False, "exists": False, "emailrecovery": None, "phoneNumber": None, "others": None})

Maigret:

async def check_username(username):
    results = await maigret.search(username)
    for website_name in results:
        if results[website_name]['status'].id == 'CLAIMED':
            print(f"{website_name}: {results[website_name]['url_user']}")

Maigret offers a more comprehensive search across various platforms, supporting username searches beyond just email addresses. It provides more detailed results and has a larger database of supported websites. However, holehe's focused approach on email checking can be advantageous for specific use cases requiring quick email validation across multiple services.

15,879

🕵️‍♂️ Offensive Google framework.

Pros of GHunt

  • Specialized in Google account investigations
  • Provides detailed information about Google services usage
  • Offers a user-friendly CLI interface

Cons of GHunt

  • Limited to Google accounts only
  • Requires more setup and dependencies
  • Less frequently updated compared to Maigret

Code Comparison

Maigret:

async def main():
    results = await maigret.search(username)
    for result in results:
        print(f"{result.site_name}: {result.url}")

GHunt:

def hunt(email):
    gaia_id = get_gaia_id(email)
    profile_data = get_profile_data(gaia_id)
    print_profile_info(profile_data)

Key Differences

  • Maigret is a general-purpose OSINT tool for various platforms, while GHunt focuses solely on Google accounts.
  • Maigret uses asynchronous programming for efficient searches, whereas GHunt employs a more straightforward approach.
  • Maigret's output is typically a list of profile URLs, while GHunt provides in-depth information about Google services usage.

Use Cases

  • Use Maigret for broad searches across multiple platforms to find user profiles quickly.
  • Choose GHunt when you need detailed information about a specific Google account and its associated services.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Maigret

PyPI version badge for Maigret PyPI download count for Maigret Minimum Python version required: 3.10+ License badge for Maigret View count for Maigret project

The Commissioner Jules Maigret is a fictional French police detective, created by Georges Simenon. His investigation method is based on understanding the personality of different people and their interactions.

👉👉👉 Online Telegram bot

About

Maigret collects a dossier on a person by username only, checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys are required. Maigret is an easy-to-use and powerful fork of Sherlock.

Currently supports more than 3000 sites (full list), search is launched against 500 popular sites in descending order of popularity by default. Also supported checking Tor sites, I2P sites, and domains (via DNS resolving).

Powered By Maigret

These are professional tools for social media content analysis and OSINT investigations that use Maigret (banners are clickable).

Social Links API Social Links Crimewall UserSearch

Main features

  • Profile page parsing, extraction of personal info, links to other profiles, etc.
  • Recursive search by new usernames and other IDs found
  • Search by tags (site categories, countries)
  • Censorship and captcha detection
  • Requests retries

See the full description of Maigret features in the documentation.

Installation

‼️ Maigret is available online via official Telegram bot. Consider using it if you don't want to install anything.

Windows

Standalone EXE-binaries for Windows are located in Releases section of GitHub repository.

Video guide on how to run it: https://youtu.be/qIgwTZOmMmM.

Installation in Cloud Shells

You can launch Maigret using cloud shells and Jupyter notebooks. Press one of the buttons below and follow the instructions to launch it in your browser.

Open in Cloud Shell Run on Replit

Open In Colab Open In Binder

Local installation

Maigret can be installed using pip, Docker, or simply can be launched from the cloned repo.

NOTE: Python 3.10 or higher and pip is required, Python 3.11 is recommended.

# install from pypi
pip3 install maigret

# usage
maigret username

Cloning a repository

# or clone and install manually
git clone https://github.com/soxoj/maigret && cd maigret

# build and install
pip3 install .

# usage
maigret username

Docker

# official image
docker pull soxoj/maigret

# usage
docker run -v /mydir:/app/reports soxoj/maigret:latest username --html

# manual build
docker build -t maigret .

Usage examples

# make HTML, PDF, and Xmind8 reports
maigret user --html
maigret user --pdf
maigret user --xmind #Output not compatible with xmind 2022+

# search on sites marked with tags photo & dating
maigret user --tags photo,dating

# search on sites marked with tag us
maigret user --tags us

# search for three usernames on all available sites
maigret user1 user2 user3 -a

Use maigret --help to get full options description. Also options are documented.

Web interface

You can run Maigret with a web interface, where you can view the graph with results and download reports of all formats on a single page.

Web Interface Screenshots

Web interface: how to start

Web interface: results

Instructions:

  1. Run Maigret with the --web flag and specify the port number.
maigret --web 5000
  1. Open http://127.0.0.1:5000 in your browser and enter one or more usernames to make a search.

  2. Wait a bit for the search to complete and view the graph with results, the table with all accounts found, and download reports of all formats.

Contributing

Maigret has open-source code, so you may contribute your own sites by adding them to data.json file, or bring changes to it's code!

For more information about development and contribution, please read the development documentation.

Demo with page parsing and recursive username search

Video (asciinema)

asciicast

Reports

PDF report, HTML report

HTML report screenshot

XMind 8 report screenshot

Full console output

Disclaimer

This tool is intended for educational and lawful purposes only. The developers do not endorse or encourage any illegal activities or misuse of this tool. Regulations regarding the collection and use of personal data vary by country and region, including but not limited to GDPR in the EU, CCPA in the USA, and similar laws worldwide.

It is your sole responsibility to ensure that your use of this tool complies with all applicable laws and regulations in your jurisdiction. Any illegal use of this tool is strictly prohibited, and you are fully accountable for your actions.

The authors and developers of this tool bear no responsibility for any misuse or unlawful activities conducted by its users.

Feedback

If you have any questions, suggestions, or feedback, please feel free to open an issue, create a GitHub discussion, or contact the author directly via Telegram.

SOWEL classification

This tool uses the following OSINT techniques:

License

MIT © Maigret
MIT © Sherlock Project
Original Creator of Sherlock Project - Siddharth Dushantha