yes999zc/clawithme
GitHub: yes999zc/clawithme
一款专注于用户名跨平台追踪的 OSINT 工具,覆盖 3000+ 站点并支持多信号身份关联与泄露库查询,尤其擅长中国互联网生态下的数字情报收集。
Stars: 2 | Forks: 0
# clawithme
--acknowledge-ethical-use
```
### PyPI
```
pip install clawithme[web]
clawithme-web # → http://localhost:8000
clawithme search --acknowledge-ethical-use
```
### 从源码安装
```
git clone https://github.com/yes999zc/clawithme.git
cd clawithme
pip install -e ".[dev]"
clawithme search --acknowledge-ethical-use
```
### 生成报告
```
clawithme search --report report.html --acknowledge-ethical-use
clawithme search --report report.pdf --format pdf --acknowledge-ethical-use
```
## Pipeline
```
username
|
+-- Phase 1: Site probing (44 curated + 2487 migrated, 9 CMS engines)
| |
| +-- HTTP status code / body message / header matching
| +-- Scrapling anti-bot fingerprinting
| +-- SearXNG fallback for un-hit sites
|
+-- Phase 2: Profile extraction (49 extractors: GitHub, Zhihu, Reddit, LinkedIn, ...)
| +-- CSS/XPath selectors, Playwright for JS-rendered pages
| +-- Avatar perceptual hash (pHash)
|
+-- Phase 3: Leak database query (Cavalier + HIBP, parallel manager)
|
+-- Phase 4: Multi-signal correlation
| +-- email (1.0) · phone (0.95) · avatar pHash (0.8) · username (0.7)
| +-- Union-Find transitive closure + anti-merge gate
|
+-- Phase 5: Geist HTML / PDF report
| +-- Platform distribution charts · Breach timeline
| +-- Identity clusters with confidence badges · PII redaction
|
+-- Phase 6: LLM Verifier (DeepSeek/Kimi/百炼, provider-agnostic)
| +-- SQLite result caching
|
+-- Phase 7: Async pipeline (asyncio.gather, 10 concurrent, 180s→14s)
|
+-- Phase 8: Web UI (FastAPI + SSE streaming) + PDF export (WeasyPrint)
```
## 功能特性
- **9 种检测引擎** — 状态码、正文消息、Headers,以及 XenForo/Discourse/phpBB/vBulletin/WordPress/Discuz! CMS
- **3000+ 个站点** — 44 个手工筛选 + 2487 个从 maigret_china 迁移,均由引擎分配
- **49 个资料提取器** — GitHub、知乎、Reddit、LinkedIn、HackerNews、豆瓣、掘金、NGA 等
- **异步 pipeline** — 10 并发 asyncio.gather,冷搜索从 180 秒降至 14 秒
- **泄露数据库** — Cavalier infostealer 记录 + HIBP 违规数据库,并行查询并支持优雅降级
- **LLM 验证器** — DeepSeek/Kimi/百炼多提供商,自动发现,结构化置信度评分
- **身份关联** — 基于并查集的跨电子邮件、电话号码、头像哈希和用户名相似度聚类,带有防误合并门控
- **Geist 报告** — 通过 WeasyPrint 生成独立的 HTML + PDF,灰度设计,纯 CSS 图表,个人身份信息(PII)自动脱敏
- **Web UI** — FastAPI + SSE 流式搜索,Geist 前端,零配置部署
- **插件架构** — 通过 `entry_points` 发现提取器;CN 和国际提取器统一在单一仓库中([clawithme-cn](https://github.com/yes999zc/clawithme-cn) 已归档)
- **Schema 优先** — 对每个站点定义进行 JSON Schema 验证,由 CI 强制执行
- **CI/CD** — PR schema 验证 + 每日站点验证 + 自动发布至 PyPI
## 截图
## 与 maigret 对比
| | maigret | clawithme |
|---|---------|-----------|
| 站点存储 | 单一的 `data.json` | 每个站点一个 JSON + JSON Schema |
| 检测机制 | 硬编码约 1200 行 | `engines.json` 中的 9 个可插拔引擎 |
| HTTP 层 | aiohttp + requests | Scrapling(curl_cffi 指纹伪装) |
| 深度提取 | socid_extractor 插件 | 内置 GitHub + 知乎提取器 |
| 泄露数据库 | 无 | Cavalier + HIBP,并行管理器 |
| 关联方式 | 无 | 并查集:电子邮件/电话/头像/用户名 |
| 质量门控 | 无 | CI:每日验证 + Schema + Ruff |
| 中国站点 | 有限 | 16 个 CN 平台 + Discuz! 引擎 |
## 安装
### PyPI
```
pip install clawithme[web]
```
### Docker
```
docker pull ghcr.io/yes999zc/clawithme
docker run -p 8000:8000 ghcr.io/yes999zc/clawithme
```
该镜像包含所有依赖项(WeasyPrint、Noto CJK 字体),并在端口 8000 上运行 Web UI。覆盖 entrypoint 即可用于 CLI:
```
docker run ghcr.io/yes999zc/clawithme clawithme search --acknowledge-ethical-use
```
### 从源码安装
```
git clone https://github.com/yes999zc/clawithme.git
cd clawithme
pip install -e ".[dev]"
```
需要 Python 3.11+。
## 使用方法
```
# 基础搜索(精选 44 个站点)
clawithme search yes999zc --acknowledge-ethical-use
# 完整搜索(所有 3000+ 个站点)
clawithme search yes999zc --include-migrated --acknowledge-ethical-use
# 生成 HTML 报告
clawithme search yes999zc --report report.html --acknowledge-ethical-use
# 生成 JSON / PDF / Markdown 报告
clawithme search yes999zc --report report.json --format json --acknowledge-ethical-use
clawithme search yes999zc --report report.pdf --format pdf --acknowledge-ethical-use
clawithme search yes999zc --report report.md --format md --acknowledge-ethical-use
# 验证站点数据库
python scripts/validate.py
python scripts/verify_site.py --all
python scripts/stats.py
# 运行测试
pytest tests/ -v
```
## 道德使用
**本工具查询公开资料和违规数据库。请仅在你拥有或已获得明确授权调查的账户上使用。** 未经授权的使用可能会违反平台服务条款、隐私法(GDPR、PIPL)及道德规范。
CLI 强制执行 `--acknowledge-ethical-use` 门控。
## 创建发布版本
1. 确保所有更改已提交并推送到 `main`。
2. 标记发布版本并推送:
git tag v0.2.0 # 先在 pyproject.toml 中更新版本号
git push --tags
3. [Release workflow](.github/workflows/release.yml) 会自动:
- 构建 wheel
- 运行冒烟测试(import 检查)
- 发布到 PyPI(需要在仓库中配置 `PYPI_TOKEN` secret)
- 创建带有自动生成发行说明的 GitHub Release
## 许可证
MIT
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/yes999zc/clawithme/actions/workflows/ci.yml)
[](https://pypi.org/project/clawithme/)
[](https://github.com/yes999zc/clawithme/actions)
**用户名到身份全景 —— 面向中国互联网及更广阔的范围。**
输入一个用户名。发现他们在 3000 多个平台上的踪迹 —— 从社交网络到开发者社区,从中国本地论坛到全球网站。通过电子邮件、电话号码、头像哈希和泄露的凭证关联身份。导出包含 HTML、PDF、JSON 或 **Markdown** 的独立报告。所有功能均由带有 LLM 身份验证的异步 pipeline 提供支持。
## 快速开始
### Docker
```
docker pull ghcr.io/yes999zc/clawithme
docker run -p 8000:8000 ghcr.io/yes999zc/clawithme
```
然后打开 http://localhost:8000 使用 Web UI。如需使用 CLI:
```
docker run ghcr.io/yes999zc/clawithme clawithme search 标签:BeEF, CLI, DNS解析, Docker容器化, ESC4, ESC8, GitHub, HTML报告, HTTP状态码分析, Markdown报告, OSINT, PDF报告, Python, WebUI, WiFi技术, 个人信息保护, 人物画像, 多平台扫描, 大模型身份验证, 头像哈希比对, 实时处理, 开发者社区检索, 开源项目, 异步数据流水线, 手机号码关联, 数据泄露, 数据溯源, 无后门, 泄露凭证检测, 爬虫, 特征检测, 用户名枚举, 电子邮件关联, 社交网络发现, 社会工程学, 社工库, 网站探测, 网络安全, 自动化报告, 计算机取证, 请求拦截, 跨平台身份关联, 身份核查, 逆向工具, 隐私保护, 隐私检测