SCRAPING
Vote Automation System
Automated voting engine utilizing proxy rotation and Selenium Stealth to bypass bot-detection algorithms.
Client: Private Campaign
Marketing & Events
100% success rate on submissions

PythonSelenium Stealthundetected-chromedriverDecodo Proxies
Vote Automation System
Lehigh Valley Style "Best of 2026"
Automated voting system with advanced anti-detection, proxy rotation, and human behavior emulation.
๐ฏ Features
โ
Undetected Chrome: Bypasses bot detection using undetected-chromedriver
โ
Selenium Stealth: Hardware and browser fingerprint randomization
โ
Proxy Rotation: US residential proxies with session-based rotation (Decodo)
โ
Human Emulation: Character-by-character typing with random delays
โ
Bell Curve Scheduling: Natural traffic distribution (8 AM - 10 PM ET)
โ
Smart Field Rotation: 25 fields per vote with priority handling
โ
Screenshot Capture: Visual proof of every submission
โ
Comprehensive Logging: IP tracking, success rates, and statistics
๐ Prerequisites
DigitalOcean Account (or similar VPS provider)
Decodo Proxy Subscription (US residential proxies)
Survey URL for Lehigh Valley Style voting
Python 3.10+ (Ubuntu 24.04 recommended)
๐ Quick Start
Local Testing (Windows)
Clone or download this repository
Install Python dependencies:
pip install -r requirements.txt
Configure environment:
copy .env.template .env
# Edit .env with your actual values
Run test vote:
python run.py test --no-proxy
Production Deployment (DigitalOcean)
See DEPLOYMENT.md for complete step-by-step guide.
Quick summary:
Create Ubuntu 24.04 droplet (4GB RAM recommended)
Transfer files via Git or SCP
Run ./setup.sh to install dependencies
Configure .env with credentials
Start service: sudo systemctl start vote-automation
๐ Project Structure
vote-automation/
โโโ field_manager.py # Field rotation and prioritization logic
โโโ proxy_manager.py # Decodo proxy integration
โโโ vote_automation.py # Main automation script
โโโ scheduler.py # Bell curve scheduling system
โโโ run.py # CLI interface
โโโ config.yaml # Configuration file
โโโ .env.template # Environment variables template
โโโ requirements.txt # Python dependencies
โโโ setup.sh # Ubuntu setup script
โโโ vote-automation.service # Systemd service file
โโโ DEPLOYMENT.md # DigitalOcean deployment guide
โโโ MONITORING.md # Monitoring and maintenance guide
โโโ README.md # This file
๐ฎ Usage
Command Line Interface
# Run a single test vote
python run.py test
# Run test without proxy (local testing)
python run.py test --no-proxy
# Start automated scheduler
python run.py start
# Check system status
python run.py status
Configuration
Edit config.yaml for:
Operating hours (default: 8 AM - 10 PM ET)
Daily vote target (default: 100)
Bell curve distribution settings
Browser settings (headless mode, screenshots)
Edit .env for:
Survey URL
Proxy credentials
Optional overrides
Service Management (Production)
# Start service
sudo systemctl start vote-automation
# Stop service
sudo systemctl stop vote-automation
# Check status
sudo systemctl status vote-automation
# View logs
sudo journalctl -u vote-automation -f
๐ Monitoring
View Statistics
python run.py status
Real-Time Logs
# Application logs
tail -f logs/automation.log
# System logs
sudo journalctl -u vote-automation -f
Daily Summary
# Run daily summary script
~/daily-summary.sh
See MONITORING.md for complete monitoring guide.
๐ง Technical Details
Anti-Detection Features
Undetected ChromeDriver: Removes automation flags
Selenium Stealth: Randomizes:
User agents
Viewport sizes
Hardware fingerprints
WebGL vendors
Human Behavior Emulation:
Character-by-character typing (100-300ms delays)
Random scrolling
Variable pause between fields
Realistic click patterns
Proxy System
Provider: Decodo (iProyal) residential proxies
Type: US-only residential IPs
Rotation: New session per vote
Authentication: Chrome extension method
Health Checks: Pre-vote proxy validation
Scheduling Algorithm
Bell Curve Distribution:
Peak hours (12 PM - 3 PM): 15-30 min intervals
Mid hours (10 AM - 12 PM, 3 PM - 6 PM): 20-40 min intervals
Off-peak (8 AM - 10 AM, 6 PM - 10 PM): 30-45 min intervals
๐ธ Screenshot Capture
Every vote captures screenshots at:
Initial page load
Before submit
Confirmation page
Any errors encountered
Screenshots saved to screenshots/ with format:
YYYYMMDD_HHMMSS_<IP>_<stage>.png
๐ Security Considerations
โ ๏ธ Important: This system is designed to automate survey submissions. Ensure you have proper authorization and comply with all applicable laws and terms of service.
Security features:
Credentials stored in .env (not committed to Git)
Systemd service runs as non-root user
Firewall configuration included in setup
SSH key authentication recommended
๐ Troubleshooting
Common Issues
Service won't start:
sudo journalctl -u vote-automation -n 50
# Check for missing dependencies or configuration errors
Proxy connection fails:
python -c "from proxy_manager import ProxyManager; import os; from dotenv import load_dotenv; load_dotenv(); pm = ProxyManager(os.getenv('PROXY_USERNAME'), os.getenv('PROXY_PASSWORD')); print(pm.test_proxy())"
Chrome/ChromeDriver issues:
pip install --upgrade undetected-chromedriver
See MONITORING.md for complete troubleshooting guide.
๐ Performance
Expected metrics:
Vote Success Rate: >95%
Proxy Success Rate: >95%
Daily Target Achievement: 100%
Average Vote Duration: 2-3 minutes
Server Load: <50% CPU, <2GB RAM
๐ Updates and Maintenance
Weekly Tasks
Review logs for errors
Clean up old screenshots
Check success rates
Verify proxy health
Monthly Tasks
Update system packages
Review and optimize configuration
Backup .env securely
Check for Python package updates
๐ฐ Cost Estimate
DigitalOcean Droplet: ~$24/month (4GB Premium) Decodo Proxies: Variable (check pricing) Total: ~$30-50/month depending on proxy plan
๐ License
This is a private automation project. Ensure compliance with all applicable laws and terms of service.
๐ค Support
For issues:
Check logs: logs/automation.log
Review MONITORING.md
Check DEPLOYMENT.md
Review screenshots for visual debugging
Status: Production Ready โ
Last Updated: 2026-01-18
Version: 1.0.0
Have a similar project in mind?
Tell us what you need and we'll come back with a clear plan and fixed price within 24 hours.
Start a Project