Skip to content

ic0e/OS-Recon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS-RECON • Python React

A local reconnaissance dashboard for digital footprint analysis. Unlike standard username checkers, OS-Recon combines passive social scanning with active deep-profile extraction - spawning isolated stealth browser instances using nodriver to bypass anti scraping walls and pull raw metadata that static scanners can't reach.

Python FastAPI React TypeScript nodriver HTTPX curl-cffi

Built around three engines: a fast async social scanner, a stealth browser orchestration layer (nodriver), and a GitHub intelligence module that audits repositories, parses commit history, and extracts developer metadata automatically.

Results are split into prioritized risks and general logs - designed with structured data output in mind for downstream analysis.

!! Early MVP: expect bugs and unfinished modules.

DEMO

Scan & Select

Input one or more usernames and OS-Recon's async scanner probes dozens of platforms concurrently. Found profiles are flagged and queued - ready for deep extraction. If a platform blocks you, it's flagged as blocked for the user to manually check.

scan

Deep Pry

Select your targets and launch the nodriver drones. Isolated stealth Chrome instances bypass anti-scraping walls and pull raw metadata, bios, outbound links, and platform-specific variables that static scanners can't reach. Collects the data for more advanced Analytics.

deep pry

Analytics

All harvested data is put through analytics. You can get basic statistics and if set up, an AI summary that gets the key points from the data.

analytics

FEATURES ATM

  • DeepPry UI: Track target accounts in a clean dashboard. Includes auto fallback protocols to load media across different domains without CORS blocking.
  • Stealth Browser: Uses nodriver to spin up concurrent, isolated headless Chrome instances to not get blocked by cloudflare or other firewalls.
  • Profile Scraping: Pulls bios, links, and dynamic page variables from targets.
  • FastAPI Backend: Async backend using httpx and curl_cffi to grab registry metrics concurrently.
  • Analytics Tab (OPTIONAL API): Toggle between raw data and AI analysis. Keeps tab state so you don't lose your place when switching views.
  • LLM Threat Analysis: Sends raw scraped dumps to Groq (llama-3.1-8b-instant) to strip out the important info from the messy data gathered.
  • GitHub Scanner: Hits the GitHub API to scan repos, extract metadata, and dig up hidden emails from commit histories.

ROADMAP

Check out issues, the future features are mapped there.

Current Project Structure

OS-RECON/
├── backend/                    # The backend server folder, handles scraping & processing.
│   ├── engines/                # Scrapers and parsers depending on input type.
│   │   ├── payloads/           # Javascript payloads used for the pry_engine.
│   │   │   └── payload_store.py
│   │   ├── git_engine.py       # GitHub repository analysis & commit fetching.
│   │   ├── pry_engine.py       # Stealth browser automation engine via nodriver.
│   │   └── social_engine.py    # Asynchronous username check registry & probe logic.
│   └── main.py                 # FastAPI application server.
└── frontend/                   # React TS + Vite frontend UI.

How to Run

Disclaimer: This tool is developed strictly for educational, security auditing, and authorized open-source intelligence research. The developer assumes no liability for misuse or violations of third-party terms of service.

⚠️⚠️ NEVER RUN IN A PUBLIC NETWORK YOU DON'T TRUST. THIS TOOL IS FOR LOCAL USE ONLY. ⚠️⚠️

Requirements (links below in prerequisites section):

  • Python 3.10+ (preferably 3.14, or the newest availalable version)
  • All libraries in requirements.txt
  • Node.js 18+.
  • Chrome (for the stealth browser module)

Getting Started

Non developers who want to try this out: OS-Recon runs locally and requires a few tools to set up. There's no hosted or deployed version yet, this is early development. You'll need to run it through a terminal or an IDE like VS Code. Follow the steps below carefully and it should work out of the box.

Prerequisites:

Clone the repo:

git clone https://github.com/ic0e/OS-Recon.git
cd OS-Recon

Then follow the Backend and Frontend steps below.

AI Analysis Setup (Optional)

The AI summary tab requires a Groq API token. If you choose not to use the AI analysis engine, the application will function fully without it. If you want a fast way to summarize the data and get basic conclusions/connections, it's recommended to get an API token.

  1. Head to the Groq Console.
  2. Generate a new API key under the API Keys management dashboard.
  3. Create a .env file in the root directory and append your key:
GROQ_API_KEY=gsk_your_token_here

To start the project you need to run the Backend and the Frontend through the root folder.

Setup & Package installation

cd backend
pip install -r requirements.txt
# or if you have uv: uv sync
cd ..
npm install

Startup

npm start

Manual startup (separate terminals, recommended for development when changing stuff)

Backend

cd backend
pip install -r requirements.txt
python -m uvicorn main:app

Frontend

cd frontend
npm install
npm run dev

Frontend runs on http://localhost:5173, backend on http://localhost:8000.

Contributing

See CONTRIBUTING.md for guidelines on how to help.

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

About

Local OSINT recon dashboard: async social scanner + stealth browser extraction + GitHub intelligence module

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages