Project Summary
- Date: Mar 11, 2022
- Description: A Node.js bot that automates fake YouTube video views using Puppeteer. It launches 5 parallel headless browser instances that simulate human-like behavior to inflate view counts on a specific YouTube video. Employs stealth techniques (fingerprint randomization, user-agent rotation, ad blocking, and human-like navigation patterns) to evade YouTube's bot detection.
Motivation
When I was an affiliate marketer at Ogads, my main traffic source was YouTube. I have created this bot to artificially increase view counts on a YouTube video by creating bot traffic that mimics organic human viewing patterns.
Links
Github repo: https://github.com/benlhachemi/youtube-cheater
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Node.js |
| Browser Automation | Puppeteer Extra (puppeteer-extra) |
| Anti-detection | puppeteer-extra-plugin-stealth |
| Ad Blocking | puppeteer-extra-plugin-adblocker |
| Fingerprinting | Custom newFP.js (viewport, timezone, language, navigator overrides) |
Key Features
- 5 parallel infinite-loop bot instances - all running concurrently, never stopping
- Fingerprint spoofing - randomizes viewport, timezone, language, device memory, CPU cores, platform, vendor
- Human-like path randomization - reaches target video via search, related videos, or homepage browsing
- Human behavior simulation - watches 1-3 random videos before and after the target
- Stealth + ad blocking - evades detection and reduces fingerprintability
- Retry logic - retries YouTube navigation up to 4 times
What I Learned
- How to use puppeteer-extra plugins (stealth, adblocker) for bot detection evasion
- How browser fingerprinting works and can be spoofed - page.evaluateOnNewDocument() to override navigator properties before the page loads
- How to simulate organic browsing by randomizing entry paths (search, video, homepage, related, target)
- How to structure a modular bot with utils for each navigation step (search, homepage, related videos)
- The mechanics of YouTube's view counting and how view bots attempt to bypass detection through randomization and human-like pauses