KillaMeep/waypoint-osint

GitHub: KillaMeep/waypoint-osint

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

Stars: 0 | Forks: 0

Waypoint logo # Waypoint **免费、开源的图像地理定位工具。找出照片的拍摄地点。** ![License](https://img.shields.io/badge/license-MIT-2f6feb) ![Platform](https://img.shields.io/badge/platform-Windows%20x64-0078D6) ![Electron](https://img.shields.io/badge/Electron-33-47848F?logo=electron&logoColor=white) ![Python](https://img.shields.io/badge/Python-3.11-3776AB?logo=python&logoColor=white)

Waypoint results view: a candidate on an interactive map with ranked street-level matches

## 它是什么 Waypoint 接收一张户外照片,并估算**它在地球上的拍摄位置**。它首先通过神经网络进行粗略猜测,结合太阳位置进行合理性检查,然后通过将照片与真实的街景图像进行匹配来确认确切地点。每个候选结果都会显示在带有置信度分数的交互式地图上,你可以深入了解该分数。 它是为 OSINT 研究、验证与新闻报道以及地理定位 CTF 而构建的。一切都在本地运行;离开你机器的唯一内容是优化阶段进行的图像查询请求。 ## 工作原理 Pipeline: photo, PLONK coarse locate, sun and season plausibility, retrieval refinement, geometric verification, ranked candidates on the map 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代理, 凭据扫描, 图像地理定位, 漏洞搜索, 神经网络, 街景匹配, 逆向工具