A powerful parallel web reconnaissance screenshot tool with beautiful dark-themed HTML reports. Built for security researchers, penetration testers, and bug bounty hunters.
- ⚡ 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
- Python 3.8+
- Playwright
- Rich
# 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 chromiumpython Gods_eye.py -f urls.txtpython Gods_eye.py -f urls.txt \
--threads 10 \
--timeout 10000 \
--viewport 1920x1080 \
--full-page \
--retries 3 \
--wait-mode thorough \
--out my_scan_results| 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 |
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)
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 |
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
gods_eye_report/
├── report.html # Interactive HTML report
└── screenshots/ # All captured screenshots
├── 001_example.com.png
├── 002_target1.com.png
└── 003_target2.com.png
- 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
- 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
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Playwright for browser automation
- Rich for beautiful terminal output
- Inspired by the security research community
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!