学之广在于不倦,不倦在于固志。——晋葛洪

https://github.com/soxoj/maigret

Maigret:一位拿着放大镜的“用户名侦探”,在 3000+ 站点里替你拼出一份人物档案

如果互联网是一座巨大的城市,那么每个“用户名”就是你在街角留下的一张名片:有人把它贴在社交网络门口,有人把它塞进论坛签名里,有人把它刻在代码仓库的角落。问题是——名片散落得太广,想把它们捡回来并排铺开,靠人力几乎是体力活。

这时候,Maigret 走了进来:
它像一位穿风衣、戴礼帽的侦探(🕵️‍♂️),只要你给它一个用户名,它就会去大量网站逐个敲门核对,顺手把网页里能拿到的信息都收进“档案袋”里——而且不需要任何 API Key

项目一句话描述也很直白:
“Collect a dossier on a person by username from 3000+ sites”
——从 3000+ 站点,用一个用户名收集一份“人物卷宗”。


1 分钟认识 Maigret:它先自我介绍,再立刻办案

Maigret 很懂“第一印象”。它给你的第一句话就是:确保你有 Python 3.10+,然后用最短路径开始搜索。

1
2
pip install maigret
maigret YOUR_USERNAME

你甚至可以不安装它:

如果你偏爱点点点的体验,它也准备了“另一套衣服”:Web UI(后面也会写怎么启动)。


Maigret 在做什么?它像“只凭名字也能找到线索”的老练侦探

它的核心设定非常干脆:

只用用户名,去很多网站检查这个账号是否存在,并从网页与可用接口里收集尽可能多的信息。

你给它一个“称呼”,它就去问遍全城:
“你见过这个人吗?”
“他在你家门牌号是多少?”
“他的主页上还写了谁的名字?”
“有没有指向其他账号的链接?”
然后把这些“口供”和“目击记录”拼起来,形成一份可读、可存档、可导出的结果集。


主要能力:它不仅会“找”,还会“顺藤摸瓜”和“写报告”

Maigret 的性格不是“查到就走”,而是典型的“职业病”:线索越多越兴奋,越会把案子办成体系化的报告。

1)站点覆盖:3000+ 站点,默认先查最“热门”的 500 个

  • 支持 3,000+ 网站(完整列表见 sites.md
  • 默认运行会检查流量排名最高的 500 个站点
  • 想扫全量?它会提醒你可以用 -a
  • 或者用 --tags 选择你关心的类别/国家标签(下面有例子)

2)能“嵌进你的 Python 项目”当组件

它不是只会在命令行里表演。Maigret 也愿意“当库用”:你可以在 Python 里 import maigret,以程序化方式跑搜索,把结果接进你自己的分析管线里。
(CLI 本质上只是一个薄包装,底层是 async 函数。)

3)提取信息:不止判断“存在/不存在”,还会把页面里的信息抓出来

它会从主页与站点 API(若可用)中提取可获得的信息,包括链接到其他账号的线索。
这不是“点名签到”,更像“翻相册、看签名、抄联系方式”。

4)递归搜索:线索能引出新的用户名,它就继续追

当它从页面里发现了其他用户名或 ID,它会做递归扩展搜索:
像侦探在笔记本上画线:A 认识 B,B 又指向 C……线索网就这样长出来。

5)标签过滤:按类别、国家等筛选

你可以只让它查某类站点,比如 photo、dating 或特定国家标签(比如 us)。
它会像一个有经验的办案人:先去最可能出现的地方问。

6)对抗阻断:它会识别并尝试绕过 block / censorship / CAPTCHA(部分)

它知道城市里有保安、有门禁、有“你不是人类”的盘问。
Maigret 会尽量识别并做部分绕过(当然它不会替你解决一切环境问题)。

7)站点数据库自动更新(每 24 小时一次)

每次运行它都会去 GitHub 拉取自动更新的站点数据库(24 小时内只更新一次),如果拿不到就退回内置数据。
它像每天早晨都要看一眼“最新地图”的侦探:城市变化太快,情报要常新。

8)Tor / I2P:它也愿意走“地下通道”

它支持通过代理、Tor、I2P 去检查 .onion / .i2p 站点,也能帮助绕开部分 WAF 对数据中心 IP 的封锁。

9)报告与界面:CLI 能输出多种格式,Web UI 还能画图、统一下载

  • CLI 可以导出 HTML / PDF / XMind8 / JSON / CSV / TXT / Graph(D3 交互图)
  • Web UI 则像“案卷阅览室”:图形化结果、并能在同一页面下载各种报告

10)AI 分析模式(可选):把“原始发现”变成“中立小结”

它提供 --ai:把搜索结果整理成内部 Markdown 报告后,发送给 OpenAI 兼容接口做一个简短、偏中立的调查摘要(流式输出到终端)。
(需要 OPENAI_API_KEY,并可在 settings.json 配置 key 和 base_url。)


安装方式:Maigret 会把“入口”铺得很宽

它不强迫你走同一条路——你可以本地装、源码装、Docker 跑、Windows 下直接 EXE,甚至在云端 shell 或 notebook 里“即开即用”。

方式 A:本地 pip(最常见)

1
2
3
4
5
# install from pypi
pip3 install maigret

# usage
maigret username

方式 B:从源码安装(喜欢自己掌控一切的人会走这条)

1
2
3
4
5
6
7
8
# or clone and install manually
git clone https://github.com/soxoj/maigret && cd maigret

# build and install
pip3 install .

# usage
maigret username

方式 C:Windows 直接 EXE

方式 D:Cloud Shells / Notebook(浏览器里办案)

它允许你把“侦探事务所”直接开在云端:

  • Google Cloud Shell(带教程)
  • Replit
  • Colab
  • Binder

(README 中把这些入口都列出来了,你可以按习惯选择。)

方式 E:Docker(把 Maigret 装进箱子,搬到哪里都能跑)

它发布了两种镜像人格:

  • soxoj/maigret:latest —— CLI 模式(默认)
  • soxoj/maigret:web —— 自动启动 Web UI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# official image (CLI)
docker pull soxoj/maigret

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

# Web UI (open http://localhost:5000)
docker run -p 5000:5000 soxoj/maigret:web

# Web UI on a custom port
docker run -e PORT=8080 -p 8080:8080 soxoj/maigret:web

# manual build
docker build -t maigret . # CLI image (default target)
docker build --target web -t maigret-web . # Web UI image

命令行使用:让侦探“怎么查、查多深、输出成什么样”都可控

Maigret 在命令行里很像一个经验丰富的助手:你只要一句话,它就能按你要求把案卷写成不同格式。

1)生成报告:HTML / PDF / XMind8

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

2)机器可读导出:JSON / NDJSON / CSV / TXT

1
2
3
4
# machine-readable exports
maigret user --json ndjson # newline-delimited JSON (also: --json simple)
maigret user --csv
maigret user --txt

3)图谱输出:交互式 D3 graph(HTML)

1
maigret user --graph         # interactive D3 graph (HTML)

4)按标签筛选:只查你关心的“地盘”

1
2
3
4
5
# search on sites marked with tags photo & dating
maigret user --tags photo,dating

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

5)多用户名批量:一次审三个人

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

6)AI 调查小结:让它把“线索堆”整理成“短摘要”

1
2
# AI-assisted investigation summary (needs OPENAI_API_KEY)
maigret user --ai

它也给了更完整的帮助入口:
运行 maigret --help 查看所有选项;以及文档中的 CLI options / 更多示例。


Web 界面:它把“案子”画成一张图给你看

Maigret 的 Web UI 不只是“换个皮肤”,更像给侦探配了一面玻璃白板:

  • 结果以图谱方式呈现
  • 同一个页面可以下载各种格式的报告

启动方式很简单:

1
maigret --web 5000

然后打开:http://127.0.0.1:5000
输入用户名,查看结果。

如果你用 Docker,它甚至会“自己把门打开”(上面的 soxoj/maigret:web)。


代理 / Tor / I2P:当侦探需要换一条路走

有些门口保安对机房 IP 特别敏感,有些站点本身就在 .onion / .i2p 世界里。Maigret 不会替你启动 Tor/I2P 服务,但它愿意把请求“走过去”。

1
2
3
4
5
6
7
8
# any HTTP/SOCKS proxy
maigret user --proxy socks5://127.0.0.1:1080

# Tor (default gateway socks5://127.0.0.1:9050)
maigret user --tor-proxy socks5://127.0.0.1:9050

# I2P (default gateway http://127.0.0.1:4444)
maigret user --i2p-proxy http://127.0.0.1:4444

一些特别有用的 CLI 开关:侦探的“随身工具包”

  • --parse URL
    解析某个个人主页 URL,提取 IDs/usernames,再用它们启动递归搜索。

  • --permute
    用两个或更多输入生成可能的用户名变体(例如 john doejohndoe, j.doe, …),并全部搜索。

  • --self-check [--auto-disable]
    维护者用来验证 usernameClaimed / usernameUnclaimed 对照在真实站点是否仍然有效(数据库审计)。

  • --ai / --ai-model
    AI 分析模式,以及指定模型。


AI 分析:它会把结果打包成 Markdown,再交给 OpenAI 兼容接口“写一段中立摘要”

启用方式:

1
2
3
4
5
export OPENAI_API_KEY=sk-...
maigret user --ai

# pick a different model
maigret user --ai --ai-model gpt-4o-mini

Key 也可以写进 settings.jsonopenai_api_key
接口地址默认 https://api.openai.com/v1,也可以用 openai_api_base_url 指向任意 OpenAI-compatible endpoint。


贡献方式:它希望你“精修手术刀”,而不是“粗暴重写”

如果你要加站点或修站点:

  • data.json 里“外科手术式”修改(不要 json.load / json.dump
  • 然后运行 ./utils/update_site_data.py 重新生成 sites.md 和数据库元信息
  • 最后提交 PR

商业使用:它很开诚布公

开源版:

  • MIT License
  • 可自由商业使用(不受限制)

但它也直说现实:站点检查会随着时间失效,需要维护。
如果你做严肃商用并希望有:

  • 每日更新的私有站点数据库(5,000+ 站点,独立于公开开源库)
  • 用户名检查 API
    可以联系:maigret@soxoj.com

About / Disclaimer:侦探也会强调“��法合规”

README 里的立场很明确:
仅用于教育与合法用途。你需要自行遵守你所在地区的相关法律法规(GDPR、CCPA 等),作者不对滥用负责。


结语:给它一个用户名,它就去替你跑遍整座互联网

Maigret 最迷人的地方,是它把 OSINT 里最累的那一段——“重复、分散、琐碎的站点核对与信息收集”——变成了一个可重复、可导出、可自动化的流程。

它像一个认真到有点固执的侦探:
你只递给它一张写着用户名的小纸条,它就能跑去 3000+ 家店门口敲门、查记录、捡线索、画关系网,最后把“档案袋”递回你手上——格式还随你挑。


MIT © Maigret
项目主页:https://github.com/soxoj/