shredzwho/IG-Detective

GitHub: shredzwho/IG-Detective

一款基于 Python 的 Instagram 开源情报调查工具,提供账户分析、地理轨迹映射、社交网络关系挖掘和自动化报告生成等深度 OSINT 功能。

Stars: 136 | Forks: 22

# IG-Detective 🕵️‍♂️📸 [![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Rich UI](https://img.shields.io/badge/UI-Rich--Aesthetics-brightgreen)](https://github.com/Textualize/rich) **IG-Detective** 是一款高性能、基于 Python 的 Instagram 开源情报 (OSINT) 工具。它提供了一个高级的交互式 shell,能够对 Instagram 账户进行深度分析、提取位置历史记录、映射互动关系并生成自动化的调查报告。 ## ⚡ 功能 ### 🛡️ 规避与隐蔽(高级) - **TLS 指纹欺骗**:结合 `playwright-stealth` 使用无头 Playwright `chromium` 浏览器来模拟真实环境,彻底绕过 Cloudflare 和 CDN 的速率限制。 - **深度规避回退**:如果已认证的会话遭到影子封禁(例如 HTTP 401/429/400 拦截),会自动级联到未认证的无头浏览器抓取,通过省略 cookies 并伪造 headers 来模拟纯净的全新连接。 - **泊松抖动**:请求间采用类似人类的随机延迟,以模仿自然用户的行为。 ### ⚡ 性能与优化 - **无头内存调优**:精简的 Playwright 浏览器配置,通过路由拦截显式屏蔽繁重的视觉资产(图像、字体、样式表),从而实现极速查询。 - **异步数据导出**:在 `data` 归档命令中利用 ThreadPool 并行下载,大幅提升完整复制账户媒体的速度。 ### 🔍 核心侦察 - **用户信息**:全面的资料详情(ID、简介、粉丝、商业状态)。 - **粉丝/关注**:列出并导出目标的社交网络。 - **帖子分析**:对近期内容、点赞和评论进行详细梳理。 ### 📍 高级 OSINT - **交互式地理空间映射**:从帖子中提取 GPS 坐标,并生成带有可读地址和可点击图钉的 Folium `interactive_map.html`。 - **社交网络分析 (`sna`)**:映射互动关系以识别“核心圈子”——与目标关联度最高的前 10 名用户。 - **时间活动分析 (`temporal`)**:使用 DBSCAN 聚类分析识别目标的“睡眠间隙”并预测其主要时区。 - **Story 提取 (`stories`)**:获取活跃的 Story URL。 ### 🔬 研究驱动的取证模块(前沿技术) - **账户恢复枚举 (`recovery`)**:触发密码重置流程,揭示掩码联系提示,用于行政邮箱验证。 - **共同访问分析 (`intersect`)**:通过交叉比对两个目标之间的 GPS/时间交集,确定物理会面地点。 - **文体测量学 (`stylometry`)**:基于二元语法和 Emoji 分布生成数字“语言签名”,从而关联多个账户。 - **互动审计 (`audit`)**:通过时间抖动方差进行统计检测,识别虚假的 Bot 活动。 ### 📦 调查管理 - **一键导出 (`data`)**:自动下载目标的粉丝列表、关注列表和时间线媒体(包含元数据 JSON),并将其打包为单一的 ZIP 归档文件。 - **自动化报告**:每条命令都会自动将结果保存为 JSON 和 TXT 报告,存放于 `data//` 中。 - **自主批处理模式**:从文本文件中按顺序处理多个目标。 - **智能缓存**:通过基于 TTL 的缓存实现极速的重复查询。 ## 🚀 安装说明 1. **克隆仓库** git clone https://github.com/shredzwho/IG-Detective.git cd IG-Detective 2. **设置虚拟环境** python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate 3. **安装依赖** pip install -r requirements.txt ### 🐳 使用 Docker 运行(推荐) 你可以完全在 Docker 中运行 IG-Detective 以避免依赖问题。该容器需要交互式 TTY (`-it`) 以及用于保存取证报告的卷挂载。 1. **使用 Docker Compose(最简单)** docker-compose run --rm detective 2. **使用标准 Docker** docker build -t ig-detective . docker run -it -v $(pwd)/data:/app/data ig-detective ## 🛠 用法 1. **启动 Shell** python3 main.py # 或使用提供的 wrapper: ./run.sh 2. **核心命令** 进入 shell 后,你必须先设置一个目标,然后才能运行分析模块: | 命令 | 描述 | | :--- | :--- | | `target ` | 设置调查目标(必须的第一步) | | `info` | 查看基本资料 OSINT(简介、外部链接、元数据) | | `posts` | 获取目标近期的时间线活动与统计数据 | | `addrs` | 从内嵌的 GPS 中提取地理位置目标 | | `data` | 将目标足迹(媒体、粉丝)导出为 ZIP 文件 | | `surveillance`| 持续监控并实时追踪目标指标/简介变化 | | `sna` | 进行社交网络分析以映射“核心圈子” | | `temporal`| 通过 DBSCAN 计算时区和睡眠行为 | | `stylometry` | 对配文进行 NLP 语言特征分析(Emoji 与 N-grams) | | `recovery` | 触发密码重置流程以揭示掩码联系人 | | `intersect` | 交叉比对两个目标之间的 GPS/时间交集 | | `audit` | 通过统计检测识别虚假 Bot 活动 | | `help` | 显示交互式帮助菜单 | | `exit` | 干净地退出 CLI | ## 📑 详细文档 如需深入了解系统架构、取证方法论和规避逻辑,请参阅: 👉 **[DOCUMENTATION.md](DOCUMENTATION.md)** ## 📂 项目结构 - `main.py`:shell 的主入口点。 - `run.sh`:启动包装脚本。 - `src/api/`:包含 `Playwright` 隐身客户端和认证管理器的网络层。 - `src/core/`:包含数据模型和配置的基础层。 - `src/modules/`:包含抓取工具和深度分析工具的业务逻辑层。 - `src/cli/`:包含交互式提示和 Rich 格式化程序的展示层。 - `data/`:自动化的调查报告(已在 git 中忽略)。 ## 🤝 参与贡献 欢迎自由 fork 本项目并提交 pull request。对于重大更改,请先开启一个 issue 以讨论你希望进行的更改。 ## 📜 许可证 [MIT]
标签:ESC4, OSINT, Playwright, Python, 实时处理, 无后门, 特征检测, 自动化爬虫, 请求拦截, 逆向工具