ShadowEye is a comprehensive OSINT intelligence framework for security researchers, bug bounty hunters, and investigators. It aggregates open-source intelligence across usernames, phone numbers, emails, domains, and more from a unified terminal interface.
Forked from Mr.Holmes, security-audited and rebuilt by krypthane — Red Team Operator from Mexico.
+-------------------------------+----------------------------------+
| ShadowEye v1.0 Module Map |
+-------------------------------+----------------------------------+
| [01] Username Search | [09] Google Dorks |
| [02] Phone Lookup | [10] Person Search |
| [03] Website OSINT | [11] Decoder (Hash/B64/etc) |
| [04] Configuration | [12] PDF Converter |
| [05] Database Viewer | [13] File Transfer |
| [06] Update | [14] Session Manager |
| [07] Port Scanner | [15] Exit |
| [08] Email Search | |
+-------------------------------+----------------------------------+
Full audit and patches by krypthane
| ID | File | Bug | Severity | Fix |
|---|---|---|---|---|
| BUG-01 | Proxies.py |
Class-level I/O runs at import — crash if config missing | HIGH | Lazy-loaded with _load() |
| BUG-02 | ShadowEye.py |
conf UnboundLocalError if Display.txt missing |
HIGH | Defaults to "Desktop" with warning |
| BUG-03 | Menu.py |
version = f.read() + r reads empty (file exhausted by loop) |
MED | Clean read with seek reset |
| BUG-04 | config.py |
os.path.isfile (ref, not call) — always True (2x) |
HIGH | os.path.isfile(nomefile) |
| BUG-05 | Proxies.py |
Proxy URL "//"+host missing schema |
MED | "http://"+host |
| BUG-06 | requirements.txt |
PyQRCode==1.2.1 (2018), bs4==4.9.3 (2020) abandoned |
MED | Updated to current versions |
| BUG-07 | Menu.py |
ValueError on bad input calls exit() |
MED | continue back to menu |
| BUG-08 | Searcher.py |
urlopen() no timeout — hangs on dead proxy |
MED | timeout=8 added |
| BUG-09 | Clear.py |
os.system('clear') |
LOW | subprocess.run() |
| BUG-10 | Searcher.py |
10x bare except prints "Something went wrong" |
LOW | Suppressed cleanly |
git clone https://github.com/wavegxz-design/ShadowEye
cd ShadowEye
pip install -r requirements.txt
# Linux/macOS
python3 ShadowEye.py
# Windows
python ShadowEye.py# Set display mode
echo "Desktop" > Display/Display.txt # or "Mobile" for Termux
# Fill in your config
# Edit Configuration/Configuration.ini with your SMTP, API key, proxy pathShadowEye/
├── ShadowEye.py <- Main launcher (rebuilt)
├── Core/
│ ├── Searcher.py <- Username OSINT (timeout fix)
│ ├── Searcher_phone.py <- Phone lookup
│ ├── Searcher_website.py <- Website OSINT
│ ├── Port_Scanner.py <- TCP port scanner
│ ├── E_Mail.py <- Email OSINT
│ ├── Dork.py <- Google/Yandex dorks
│ ├── Decoder.py <- Hash/encoding decoder
│ └── Support/
│ ├── Menu.py <- Main menu (ValueError fix)
│ ├── Proxies.py <- Proxy manager (lazy load fix)
│ ├── Font.py <- Extended color palette
│ └── Clear.py <- Screen clear (subprocess fix)
├── Configuration/ <- User config (not committed)
├── Site_lists/ <- OSINT site databases
├── Display/Display.txt <- Desktop or Mobile
├── requirements.txt <- Updated dependencies
└── banner.svg
For AUTHORIZED security research and educational purposes ONLY.
OK: Bug bounty (within scope), CTF, authorized pentesting, self-OSINT
NOT OK: Unauthorized surveillance, stalking, harassment, illegal activity
The author assumes NO responsibility for misuse.
| krypthane | Red Team Operator and Open Source Developer |
| GitHub | github.com/wavegxz-design |
| Telegram | t.me/Skrylakk |
| Workernova@proton.me | |
| Portfolio | krypthane.workernova.workers.dev |
| Location | Mexico UTC-6 |
"Know the attack to build the defense." — krypthane