cognis-digital/geolens

GitHub: cognis-digital/geolens

一款图像地理定位工具包,通过 EXIF 提取、太阳阴影分析、OCR 和反向搜索帮助用户确定照片的拍摄地点与来源。

Stars: 1 | Forks: 0

GEOLENS # GEOLENS ### 图像地理定位工具包 — EXIF、太阳阴影、OCR、反向搜索 [![PyPI](https://img.shields.io/pypi/v/cognis-geolens.svg?color=6b46c1)](https://pypi.org/project/cognis-geolens/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c4a7e87b33181723.svg)](https://github.com/cognis-digital/geolens/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *OSINT / SIGINT — 开源情报收集与关联。*
``` pip install cognis-geolens geolens scan . # → prioritized findings in seconds ``` ## 使用说明 — 分步指南 1. 安装 (Python 3.9+): pip install geolens 2. 从 JPEG 中提取 EXIF/GPS 和反向搜索提示: geolens exif photo.jpg --url https://example.com/photo.jpg 3. 交叉检查场景几何:计算候选地点和时间的 太阳方位角/仰角,或根据阴影估算纬度: geolens sun --lat 38.89 --lon -77.03 --when 2026-06-21T17:00:00Z geolens shadow --height 2.0 --shadow 1.4 --when 2026-06-21T17:00:00Z 4. 构建反向图像 / 关键词搜索 URL 来追溯来源: geolens reverse --url https://example.com/photo.jpg --keyword "harbor" --keyword "crane" 5. 读取输出:表格将打印扁平化的 `key value` 行;添加 `--format json`(顶级标志)以便进行管道传输。如果图像不包含 EXIF,`geolens exif` 将以退出码 `2` 结束,这允许你在脚本中进行分支处理: geolens --format json exif photo.jpg > exif.json || echo "no EXIF present" ## 目录 - [为什么选择 geolens?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关项目](#related) · [贡献](#contributing) ## 为什么选择 geolens? 图像地理定位工具包 — EXIF、太阳阴影、OCR、反向搜索 — 无需搭建重型基础设施。 `geolens` 是单一用途、可脚本化且可自托管的:将其指向目标,以你的工作流已使用的格式(表格 · JSON · SARIF)获取优先级排序的结果,通过它控制 CI 的准入,并让代理通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 提取 Exif - ✅ 从 Exif 获取 Gps - ✅ 太阳位置 - ✅ 阴影方位转换为方位角 - ✅ 根据阴影估算纬度 - ✅ 反向搜索 Urls - ✅ 分析图像 - ✅ 可在 Linux/macOS/Windows · Docker · devcontainer 上运行 - ✅ 支持 Python、JavaScript、Go 和 Rust 移植版 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-geolens geolens --version geolens scan . # scan current project geolens scan . --format json # machine-readable geolens scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ geolens scan . [HIGH ] GEO-001 example finding (./src/app.py) [MEDIUM ] GEO-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[image / coordinates] --> P[geolens
extract + geolocate] P --> OUT[location estimate] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `geolens` 兼容所有流行的 AI 使用方式: - **MCP server** — `geolens mcp` (Claude Desktop、Cursor、Cognis.Studio、[uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 将 `geolens scan . --format json` 管道传输至任何代理或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 用一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI 流水线提供退出码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis geolens** | bellingcat | |---|:---:|:---:| | 可自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生支持 (AI 代理) | ✅ | ❌ | | 多语言移植版 (JS/Go/Rust) | ✅ | ❌ | | 开放许可 | ✅ COCL | 视情况而定 | *秉承 **bellingcat/toolkit** 的精神,以 Cognis 的方式重新构建。遗漏了致谢?提交一个 PR 吧。*
↑ 回到顶部
## 集成 可无缝接入你的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI 代理的 **MCP server** (`geolens mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。请参阅 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,各个平台 ``` pip install "git+https://github.com/cognis-digital/geolens.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/geolens.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/geolens.git" # uv pip install cognis-geolens # PyPI (when published) docker run --rm ghcr.io/cognis-digital/geolens:latest --help # Docker brew install cognis-digital/tap/geolens # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/geolens/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | 云平台 | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/geolens` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关的 Cognis 工具 - [`personagraph`](https://github.com/cognis-digital/personagraph) — 身份解析档案 — 跨平台的用户名/电子邮件/电话 - [`maritimeint`](https://github.com/cognis-digital/maritimeint) — AIS 船舶追踪与逃避制裁异常检测 - [`corpmap`](https://github.com/cognis-digital/corpmap) — 公司结构与受益所有权映射器 - [`cryptotrace`](https://github.com/cognis-digital/cryptotrace) — 免费版区块链调查员 — ETH/BTC 聚类 + 制裁交叉引用 - [`darkmirror`](https://github.com/cognis-digital/darkmirror) — 用于品牌监控的公共 Tor 泄露网站索引的表层网络镜像 **探索工具套件 →** [🗂️ 全部 170+ 个工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与 300+ 工具的 Cognis 套件组合使用 — JSON 输入/输出以及兼容 OpenAI 的 `/v1` 骨干网络。请参阅 **[INTEROP.md](INTEROP.md)** 了解套件图谱、组合模式和参考技术栈。 ## 许可证 源代码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** — 可免费用于个人、内部评估、研究和教育用途;**商业 / 生产环境使用需要许可证** (licensing@cognis.digital)。请参阅 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中的 170+ 个工具之一 · 让明天在今天变得更美好
标签:EXIF解析, OCR, Python, 可视化界面, 图像地理定位, 图像搜索, 数据可视化, 无后门, 日志审计, 请求拦截, 逆向工具