EyeWitness is designed to take screenshots of websites, provide server header info, and identify default credentials if known. Now powered by Chromium browser for better reliability and easier installation. EyeWitness now uses Python virtual environments for all installations, providing: 🔥 NEW: EyeWitness now uses Python virtual environments for zero conflicts and bulletproof installation across all platforms! Note: Docker support is currently in development. Please use native installation options below for now. Automated setup with Python virtual environment: What gets installed: Production-ready setup with Python virtual environment: What gets installed: 🎯 Benefits: Supported Linux Distributions: Homebrew-based setup with Python virtual environment: What gets installed: After running the setup script, activate the virtual environment and run EyeWitness: 🐧 Linux/macOS: 🪟 Windows: EyeWitness automatically detects your system resources and adjusts accordingly: Create a config file to save your preferred settings: Chromium/ChromeDriver not found: Virtual environment issues: Connection timeouts: High memory usage: Permission errors: All errors now include specific troubleshooting steps. For example: EyeWitness generates: 📝 Note: The setup script handles all dependencies automatically. You just need Python 3.7+ and admin privileges. This fork includes significant modernization: E-Mail: GetOffensive [@] redsiege [dot] com EyeWitness is licensed under the GNU General Public License v3.0.eyewitness-venv/ directory to remove everythingeyewitness-venv/ directory with isolated PythonEyeWitness/
├── eyewitness-venv/ # 🔒 Virtual environment (isolated Python packages)
│ ├── bin/activate # Linux/macOS activation script
│ └── Scripts/activate.bat # Windows activation script
├── Python/
│ └── EyeWitness.py # 📜 Main script (runs in virtual environment)
└── setup/ # Setup scripts and requirements
# 1. Open PowerShell as Administrator
# 2. Navigate to EyeWitness directory
cd path\to\EyeWitness\setup
# 3. Run the setup script (creates virtual environment)
.\setup.ps1
# 4. Test installation by activating virtual environment
cd ..
eyewitness-venv\Scripts\activate.bat
python Python\EyeWitness.py --single https://example.com
# 1. Navigate to setup directory
cd EyeWitness/setup
# 2. Run the setup script (creates virtual environment)
sudo ./setup.sh
# 3. Test installation by activating virtual environment
cd ..
source eyewitness-venv/bin/activate
python Python/EyeWitness.py --single https://example.com
# 1. Install Chrome via Homebrew
brew install --cask google-chrome
# 2. Navigate to setup directory and run setup
cd EyeWitness/setup
sudo ./setup.sh
# 3. Test installation by activating virtual environment
cd ..
source eyewitness-venv/bin/activate
python Python/EyeWitness.py --single https://example.com
# 1. Activate the virtual environment
source eyewitness-venv/bin/activate
# 2. Run EyeWitness (you're now in the isolated environment)
python Python/EyeWitness.py --single https://example.com
python Python/EyeWitness.py -f urls.txt
python Python/EyeWitness.py -x nmap_scan.xml
python Python/EyeWitness.py -f urls.txt -d /path/to/output
# 3. When finished, deactivate the virtual environment
deactivate
# 1. Activate the virtual environment
eyewitness-venv\Scripts\activate.bat
# 2. Run EyeWitness (you're now in the isolated environment)
python Python\EyeWitness.py --single https://example.com
python Python\EyeWitness.py -f urls.txt
python Python\EyeWitness.py -x nmap_scan.xml
python Python\EyeWitness.py -f urls.txt -d C:\path\to\output
# 3. When finished, deactivate the virtual environment
deactivate
# Activate virtual environment first
source eyewitness-venv/bin/activate # Linux/macOS
eyewitness-venv\Scripts\activate.bat # Windows
# Create a sample config file
python Python/EyeWitness.py --create-config
# Use a config file
python Python/EyeWitness.py -f urls.txt --config ~/.eyewitness/config.json
# Activate virtual environment first
source eyewitness-venv/bin/activate # Linux/macOS
eyewitness-venv\Scripts\activate.bat # Windows
# Validate URLs without taking screenshots
python Python/EyeWitness.py -f urls.txt --validate-urls
# Skip validation (use with caution)
python Python/EyeWitness.py -f urls.txt --skip-validation
# Activate virtual environment first
source eyewitness-venv/bin/activate # Linux/macOS
eyewitness-venv\Scripts\activate.bat # Windows
# Adjust threads based on your system (default: auto-detected)
python Python/EyeWitness.py -f urls.txt --threads 5
# Increase timeout for slow connections
python Python/EyeWitness.py -f urls.txt --timeout 30
# Add delays and jitter
python Python/EyeWitness.py -f urls.txt --delay 2 --jitter 5
# Use proxy
python Python/EyeWitness.py -f urls.txt --proxy-ip 127.0.0.1 --proxy-port 8080
# Custom output directory
python Python/EyeWitness.py -f urls.txt -d /path/to/output
# Resume a previous scan
python Python/EyeWitness.py --resume /path/to/output/ew.db
{
"threads": 10,
"timeout": 30,
"delay": 0,
"jitter": 0,
"user_agent": "Custom User Agent",
"proxy_ip": "127.0.0.1",
"proxy_port": 8080,
"output_dir": "./sessions",
"prepend_https": false,
"show_selenium": false,
"resolve": false,
"skip_validation": false,
"results_per_page": 25,
"max_retries": 2
}sudo ./setup.sh in setup/ directory.\setup.ps1 as Administrator in setup\ directorysudo ./setup.sh in setup/ directory (after brew install --cask google-chrome)--timeout 60--threads 5report.html - Main report with screenshotsscreens/ - Screenshot imagessource/ - Page source codeew.db - SQLite database for resume capabilityvenv module support (standard in most Python installations)