Bryons-factory/ShowMeTheVillain
GitHub: Bryons-factory/ShowMeTheVillain
全局钓鱼威胁追踪器,通过密度地图与多维度筛选实现威胁情报的可视化洞察。
Stars: 0 | Forks: 0
# ShowMeTheVillain
全局钓鱼威胁追踪器:带**Plotly 密度地图**和**顶部筛选栏**(威胁等级、目标公司、国家、ISP)。数据来自 **FastAPI 后端**,或用于静态演示的 **Cloudflare Worker** 存根。
## 界面所见
- 全屏高度地图,位于深色工具栏下方,下拉筛选器。
- 状态行显示已加载的威胁总数以及与当前筛选条件匹配的数量。
- **客户端筛选**:页面一次性获取一批数据点,然后在浏览器中进行筛选。
## 架构
| 组件 | 角色 |
| --- | --- |
| [frontend/index.html](frontend/index.html) | Plotly 地图、筛选器、通过 `` 或 `window.__API_BASE__` 配置的数据 URL |
| [frontend/entry.py](frontend/entry.py) | Cloudflare Worker:演示 JSON 或当设置 `BACKEND_MAP_URL` 时可选的 FastAPI 代理(在 Python Workers 中通过 Wrangler/环境配置) |
| [backend/](backend/) | FastAPI + PhishStats 管道;运行时的规范数据源 |
**直接浏览器 → FastAPI**:设置 `` 和 ``。确保 CORS:设置 `FRONTEND_ORIGIN` 以及可选的逗号分隔 `FRONTEND_ORIGINS`(适用于 Cloudflare Pages,详见 [backend/config.py](backend/config.py))。
**Worker 演示(无需 FastAPI)**:将 `data-source` 设为 `worker`,并将 `api-base` 设为你 Worker 的 URL(根路径返回与 `map-points` 相同的 JSON 结构)。
## 快速开始
### 后端
```
cd backend
pip install -r requirements.txt
python3 main.py # or: python main.py
# 在 Windows 上,您也可以使用:py -3 main.py
# 或者:uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
打开 [http://localhost:8000/docs](http://localhost:8000/docs) 并尝试 `GET /api/phishing/map-points`。
### 前端(地图)
使用任意静态服务器提供 [frontend/](frontend/)(或通过 Cloudflare Pages 打开)。在 [frontend/index.html](frontend/index.html) 中,默认的 meta 配置为:
- `api-base`:`http://127.0.0.1:8000`
- `data-source`:`api` → 加载 `{api-base}/api/phishing/map-points?limit=800`
运行时覆盖:
```
```
(如果使用不带 `/api/...` 路径的 Worker,请将 `` 切换为 worker。)
## 地图 API 数据结构
`GET /api/phishing/map-points` 返回一个对象数组:
`lat`、`lon`、`intensity`、`name`、`threat_level`、`company`、`country`、`isp`
可选查询参数与服务器端筛选匹配:`threat_level`、`company`、`country`、`isp`、`limit`、`offset`。
旧版 `GET /api/phishing/heatmap` 响应(`HeatmapData`:`coordinates`、`incident_count`、`last_updated`)仍可用于仅需经纬度对的简单热力图。
## 部署
GitHub Actions(详见 [.github/workflows/deploy.yml](.github/workflows/deploy.yml))将 `./frontend` 部署到 Cloudflare Pages,并将 [frontend/entry.py](frontend/entry.py) 中的 Python Worker 一起部署。
## 文档
- [backend/BACKEND_README.md](backend/BACKEND_README.md) — 完整后端架构
- [backend/QUICKSTART.md](backend/QUICKSTART.md) — 快速设置与端点速查表
标签:API服务, AV绕过, Cloudflare Pages, CORS配置, FastAPI, ISP分析, ISP过滤, meta标签配置, PhishStats, Plotly密度图, Python后端, REST API, SEO: 全球威胁地图, SEO: 可视化威胁情报, SEO: 钓鱼威胁, Serverless, Web安全监控, 交互式地图, 全球威胁地图, 公司目标过滤, 前端地图, 国家过滤, 地图可视化, 地理威胁分析, 威胁情报可视化, 威胁等级过滤, 实时威胁数据, 客户端过滤, 工具栏过滤栏, 批量数据加载, 数据代理, 无服务器演示, 暗色主题, 状态栏统计, 环境变量配置, 生产部署, 目标公司追踪, 网络钓鱼防御, 逆向工具, 钓鱼攻击追踪, 静态站点托管