View Issue Details

IDProjectCategoryView StatusLast Update
0009841Kali LinuxNew Tool Requestspublic2026-08-26 17:45
Reportersoxoj1 Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0009841: New Tool Request: maigret — username enumeration and profile data extraction across 3000+ sites
Description

Name, version, homepage, author

maigret, current release 0.6.5 (2026-08-25). Homepage and source: https://github.com/soxoj/maigret. Also on PyPI as maigret: https://pypi.org/project/maigret/. Documentation: https://maigret.readthedocs.io. Author: Soxoj (me).

Download location

Release tags at https://github.com/soxoj/maigret/tags, and source tarballs on PyPI. No git clone needed.

Licence

MIT. Free redistribution, no additional conditions.

What it does

Given a username, maigret checks whether an account exists on each of 3302 sites in its bundled database, and for the sites where it finds one, extracts whatever the profile page exposes: display names, user ids, bios, registration dates, locations, and links to other accounts. Extracted identifiers can be fed back into the search recursively, so one username commonly expands into a set of related accounts across platforms. By default it searches the top 500 sites by popularity; -a runs the full set. It also supports Tor and I2P sites and domain checks via DNS resolution. Output is a terminal report plus optional HTML, PDF, XMind, CSV, JSON and Markdown reports. No API keys are required for any of it.

Relation to sherlock, which Kali already ships

maigret began as a sherlock fork in 2020 and has diverged substantially since. The differences that matter in practice:

  • Site coverage: 3302 sites versus roughly 400 in sherlock.
  • sherlock answers "does this username exist here". maigret additionally parses the profile page and returns structured data, which is what turns a hit list into a dossier.
  • Recursive search on extracted identifiers, which sherlock does not do.
  • Detection and partial bypass of blocks, censorship and CAPTCHA, including TLS fingerprint impersonation for sites that reject ordinary clients.
  • Report formats beyond plain text and CSV.

They are not redundant. sherlock is faster and simpler for a quick existence check; maigret is the tool when the username is a starting point rather than the answer.

Dependencies

Python >= 3.10. Most runtime dependencies are already in Debian and Kali: aiohttp, aiohttp-socks, aiodns, requests, lxml, jinja2, markupsafe, certifi, colorama, html5lib, soupsieve, yarl, pysocks, typing-extensions, python-dateutil, networkx, pycountry, platformdirs, flask, asgiref, reportlab, python-alive-progress.

Four are not packaged in either Debian or Kali:

pyvis and XMind are only needed for two optional report formats and can be made optional upstream if that helps; I am happy to do that work.

Debian packaging status

Not currently packaged for Debian. maigret is packaged in BlackArch, the AUR, Homebrew core, MacPorts and nixpkgs — https://repology.org/project/maigret/versions lists them — so there are working packaging recipes to borrow from. I am willing to prepare one and to pursue the missing dependencies through the Debian Security Tools team if that is the route you would prefer.

Usage examples

maigret soxoj
maigret soxoj --html                 # HTML report
maigret soxoj -a                     # all 3302 sites instead of the top 500
maigret soxoj --tags photo,dating    # only sites with these tags
maigret --tor-proxy socks5://127.0.0.1:9050 soxoj

Project activity

Active and maintained. 33 releases on PyPI since December 2020, the most recent on 2026-08-25. The site database is updated continuously and independently of releases, since site checks fails as platforms change. Around 37,000 stars on GitHub.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-08-26 17:45 soxoj1 New Issue