gahlautabhinav/yotsuba-intel
GitHub: gahlautabhinav/yotsuba-intel
一款 4chan 帖子 OSINT 调查工具,通过抓取帖子数据并关联 Tripcode、图片 MD5 及社交信息来辅助匿名身份分析。
Stars: 0 | Forks: 0
# Yotsuba Intel
4chan 帖子 OSINT 工具 —— 抓取、分析并对从 4chan 帖子中提取的信号进行拓展挖掘。
## 功能
- **帖子抓取** —— 通过 4chan 公共 JSON API 拉取帖子,并存储在 SQLite 中
- **Tripcode 分析** —— 跨板块追踪 Tripcode,根据发帖时间戳推断时区
- **MD5 关联器** —— 查找在不同帖子/板块中发布的相同图片,评估身份置信度
- **社交链接提取** —— 检测帖子正文中的 GitHub、Twitter/X、Reddit、Telegram、Steam、Keybase 账号
- **Email 拓展** —— 提取 Email,检查 HIBP 数据泄露,进行 Gravatar 查询
- **PGP 密钥提取** —— 查找指纹,查询密钥服务器
- **EXIF 分析** —— 从下载的图片中提取 GPS、相机制造商/型号、作者标签
- **归档搜索** —— 通过 Tripcode、MD5 或名称查询 4chan 归档站点(4plebs、warosu 等)
- **实时抓取流** —— 抓取时输出 SSE 终端样式内容
- **REST API** —— 后端 FastAPI 运行在端口 8003
- **React 仪表板** —— Warp 主题 UI 运行在端口 5174
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| CLI | Python 3.10 + Click + Rich |
| API | FastAPI + uvicorn |
| 存储 | SQLite (WAL mode) + SQLAlchemy 2.0 ORM |
| 前端 | React 18 + TypeScript + Vite + Tailwind CSS |
| 数据获取 | React Query + Zustand |
| 图表 | Recharts |
| 地图 | Leaflet |
## 快速开始
### 前置条件
- Python 3.10+
- Node.js 18+
### 后端
```
# 创建 venv
py -3.10 -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/macOS
# 安装
pip install -e ".[dev]"
# 启动 API server (端口 8003)
chan serve
```
### 前端
```
cd frontend
npm install
npm run dev # opens http://localhost:5174
```
### CLI 用法
```
# 抓取 thread
chan scrape https://boards.4chan.org/g/thread/12345678
# 分析 tripcode
chan profile !abc123XYZ
# 关联 MD5 hash
chan correlate md5
# 搜索 archives
chan archive search --trip !abc123XYZ --board g
# 导出数据
chan export threads
chan export tripcodes
```
## 项目结构
```
chan-osint/
├── api/ # FastAPI app + routes
│ └── routes/ # threads, posts, links, emails, tripcodes, archive, correlate, scrape
├── analysis/ # MD5 correlator, temporal profiler, tripcode profiler
├── cli/ # Click CLI commands
├── config/ # Pydantic settings
├── pivot/ # Social platform pivot handlers
│ └── platforms/ # GitHub, Reddit, Twitter, Steam, Keybase, PGP, etc.
├── scraper/ # 4chan API client, post parser, link extractor, image downloader
├── storage/ # SQLAlchemy models, engine, repository
├── tests/ # pytest test suite
└── frontend/ # React dashboard
└── src/
├── api/ # typed API client
├── components/
└── pages/ # Dashboard, Threads, ThreadDetail, Tripcodes, Images, Correlate, Archive
```
## 运行测试
```
py -3.10 -m pytest
```
## 配置
将 `.env.example` 复制到 `.env` 并设置:
```
DATABASE_URL=sqlite:///./chan_osint.db
```
## License
MIT —— 请参阅 [LICENSE](LICENSE)。
## 免责声明
请参阅 [DISCLAIMER.md](DISCLAIMER.md) 获取法律和道德使用准则。
标签:AV绕过, ESC4, FastAPI, OSINT, Python, React, Syscalls, URL抓取, 代码示例, 实时处理, 数据分析, 数据抓取, 数据泄露, 无后门, 网络情报分析