Parallel browser instances with automatic Tor IP rotation. Visit websites from different IP addresses using headless Chromium browsers with stealth mode.
- IP Rotation: Each browser instance uses a unique Tor proxy
- Parallel Execution: Run multiple browsers simultaneously
- Stealth Mode: Uses puppeteer-extra-plugin-stealth to avoid detection
- Docker Ready: Easy deployment with Docker
npm install
npm startdocker-compose build
docker-compose upEdit utils/constants/index.js:
| Option | Default | Description |
|---|---|---|
BATCH_COUNT |
10 | Parallel browser instances |
TOTAL_VISITS |
100 | Total visits to perform |
VISIT_DURATION |
5 | Seconds to stay on each page |
PAGE_TIMEOUT |
30 | Page load timeout in seconds |
START_PORT |
9052 | First Tor SOCKS port |
Add target URLs to urls.txt (one per line):
https://example.com
https://another-site.com
.
├── core/
│ └── puppeteer.js # Browser factory with stealth & proxy
├── services/
│ ├── browser.service.js # Bot logic - visit URLs
│ └── tor.service.js # Tor daemon management
├── utils/
│ ├── constants/ # Configuration
│ ├── logger.js # Console logging
│ └── urlReader.js # Read URLs from file
├── index.js # Entry point
├── urls.txt # Target URLs
└── Dockerfile
- Configures Tor with multiple SOCKS ports (one per bot)
- Starts Tor daemon with rotating IPs
- Launches parallel browser instances, each using a different proxy port
- Each bot visits all URLs from
urls.txt - Logs the IP address used and visit status
MIT