Skip to content

Wyind/spectra

Repository files navigation

Spectra

Open Source Intelligence Framework
Ethical :: Powerful :: Beautiful

Python 3.10+ MIT License 9 Modules Textual TUI

Spectra is a feature-rich, terminal-based OSINT (Open Source Intelligence) framework for investigating publicly available information about people, domains, emails, and more. It features a beautiful TUI built with Textual, cross-platform identity correlation with image cross-examination, and exports to JSON/CSV/HTML.

Features

  • 9 Investigation Modules — Username enumeration (350+ sites), email OSINT, phone lookup, IP/domain recon, person search, social media analysis, image forensics, web footprint, network recon
  • Identity Correlation Engine — Cross-platform matching with confidence scoring, handle variation detection, and multi-method profile picture comparison
  • Image Cross-Examination — Pure Pillow-based comparison using perceptual hashing, color histogram cosine similarity, and structural pixel analysis — no heavy dependencies
  • Beautiful TUI — Cyberpunk-themed interface with neon blue accents, arrow-key navigation, and live investigation progress
  • Person Dossier — Unified view consolidating all discovered information with overall confidence grades (HIGH/MEDIUM/LOW)
  • Auto-Detection — Automatically identifies query type (username, email, phone, IP, domain, person, image, network) and selects relevant modules
  • Export System — Results exportable to JSON, CSV, and standalone styled HTML reports
  • Session Management — Auto-saves investigations, browse and load previous sessions
  • Headless Mode — Run modules from the command line without the TUI
  • Standalone Binary — Build a single executable for Linux or Windows

Installation

Option 1: pip install (recommended)

git clone https://github.com/wyind/spectra.git
cd spectra
pip install .

Now run from anywhere:

spectra

Option 2: Development install

pip install -e .
spectra

Option 3: Run directly

pip install -r requirements.txt
python run.py

Option 4: Standalone binary

# Linux
chmod +x build.sh
./build.sh --install    # builds and copies to /usr/local/bin

# Windows
build.bat --install     # builds and copies to system PATH

Quick Start

TUI Mode

spectra

Use arrow keys and Enter to navigate the sidebar. Type a query in the search bar — Spectra auto-detects the type and selects the right modules.

Headless Mode

# Username investigation
spectra --headless username torvalds

# Email investigation
spectra --headless email user@example.com

# Network recon
spectra --headless network local

# Export results
spectra --headless username torvalds --export results.json

# List modules
spectra --list-modules

Modules

Module Category Description
Username Enumeration username Checks 350+ websites for username existence
Email OSINT email Validation, breach checks, Gravatar, MX records, provider analysis
Phone OSINT phone Number parsing, carrier lookup, timezone, social media checks
IP/Domain OSINT ip_domain WHOIS, DNS, geolocation, SSL/TLS, headers, subdomains, port scan
Person Search person Name variations, social media profiles, public records, academic links
Social Media social GitHub/Reddit/HackerNews/Gravatar API integration, cross-platform discovery
Image OSINT image EXIF metadata, GPS coordinates, reverse geocoding, file hash analysis
Web Footprint web_footprint Google dorking, Wayback Machine, GitHub code search, HIBP breaches
Network Recon network Interface enumeration, ARP table, routing, connections, DNS, external IP

Identity Correlation

Spectra's correlation engine compares discovered profiles across platforms to determine if they belong to the same person:

Factor Weight Description
Image match 0.40 Multi-method profile picture comparison
Email match 0.40 Exact email match across platforms
Username exact 0.35 Near-identical username
Cross-links 0.30 Profile A links to profile B
Display name 0.30 Matching display names
Handle variation 0.20 Detects wyinds / wyind_s / wyinds_ as same person
Bio similarity 0.15 Text comparison of profile bios
Location 0.10 Matching stated locations

Image Cross-Examination

Profile pictures are compared using three methods (Pillow-only, no heavy deps):

  • Perceptual Hash (pHash) — 8x8 grayscale fingerprint with hamming distance
  • Color Histogram — 768-value RGB distribution compared via cosine similarity
  • Structural Similarity — Normalized pixel-level grayscale comparison

Configuration

Settings are stored in ~/.spectra/config.json:

{
  "engine": {
    "max_concurrency": 50,
    "request_timeout": 15,
    "proxy": ""
  },
  "api_keys": {
    "haveibeenpwned": "",
    "virustotal": ""
  }
}

API keys are optional — all core functionality works without them.

Project Structure

spectra-osint/
├── spectra/
│   ├── app.py              # Main Textual TUI application
│   ├── cli.py              # CLI entry point (console_scripts)
│   ├── config.py           # Configuration management
│   ├── theme.py            # Colors, CSS, icons
│   ├── engine/
│   │   ├── core.py         # Async HTTP engine (aiohttp)
│   │   ├── aggregator.py   # Result aggregation & dedup
│   │   ├── correlator.py   # Identity correlation engine
│   │   └── session.py      # Session save/load
│   ├── modules/
│   │   ├── base.py         # Abstract base module
│   │   ├── username.py     # Username enumeration
│   │   ├── email_osint.py  # Email investigation
│   │   ├── phone.py        # Phone lookup
│   │   ├── ip_domain.py    # IP/Domain recon
│   │   ├── person.py       # Person search
│   │   ├── social.py       # Social media analysis
│   │   ├── image.py        # Image forensics
│   │   ├── web_footprint.py # Web footprint
│   │   └── network_recon.py # Network recon
│   ├── widgets/
│   │   └── components.py   # Custom TUI widgets
│   └── export/
│       └── exporters.py    # JSON/CSV/HTML export
├── assets/
│   ├── logo.png
│   └── banner.png
├── run.py                  # Direct launch script
├── build.sh                # Linux binary build
├── build.bat               # Windows binary build
├── pyproject.toml          # Package configuration
├── requirements.txt        # Dependencies
└── README.md

Keyboard Shortcuts

Key Action
Arrow keys + Enter Navigate sidebar
Ctrl+N New investigation
Ctrl+E Export results
Ctrl+S Save session
Ctrl+Q Quit

Ethics & Legal

Spectra is designed exclusively for ethical OSINT — gathering publicly available information. It does not:

  • Perform active exploitation or attacks
  • Access private or restricted data
  • Bypass authentication or access controls
  • Conduct unauthorized network scanning

Users are responsible for complying with applicable laws and regulations. Always obtain proper authorization before investigating individuals or organizations.

Dependencies

Package Purpose
Textual TUI framework
Rich Terminal formatting
aiohttp Async HTTP requests
Pillow Image analysis
dnspython DNS queries
phonenumbers Phone number parsing
python-whois WHOIS lookups
BeautifulSoup4 HTML parsing
validators Input validation

License

MIT License. See LICENSE for details.


Spectra OSINT — See everything. Ethically.
Built with Textual, Python, and determination.

About

A feature-rich, terminal-based OSINT (Open Source Intelligence) framework.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors