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, 实时处理, 异步编程, 搜索引擎查询, 逆向工具