How shredzwho/ig-detective works
IG-Detective is an interactive Instagram OSINT application. An investigator authenticates or loads a saved session, selects a target in the shell, and invokes reconnaissance, analysis, monitoring, or export commands. Reconnaissance fetches and structures profile and post data; analysis covers network, temporal, linguistic, and engagement patterns, while location and recovery investigations provide distinct OSINT stages. Export assembles profile, follower/following, and media data into an archive; surveillance compares snapshots in SQLite. README documents additional capabilities whose implementation wiring is not fully visible in the sampled source, so those links are not inferred.
Main entry points: shell.py Interactive Shell · recon.py Recon Engine · client.py Instagram Client · exporter.py Data Exporter
Components 17
Investigator Interface
- Application Entry
main.py - Interactive Shell
src/cli/shell.py - Rich Presentation
src/cli/formatters.py
Session and Access
- Session Manager
src/api/auth.py - Instagram Client
src/api/client.py - Endpoint Builder
src/api/endpoints.py
Recon and Analysis
- Recon Engine
src/modules/recon.py - TTL Cache
src/core/cache.py - Request Evasion
src/modules/evasion.py - Domain Models
src/core/models.py - OSINT Analytics
src/modules/analytics.py
Investigation Management
- Data Exporter
src/modules/exporter.py - Surveillance Engine
src/modules/surveillance.py - Snapshot Database
src/modules/surveillance.py
Other components
- Investigator
- Geocoding Service
Connections 22
- Investigator → Application Entry: launches
- Application Entry → Session Manager: authenticates
- Application Entry → Interactive Shell: starts
- Interactive Shell → Investigator: prompts
- Interactive Shell → Rich Presentation: renders
- Interactive Shell → Recon Engine: requests recon
- Interactive Shell → OSINT Analytics: runs analysis
- Interactive Shell → Data Exporter: requests export
- Interactive Shell → Surveillance Engine: requests monitoring
- Session Manager → Instagram Client: loads cookies
- Instagram Client → Session Manager: loads session
- Instagram Client → Endpoint Builder: builds requests
- Instagram Client → Instagram: fetches data
- Recon Engine → Instagram Client: fetches profile and posts
- Recon Engine → TTL Cache: reads and writes
- Recon Engine → Request Evasion: applies jitter
- Recon Engine → Domain Models: creates records
- Data Exporter → Recon Engine: fetches profile and posts
- Data Exporter → Instagram Client: fetches follower lists
- Data Exporter → Instagram: downloads media
- Surveillance Engine → Snapshot Database: reads and writes
- Interactive Shell → Geocoding Service: resolves addresses