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开发, 域名情报, 数据查询, 运行时操纵, 逆向工具