KillaMeep/waypoint-osint
GitHub: KillaMeep/waypoint-osint
Waypoint 是一款本地运行的免费图像地理定位桌面工具,利用神经网络、太阳位置校验与街景匹配来估算户外照片的拍摄地点。
Stars: 0 | Forks: 0

# Waypoint
**免费、开源的图像地理定位工具。找出照片的拍摄地点。**




## 它是什么
Waypoint 接收一张户外照片,并估算**它在地球上的拍摄位置**。它首先通过神经网络进行粗略猜测,结合太阳位置进行合理性检查,然后通过将照片与真实的街景图像进行匹配来确认确切地点。每个候选结果都会显示在带有置信度分数的交互式地图上,你可以深入了解该分数。
它是为 OSINT 研究、验证与新闻报道以及地理定位 CTF 而构建的。一切都在本地运行;离开你机器的唯一内容是优化阶段进行的图像查询请求。
## 工作原理
1. **粗略定位。** [PLONK](https://github.com/nicolas-dufour/plonk) 是一个 diffusion 模型,它对一系列合理位置进行采样,并将它们聚类为加权候选结果。
2. **太阳/季节合理性。** 阴影方向和光照会根据隐含地点、日期和时间的太阳位置进行检查,从而降低不合理猜测的排名。
3. **检索优化。** 将每个候选结果与来自 **Mapillary**、**Google Street View** 和 **Panoramax** 的附近真实照片进行对比。
4. **几何验证。** 通过局部特征匹配(通过 `kornia` 使用 **DISK + LightGlue**)来确认有希望的匹配。内点数量可以告诉你匹配的可靠程度。
5. **优化。** 选择任何候选结果或匹配项,在其周围的小半径内进行严密、穷举的搜索。
## 功能
- **交互式地图**(Leaflet + OpenStreetMap),带有候选结果和按来源区分的匹配图钉,并自动适应结果范围。
- **置信度、不确定性和证据。** 聚类权重、样本分布和太阳合理性判定,均针对每个候选结果展示。
- **一键优化。** 将任何结果发送到专注且经过穷举验证的重新搜索中。
- **浅色和深色主题**,三标签页工作流(分析、结果、优化),拒绝杂乱。
- **无需付费 API。** Google Street View、Panoramax 和 OpenStreetMap 不需要密钥;Mapillary 是可选且免费的。
- **零手动设置。** 应用程序在首次启动时会下载自己的便携式 Python runtime。不需要系统 Python。
## 要求
- **Windows 10 / 11 (x64)。** _(暂不支持 macOS/Linux;首次运行设置会获取 Windows Python 构建版本。)_
- **[Node.js](https://nodejs.org/) 18+** 和 npm,用于从源码安装和运行。
- **~6–8 GB 可用磁盘空间**(用于 PyTorch 和模型权重)以及**互联网连接**,用于首次运行设置、图像查询和模型下载。
- **可选:NVIDIA GPU**(CUDA),会自动检测以加快推理速度。否则它将在 CPU 上运行。
## 安装与运行
```
git clone https://github.com/KillaMeep/waypoint-osint.git
cd waypoint-osint
npm install
npm start
```
### 首次启动(自动、一次性)
在第一次运行时,Waypoint 会为自己安装一个**便携式 Python 环境**。它会下载
[`uv`](https://github.com/astral-sh/uv)、一个托管的 Python 3.11 解释器以及 pipeline
依赖项(PyTorch 及其他组件)。这需要几分钟时间并会显示进度条。所有内容都会
放入应用程序自己的数据文件夹中;你的系统 Python(如果有的话)永远不会被触碰。你可以随时
在 **Settings -> Purge Python install** 中清除并重新执行此操作。
### 可选:Mapillary token
Mapillary 优化阶段需要一个免费的 API token。打开 **Settings**,粘贴从
[mapillary.com/dashboard/developers](https://www.mapillary.com/dashboard/developers) 获取的 token,然后保存。
如果没有它,这一阶段将被直接跳过。Google Street View、Panoramax 和 OpenStreetMap
完全不需要密钥即可工作。
## 构建便携式可执行文件
```
npm run dist
```
在 `dist/` 目录中生成一个独立的 Windows 便携式 `.exe` 文件(通过 `electron-builder`)。
## 底层原理
| 层级 | 技术 |
|-------|------|
| 桌面外壳 | Electron |
| 粗略地理定位 | PLONK (`diff-plonk`) |
| 太阳/季节检查 | `astral`(太阳位置对比 OpenStreetMap 道路方位角) |
| 街景图像 | Mapillary API · Google Street View · Panoramax |
| 特征匹配 | DISK + LightGlue (`kornia`) |
| 地理编码/道路 | `geopy` (Nominatim) · OSM Overpass |
| 地图 UI | Leaflet + OpenStreetMap 图层 |
## 伦理使用
Waypoint 是一款研究和验证工具。请负责任且合法地使用它:用于 OSINT 研究、
新闻报道、图像验证和 CTF。**不要使用它来跟踪、骚扰或危害任何人。**
估算结果是概率性的,而非确凿证据。在根据结果采取行动之前,务必进行多方佐证。
## 许可证
[MIT](LICENSE)。免费使用、修改和分发。
建立在 PLONK、Leaflet、OpenStreetMap、Mapillary、Panoramax 和 kornia 的基础之上。
标签:CTF工具, Electron桌面应用, MITM代理, 凭据扫描, 图像地理定位, 漏洞搜索, 神经网络, 街景匹配, 逆向工具