
Osintgram 是一个针对 Instagram 的开源情报(OSINT)工具。它提供交互式 shell,用于通过昵称对任何用户的 Instagram 账户进行分析。
将它指向一个 Instagram 账号,找出背后是谁。 Osintgram 收集、交叉比对并整理出公开资料所泄露的一切信息 —— 关注者、配文、话题标签、带地理标记的位置、发帖习惯、公开 联系方式 —— 全部呈现在一个运行于你自己机器上的 Web 界面中。
用自然语言提问,本地 AI 模型会判断该执行哪些查询。 或者不这样做:自己挑选命令,完全跳过模型。
它回答的是问题,而不只是执行命令。 “他们有多少关注者,最常用哪些 话题标签?” 会执行三次查询,然后返回一段书面回答 —— 以及下方的原始结果,让你可以核对工作过程,而不是盲目相信 那些文字。
除了查询本身,没有任何数据离开你的机器。 AI 通过
Ollama 在本地运行:无需 OpenAI 密钥、无需订阅、你的
提示词不会发送给任何人。界面由 127.0.0.1 提供服务。
它会在你运行之前告诉你一次搜索的成本。 Instagram 数据 并非免费,而大多数工具让你用昂贵的方式才发现这一点。这个工具会预先为 你的选择定价,显示剩余额度,缓存每个请求,让你永远不会为同一次查询 付两次钱,并允许你限制或停止一次运行 —— 在服务端,而不仅仅是在浏览器中。
它会妥善展示所发现的内容。 可筛选网格中的帖子缩略图、 地图上的地理标记位置、某人发帖时间的星期 × 小时热力图、 两个账号之间的对比。不是一堵 JSON 墙 —— 不过每张卡片上 一键即可查看 JSON。
你可以把结果交给别人。 一个按钮即可将完成的搜索 转换为独立的 HTML 报告,可在任何浏览器中打开,无需服务器,也无需 Osintgram。
AI 模式 —— 描述你想要什么。本地模型挑选命令、运行 它们并进行总结。它只能从下面的同一份列表中选择;它无法 凭空发明查询或编造数据。
基础模式 —— 无需模型,无需 Ollama。全部 29 条命令,每行一条, 分组且可搜索。勾选你想要的,设置参数,按顺序运行。
你也可以在 AI 模式下将用户名留空,只询问某个话题标签 或地点 —— 这些搜索不属于任何账号。
| 个人资料 | 简介及其中的每个链接、关注者/正在关注/帖子数量、类别、公开邮箱、电话和商业地址(精确到坐标)、关联的 Facebook id——以及 Instagram 自带的关于此账户:注册国家、创建日期、用户名更改次数 |
| 网络 | 关注者和正在关注、Instagram 推荐的关联账户、谁标记了他们、他们标记了谁、谁评论最多——以及两个账户之间的共同联系 |
| 内容 | 按使用频率排序的话题标签、配文、每条评论、点赞和评论统计、照片/视频/轮播图分类及观看量和付费合作、发帖时间热力图、地图上的地理标记位置、照片替代文本 |
| 联系方式 | 目标关注者或正在关注者中的公开邮箱和电话号码 |
| 无需目标 | 使用话题标签(热门或最新)或来自地点发布的帖子,以及发布者——外加给定 URL、shortcode 或 id 的某条特定帖子或 reel 上的每条评论 |
快拍、精选和个人头像以直接 CDN 链接的形式返回——并且 任何包含媒体的卡片都提供一键打包下载原始文件。
pip install -r requirements.txt
uvicorn src.web.app:app --host 127.0.0.1 --port 8000 --reload # or: make run
你需要一个数据后端。页面会打开一个面板,你可以在其中直接粘贴 HikerAPI 密钥——它会在被接受前进行验证, 并且可以保存以供下次使用。(免费的 instagrapi 登录也可以,使用你自己的 Instagram 账号——权衡取舍请参阅指南。)
对于 AI 模式,请安装 Ollama 并拉取一个 支持工具调用的模型:
ollama pull llama3.1:8b # ~4.7 GB, the default
基础模式无需它即可运行。
更喜欢容器?
docker compose up --build # or: make docker
同一地址,同一行为——仅发布在 127.0.0.1 上。你的密钥、缓存和已保存的搜索都保留在主机上的 config/、cache/ 和 dossier/ 中,绝不会进入镜像内部。AI 模式会连接到你主机上运行的 Ollama。
$${\color{red}Warning:}$$ 它运行在
127.0.0.1上,且没有身份验证。它专为在你自己的机器上运行而设计——在未先添加身份验证层之前,不要将其暴露到 localhost 之外。
doc/web-ui.md两种后端的设置、每条命令及其参数和费用、如何控制开销、导出和分享结果、所有配置选项,以及故障排除。
仅供教育目的使用。 贡献者不对本工具的使用承担任何责任。
config/credentials.ini——API 密钥和 Instagram 凭据都存放在那里。它已被 git 忽略;请保持这一状态。如果某个密钥曾被推送过,请轮换它:删除文件并不会将其从历史记录中移除。pip install -r requirements-dev.txt
python -m pytest
测试套件完全基于合成测试数据运行——无需 API 密钥、无配额限制、无需网络。它还会检查文档是否已与代码脱节。
欢迎提出功能请求和拉取请求——请提交 issue。发现了安全问题?请改为私下报告:参见 SECURITY.md。
Osintgram 由 Giuseppe Criscione(Datalux)编写。2.0 版本围绕 Web 界面和可复用的服务层对其进行了重构,并新增了 AI 模式、成本控制以及更新的分析功能——参见更新日志。
它极大地得益于自首个版本以来所有贡献者的付出:
Instagram 数据来自 HikerAPI 或 instagrapi。地理编码由 Nominatim / OpenStreetMap 提供。地图由 Leaflet 提供。本地模型通过 Ollama 运行。
依据 GPL-3.0 许可证发布。
Instagram 是 Meta Platforms, Inc. 的商标。本项目与 Meta 无关联,亦未获得 Meta 的认可或批准。