Skip to content
 
 

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

👁️ Gods Eye

A powerful parallel web reconnaissance screenshot tool with beautiful dark-themed HTML reports. Built for security researchers, penetration testers, and bug bounty hunters.

Python License Platform

✨ Features

  • ⚡ Blazing Fast - Parallel async screenshot capture using Playwright
  • 🎨 Beautiful Reports - Modern dark/light themed HTML reports with interactive features
  • 🔄 Smart Retries - Configurable retry logic for handling unreliable targets
  • ⏱️ Flexible Wait Modes - Fast, Balanced, or Thorough page loading strategies
  • 📊 Rich CLI Output - Colorful progress bars and status tables using Rich
  • 🔍 Interactive Filtering - Filter screenshots by HTTP status code in reports
  • 🖼️ Lightbox View - Click to zoom screenshots in full screen
  • 🌓 Theme Toggle - Switch between dark and light modes with preference saving
  • 📱 Responsive Design - Reports work perfectly on mobile and desktop
  • 🔐 SSL Tolerance - Handles HTTPS errors gracefully

📋 Requirements

  • Python 3.8+
  • Playwright
  • Rich

🚀 Installation

# Clone the repository
git clone https://github.com/yourusername/gods-eye.git
cd gods-eye

# Install dependencies
pip install playwright rich

# Install Playwright browsers
playwright install chromium

💻 Usage

Basic Usage

python Gods_eye.py -f urls.txt

Advanced Options

python Gods_eye.py -f urls.txt \
  --threads 10 \
  --timeout 10000 \
  --viewport 1920x1080 \
  --full-page \
  --retries 3 \
  --wait-mode thorough \
  --out my_scan_results

Command Line Options

Option Description Default
-f, --file File containing URLs (required) -
-o, --out Output directory gods_eye_report
--threads Number of concurrent threads 5
--timeout Page timeout in milliseconds 8000
--viewport Viewport size (WIDTHxHEIGHT) 1920x1080
--full-page Capture full page screenshot False
--retries Number of retries on failure 2
--wait-mode Page wait behavior: fast, balanced, thorough balanced

📝 Input File Format

Create a text file with one URL per line:

https://example.com
https://target1.com
https://target2.com
http://internal-site.local

Notes:

  • Lines starting with # are treated as comments
  • URLs without protocol will automatically get http:// prepended
  • Empty lines are ignored
  • Supports multiple encodings (UTF-8, UTF-16, CP1252, Latin-1)

🎯 Wait Modes Explained

Gods Eye offers three wait strategies to balance speed and reliability:

Mode Load Timeout Network Idle Best For
Fast 500ms 1000ms Quick scans, static sites
Balanced 2000ms 3000ms General purpose (default)
Thorough 4000ms 6000ms Heavy JS sites, SPAs

📊 Report Features

The generated HTML report includes:

  • 🔍 Search - Filter screenshots by URL
  • 🎯 Status Filters - Quick filter by HTTP status (2xx, 3xx, 4xx, 5xx)
  • 🌓 Theme Toggle - Switch between dark and light themes
  • 🖼️ Lightbox - Click any screenshot for full-screen view
  • 📈 Statistics - Total scans, success/warning/failure counts, runtime
  • ⬆️ Back to Top - Smooth scroll to top button
  • 🎨 Color Coded - URLs colored by status for quick visual scanning

🗂️ Output Structure

gods_eye_report/
├── report.html          # Interactive HTML report
└── screenshots/         # All captured screenshots
    ├── 001_example.com.png
    ├── 002_target1.com.png
    └── 003_target2.com.png

🔧 Use Cases

  • Reconnaissance - Visual overview of target web infrastructure
  • Bug Bounty - Quick asset discovery and baseline screenshots
  • Penetration Testing - Document target states before/after testing
  • Web Monitoring - Track visual changes across multiple sites
  • Asset Inventory - Create visual catalogs of web properties

🛡️ Security Considerations

  • Responsible Usage - Only scan targets you have permission to test
  • Rate Limiting - Use appropriate thread counts to avoid overwhelming targets
  • Legal Compliance - Ensure your scanning activities comply with local laws

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with Playwright for browser automation
  • Rich for beautiful terminal output
  • Inspired by the security research community

⚠️ Disclaimer

This tool is for authorized security testing and educational purposes only. The developers assume no liability and are not responsible for any misuse or damage caused by this program. Always obtain proper authorization before scanning systems you don't own.


Made with ❤️ for the security community

If you find this tool useful, consider giving it a ⭐ on GitHub!

About

Gods Eye is a high-performance parallel screenshot tool for web reconnaissance

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages