sethosint/geoint-analyzer
GitHub: sethosint/geoint-analyzer
一款纯浏览器端运行的 OSINT 照片地理定位工具,通过七阶段对抗性分析流水线推断照片拍摄地点,并同时呈现支持与反对的证据。
Stars: 0 | Forks: 0
# GEOINT Analyzer
**用于 OSINT 调查的照片地理位置定位 —— 在你的浏览器中运行。**
[**▶ 打开工具**](https://sethosint.github.io/geoint-analyzer/) · [Русская версия](README.ru.md) · [Telegram](https://t.me/sethosint)
`v13.2` · 单个 HTML 文件 · 无后端 · 免安装 · 免账号
加载一张照片。获取坐标、地址,以及——更重要的是——
支持该结果证据和反对该结果的证据。
大多数 AI 地理定位工具会给你一个自信的回答,却让你无从判断。
本工具运行一个对抗性 pipeline:第一轮提出一个位置,第二轮独立的尝试去证明它是错的,而你将同时看到两方的结果。
一张截图身兼两职。将其作为 og-image.png 保存在此文件夹中,理想尺寸为
1200x630,展示一份已完成的分析(目标坐标 + 可见证据),
然后删除下面这行周围的注释标记。
index.html 已经将其链接预览标签指向了同一个文件,因此当
链接被粘贴到 Telegram、Discord 或 X 中时,同一张图片就会成为显示的卡片。

## 工作原理
七个阶段。每一个阶段都会展示其工作过程,并允许你提出异议。
| 阶段 | 功能 |
|---|---|
| **Metadata** | EXIF、内置 GPS、相机机身、时间戳 |
| **侦察** | 对每一个可见文本片段进行 OCR,然后执行三阶段网络搜索 |
| **高倍放大扫描** | 以原始分辨率逐区域重新检查照片,读取在缩小画面中消失的标牌和车牌 |
| **深度视觉分析** | 建筑、植被、基础设施、车牌格式、气候和太阳高度角线索 |
| **Geocoding** | 并行查询四个独立的 provider;根据精确度和一致性对候选结果进行排名 |
| **验证** | 第二轮对抗性尝试,试图*反驳*该结果 —— 并有权拒绝该结果 |
| **Ground truth** | 根据解析出的坐标点,对照 OpenStreetMap 记录检查街道和 POI 名称 |
### 侦察过程被刻意设计为对抗性的
1. **视觉提取** —— 描述照片本身而不猜测
位置,因此不会将名称偏见引入 pipeline。
2. **网络搜索** —— 在推断出的目标国家自己的语言中搜索*所描述的特征*,
覆盖多个候选城市,并剔除那些照片在视觉上不匹配的候选者。
3. **对抗性验证** —— 一个*不同的*模型假设阶段 2 是错误的,
并试图推翻它。
一个能在这三个阶段中幸存下来的位置,其价值远高于一个来自
单一模型的自信回答。
## 它做不到的事
它产出的是 **AI 预估,而非测量结果。** 模型在给出错误的坐标时
也会表现得极其自信。请将每一个结果视为需要验证的线索,
绝不能作为可直接报告的发现。
最可靠的检查方法仍然是反向图片搜索,这是任何语言模型都无法替代的。
正是出于这个原因,本工具将 Yandex、Google Lens、Bing 和 TinEye 设为一键可及
—— 对于建筑物和地标,Yandex 是这四个中最强大的。
## 设置 —— 两分钟
1. 在 [aistudio.google.com/apikey](https://aistudio.google.com/apikey) 获取一个**免费**的 Gemini API key。无需信用卡。
2. 打开工具并将其粘贴到 **CONFIG → GEMINI API KEY** 中。
3. 拖入一张照片。
你的 key 存储在浏览器的 `localStorage` 中,并且仅发送给 Google。
它永远不会到达本站 —— 页面是静态的,没有服务器接收它。
### 关于免费层级限制的实话实说
Google 的免费层级对请求有**每分钟和每天的限制,且针对每个
模型单独计算。** Flash 模型的每分钟配额大约是 Pro 的两倍。
该工具会为你管理这一切。它会询问 API 你的 key 实际可以调用哪些模型,
按模型控制请求节奏,记住哪些模型做出了响应,并在某个模型刚刚拒绝时,
切换到另一个还有余量的模型,而不是盲目重试。
**CONFIG → MODEL AVAILABILITY** 显示实时状态:每个模型在这一分钟内还剩
多少请求,哪些正在冷却,以及哪些已经用完了每日
配额。当某次运行被限流时,该面板会告诉你等待是否有用:
- **每分钟** —— 等待一分钟左右然后重新运行。
- **每天** —— 等待无济于事,直到它在美国太平洋时间午夜左右重置。
从另一个 Google 账号获取第二个 key 是最快速的解决办法。
要消耗更少的配额:将 **ZOOM SCAN DEPTH** 设置为 *Off* 并选择一个 **Flash** 模型。
## Licence key
该构建版本被锁定在单台机器上。Licence 窗口会显示你的 **Hardware ID** —
将其发送给 [**@sethosint**](https://t.me/sethosint) 并支付 **5 美元的一次性费用**
(使用 USDT (TRC-20 或 TON) 或 TON),你将获得一个绑定该
机器的**终身** key,通常在几分钟内即可完成。
Key 永不过期。如果你的主板、操作系统或浏览器发生变化,Hardware ID 也会
随之改变 —— 给我发消息,我会免费为你重新签发。
## 隐私
- 无分析、无追踪器、无 cookie、无后端。
- 图片在本地读取,并仅使用你的 key 发送到 Google 的 Gemini API。
- Geocoding 使用公共的 Nominatim、Photon 和 Overpass endpoint。它们接收
地名和坐标 —— 绝不会接收你的图片。
- 其他所有内容 —— key、licence、分析历史 —— 都保留在你的浏览器中。
## 条款
版权所有 © 2026。**保留所有权利。**
这是按单台机器授权的商业软件。你必须在持有有效 key 的情况下
使用它。你不得重新分发、转售、发布修改后的副本,
或移除、规避 licence 机制。未授予任何开源许可证;
源代码在浏览器中可读这一事实并不能改变这一点。
按“原样”提供,无任何担保。结果均为 AI 生成的预估,在依赖之前
必须进行独立验证。
问题、key、bug 报告 → [**@sethosint**](https://t.me/sethosint)
标签:ESC4, EXIF解析, GEOINT, OCR, OSINT, 后端开发, 图片地理定位, 多模态安全, 数据可视化, 浏览器端工具