Open Source Intelligence Framework
Ethical :: Powerful :: Beautiful
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.
- 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
git clone https://github.com/wyind/spectra.git
cd spectra
pip install .Now run from anywhere:
spectrapip install -e .
spectrapip install -r requirements.txt
python run.py# Linux
chmod +x build.sh
./build.sh --install # builds and copies to /usr/local/bin
# Windows
build.bat --install # builds and copies to system PATHspectraUse 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.
# 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| 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 |
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 |
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
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.
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
| Key | Action |
|---|---|
| Arrow keys + Enter | Navigate sidebar |
| Ctrl+N | New investigation |
| Ctrl+E | Export results |
| Ctrl+S | Save session |
| Ctrl+Q | Quit |
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.
| 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 |
MIT License. See LICENSE for details.
Spectra OSINT — See everything. Ethically.
Built with Textual, Python, and determination.