broom609/domain-intelligence-api
GitHub: broom609/domain-intelligence-api
基于 FastAPI 的域名情报查询服务,整合 MX 记录解析、一次性邮箱检测和风险评分等信号于一体。
Stars: 1 | Forks: 0
# 域名情报 API
用于域名情报信号的生产级 REST API。
## 技术栈
- FastAPI
- Python 3.11+
- httpx
- SQLite 缓存(24小时 TTL)
- Pydantic 模型
## Endpoint
`GET /domain/info?domain=example.com`
响应结构:
```
{
"domain": "example.com",
"company_name": "Example",
"is_free_email": false,
"is_disposable": false,
"mx_records": ["mx.example.com"],
"possible_country": "Unknown",
"risk_score": 0
}
```
## 功能
- 检测免费邮件提供商(Gmail、Yahoo、Outlook 等)
- 检测一次性域名(支持远程列表刷新 + 回退集合)
- 解析 MX 记录
- 基于域名标签的公司名称提取启发式算法
- 风险评分 (0-100)
- 具有 24 小时 TTL 的 SQLite 响应缓存
- 通过 Bearer token 实现 API 密钥安全
## 身份验证
在请求头中传递 API 密钥:
`Authorization: Bearer `
环境变量:
- `API_KEYS`(推荐):逗号分隔的 token,用于轮换
- `API_KEY`(备选的单个 token)
- `CACHE_DB_PATH`(可选):SQLite 文件路径
如果未配置密钥,默认 token 为 `dev-token-change-me`(仅用于本地开发)。
## 本地运行
```
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
```
Swagger UI:
- `http://localhost:8000/docs`
ReDoc:
- `http://localhost:8000/redoc`
OpenAPI JSON endpoint:
- `http://localhost:8000/openapi.json`
## cURL 示例
```
curl -X GET 'http://localhost:8000/domain/info?domain=example.com' \
-H 'Authorization: Bearer dev-token-change-me'
```
```
curl -X GET 'http://localhost:8000/domain/info?domain=gmail.com' \
-H 'Authorization: Bearer dev-token-change-me'
```
健康检查:
```
curl -X GET 'http://localhost:8000/health'
```
## RapidAPI 兼容性
- OpenAPI schema 生成于 `openapi.json`
- 安全方案使用 HTTP Bearer 身份验证
- Endpoint 和模型定义与 RapidAPI 导入流程兼容
## 部署
### Railway
1. 从此仓库创建新的 Railway 项目。
2. 设置启动命令:
- `uvicorn main:app --host 0.0.0.0 --port $PORT`
3. 添加环境变量:
- `API_KEYS=`
4. 部署。
### Vercel (Python)
使用 Vercel Python 运行时搭配 FastAPI ASGI 应用:
1. 添加 `vercel.json`:
```
{
"builds": [{ "src": "main.py", "use": "@vercel/python" }],
"routes": [{ "src": "/(.*)", "dest": "main.py" }]
}
```
2. 在 Vercel 项目设置中配置环境变量 `API_KEYS`。
3. 部署。
## 注意事项
- DNS 行为取决于运行时环境中解析器的可用性。
- 一次性域名列表刷新使用公共 GitHub 源,在不可用时回退到内置默认值。
标签:AV绕过, FastAPI, REST API, Syscall, Web开发, 域名情报, 数据查询, 运行时操纵, 逆向工具