osint-services/profile_checker
GitHub: osint-services/profile_checker
一个基于 FastAPI 的 Python 微服务,用于验证特定用户名是否存在于社交媒体平台上。
Stars: 2 | Forks: 0
# profile-checker
一个名为 `profile-checker` 的个人资料验证微服务,用于检查用户名是否存在于社交媒体平台上。该服务通过向特定平台的端点发送 HTTP 请求来验证个人资料,并通过响应验证确认其存在。
## 需求
- Python 3.9 或更高版本
### 技术栈
- 使用的 REST API 框架为 [FastAPI](https://fastapi.tiangolo.com/)
- 使用的 REST 客户端为 [httpx](https://www.python-httpx.org/)
### 设置
1. 创建 Python 虚拟环境。`python -m venv .venv`
2. 激活虚拟环境。`source .venv/bin/activate`
3. 安装依赖项。`pip install -r requirements.txt`
4. 根据需要创建包含 `LOG_LEVEL` 和 `LOG_FILE` 的 `.env` 文件。
5. 启动服务器。`fastapi dev main.py`
### 配置
- `config.py` 初始化日志记录并读取环境变量。
- `.env` 支持:
- `LOG_LEVEL` — 日志详细程度(`DEBUG`、`INFO`、`WARNING`、`ERROR`、`CRITICAL`)
- `LOG_FILE` — 日志输出文件的路径
- 站点验证模板存储在 `sites.yaml` 中。
### 端点
- GET `/scan/{username}`
* 验证给定的用户名是否存在于支持的平台上。
* 返回 `200 OK`,其中包含找到的个人资料结果。
* 向平台验证端点发送 HEAD 请求,然后发送 GET 请求以确认个人资料的存在。
### `/scan/{username}` 的响应示例
```
[
{
"title": "X",
"profile_uri": "https://x.com/osint-services",
"validation_uri": "https://api.x.com/i/users/username_available.json?username=osint-services",
"is_valid_profile": true
}
]
```
### 注意事项
- 个人资料验证会检查页面响应和验证端点,以确认实际存在的个人资料并减少误报。
- 该服务目前支持 X (Twitter) 个人资料验证。
- 日志记录在 `config.py` 中配置,同时写入控制台和 `LOG_FILE` 指定的文件。
- 支持的站点模板在 `sites.yaml` 中定义,便于添加或更新平台端点而无需更改应用逻辑。
- `LOG_LEVEL` 和 `LOG_FILE` 可以通过 `.env` 配置。
- 项目根目录已包含 `__init__.py`,因此可以在需要时导入包,但脚本执行不需要额外的 `__init__.py` 文件。
- CORS 已为 localhost:3000 前端连接启用。
标签:API, AV绕过, ESC4, ETW劫持, FastAPI, httpx, OSINT, Profile验证, Python, YAML配置, 密码管理, 无后门, 日志记录, 用户名枚举, 用户名验证, 社交媒体, 网络安全, 账户发现, 运行时操纵, 逆向工具, 隐私保护