Top Related Projects
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.
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.
🕵️♂️ 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:
-
Install Maigret:
pip install maigret
-
Run a basic search:
from maigret import search_username results = search_username('target_username')
-
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
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.
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.
🕵️♂️ 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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Maigret
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).
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
SOWEL classification
This tool uses the following OSINT techniques:
- SOTL-2.2. Search For Accounts On Other Platforms
- SOTL-6.1. Check Logins Reuse To Find Another Account
- SOTL-6.2. Check Nicknames Reuse To Find Another Account
License
MIT © Maigret
MIT © Sherlock Project
Original Creator of Sherlock Project - Siddharth Dushantha
Top Related Projects
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.
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.
🕵️♂️ Offensive Google framework.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot