emircanaltuntas/osint-recon-api
GitHub: emircanaltuntas/osint-recon-api
高性能 OSINT 数据聚合 API,并发查询多个情报源并返回统一的标准化 JSON 结果。
Stars: 0 | Forks: 0
# OSINT 侦查 API
一个高性能的 OSINT 数据聚合 API,并发查询多个情报源,对数据进行标准化,并使用 Redis 缓存结果。
## 功能
- 使用 asyncio.gather 进行并发执行,实现并行 API 查询
- 容错设计,单个 API 故障不会阻塞整个请求
- 支持配置 TTL 的 Redis 缓存(默认为 1 小时)
- 使用 Pydantic v2 输出统一的 JSON
- 带有指数退避的重试逻辑
- 原始 TCP WHOIS 查询(端口 43)及后续引荐跟踪
## 支持的查询类型
| 类型 | 来源 | 描述 |
|------|--------|-------------|
| username | Maigret(前 150 个站点) | 检查用户名在各大社交平台上的存在情况 |
| ip | ip-api.com | IP 地理定位和网络元数据 |
| email | BreachDirectory (RapidAPI) | 邮箱泄露/违规检测 |
| phone | Numverify | 电话号码验证和运营商查询 |
| domain | Google DoH + crt.sh | DNS 记录和子域名枚举 |
| whois | 原始 WHOIS (TCP/43) | 域名注册信息 |
## 技术栈
- **框架**:FastAPI (Python 3.11+)
- **HTTP 客户端**:aiohttp(带连接池)
- **验证**:Pydantic v2
- **缓存**:Redis (async)
- **Username OSINT**:Maigret 库
## 安装说明
1. 克隆仓库:
```
git clone https://github.com/emircanaltuntas/osint-recon-api.git
cd osint-recon-api
```
2. 创建虚拟环境并安装依赖:
```
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
3. 通过复制示例文件来配置环境变量:
```
cp .env.example .env
```
编辑 `.env` 并填入你的 API 密钥:
```
RAPIDAPI_KEY=your_rapidapi_key
NUMVERIFY_API_KEY=your_numverify_key
REDIS_URL=redis://localhost:6379/0
```
4. 启动 Redis(缓存功能必需):
```
redis-server
```
5. 运行服务器:
```
uvicorn app.main:app --reload
```
## API 用法
### 健康检查
```
GET /health
```
### 搜索
```
POST /api/v1/search
Content-Type: application/json
{
"query": "example_username",
"type": "username"
}
```
### 响应示例
```
{
"status": "completed",
"data": {
"identity": {
"username": "example_username",
"foundAccounts": ["GitHub", "Twitter", "Instagram"],
"fullName": null
},
"contact": null,
"network": null,
"dns": null,
"whois": null
},
"metadata": {
"executionTimeMs": 4523.12,
"cached": false
}
}
```
## 项目结构
```
app/
├── main.py
├── core/
│ ├── config.py
│ └── client.py
├── api/
│ ├── endpoints.py
│ └── models.py
└── services/
├── cache.py
├── normalize.py
├── identity.py
└── scrapers/
├── username.py
├── ip.py
├── dns.py
├── whois.py
└── contact.py
```
## 许可证
MIT
标签:API, AV绕过, ESC4, FastAPI, GitHub, OSINT, Redis, 实时处理, 异步编程, 搜索引擎查询, 逆向工具