Convert Figma logo to code with AI

soxoj logomaigret

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

10,065
784
10,065
478

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,293

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,468

🕵️‍♂️ 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,293

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,468

🕵️‍♂️ 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 PyPI - Downloads Views

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 required. Maigret is an easy-to-use and powerful fork of Sherlock.

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

Main features

  • Profile pages 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 full description of Maigret features in the documentation.

Installation

‼️ Maigret is available online via official Telegram bot.

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

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

Also, you can run Maigret using cloud shells and Jupyter notebooks (see buttons below).

Open in Cloud Shell Run on Replit

Open In Colab Open In Binder

Package installing

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.

Contributing

Contribution guidelines can be found here

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! If you want to contribute, don't forget to activate statistics update hook, command for it would look like this: git config --local core.hooksPath .githooks/ You should make your git commits from your maigret git repo folder, or else the hook wouldn't find the statistics update script.

Demo with page parsing and recursive username search

PDF report, HTML report

animation of recursive search

HTML report screenshot

XMind 8 report screenshot

Full console output

SOWEL classification

This tool uses the following OSINT techniques:

License

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