├── requirements.txt ├── youtube-bot-demo.gif ├── youtube-view-bot.png ├── .env.example ├── Dockerfile ├── package.json ├── index.js ├── main.py └── README.md /requirements.txt: -------------------------------------------------------------------------------- 1 | playwright 2 | python-dotenv 3 | -------------------------------------------------------------------------------- /youtube-bot-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/y-t-bot/youtube-view-bot/HEAD/youtube-bot-demo.gif -------------------------------------------------------------------------------- /youtube-view-bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/y-t-bot/youtube-view-bot/HEAD/youtube-view-bot.png -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | YOUTUBE_EMAIL=your_email@gmail.com 2 | YOUTUBE_PASSWORD=your_password 3 | PROXY=http://user:pass@ip:port 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:18 2 | 3 | WORKDIR /app 4 | 5 | COPY package.json package-lock.json* ./ 6 | RUN npm install 7 | 8 | COPY . . 9 | 10 | CMD ["npm", "start"] 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "youtube-bot", 3 | "version": "1.0.0", 4 | "description": "youtube-bot — automation toolkit", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "dependencies": { 10 | "playwright": "^1.48.0", 11 | "dotenv": "^16.4.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const { chromium } = require("playwright"); 2 | require("dotenv").config(); 3 | 4 | (async () => { 5 | const browser = await chromium.launch({ headless: false }); 6 | const context = await browser.newContext({ 7 | proxy: process.env.PROXY ? { server: process.env.PROXY } : undefined, 8 | }); 9 | const page = await context.newPage(); 10 | 11 | console.log("[INFO] Navigating to YouTube..."); 12 | await page.goto("https://youtube.com"); 13 | 14 | // Example action: search and play a video 15 | await page.fill("input#search", "lofi hip hop radio"); 16 | await page.keyboard.press("Enter"); 17 | await page.waitForTimeout(3000); 18 | 19 | await page.click("ytd-video-renderer a#thumbnail"); 20 | console.log("[INFO] Playing video..."); 21 | 22 | await page.waitForTimeout(15000); // watch 15s 23 | await browser.close(); 24 | })(); 25 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | from playwright.async_api import async_playwright 3 | from dotenv import load_dotenv 4 | import os 5 | 6 | load_dotenv() 7 | 8 | async def run(): 9 | async with async_playwright() as p: 10 | browser = await p.chromium.launch(headless=False) 11 | context = await browser.new_context(proxy={"server": os.getenv("PROXY")} if os.getenv("PROXY") else None) 12 | page = await context.new_page() 13 | 14 | print("[INFO] Navigating to YouTube...") 15 | await page.goto("https://youtube.com") 16 | 17 | # Example action: search and play a video 18 | await page.fill("input#search", "lofi hip hop radio") 19 | await page.keyboard.press("Enter") 20 | await page.wait_for_timeout(3000) 21 | 22 | await page.click("ytd-video-renderer a#thumbnail") 23 | print("[INFO] Playing video...") 24 | 25 | await page.wait_for_timeout(15000) # watch 15s 26 | await browser.close() 27 | 28 | asyncio.run(run()) 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # youtube-view-bot 2 | 3 | Automated solution for simulating YouTube views at scale. 4 | Designed for testing, research, and educational purposes, this toolkit helps developers understand YouTube’s behavior, proxies, and automation flows. 5 | 6 |

7 | 8 | Try it Free 9 | 10 |

11 | 12 |

13 | 14 | Join Discord 15 | 16 | 17 | Contact on Telegram 18 | 19 |

20 | 21 | --- 22 | 23 | ## Introduction 24 | 25 | The **youtube-view-bot** is a research automation project to simulate YouTube traffic patterns. 26 | It’s built for developers and testers who want to study YouTube’s engagement flows, proxy rotation, and multi-instance management. 27 | 28 | ### Key Benefits 29 | - **Time-Saving** → Automates repetitive tasks like refreshing and watching videos. 30 | - **Scalable** → Run multiple sessions with rotating proxies and accounts. 31 | - **Safer Testing** → Designed with anti-detect browsers and sandboxing to reduce risk. 32 | 33 | --- 34 | 35 |

36 | youtube-bot hero 37 |

38 | 39 | 40 |

41 | 42 | youtube-bot demo 43 | 44 |

45 |

46 | 47 | Click here to see the demo video 48 | 49 |

50 | 51 | ## Features 52 | - Automated YouTube video view generation 53 | - Proxy support (residential, datacenter, mobile) 54 | - Headless & visible browser automation (Playwright/Selenium) 55 | - Randomized watch times & intervals for natural behavior 56 | - Multi-session control (parallel execution) 57 | - Configurable via `.env` 58 | - Docker-ready for deployment 59 | 60 | --- 61 | 62 | ## Use Cases 63 | - Load testing YouTube video pages 64 | - Studying engagement metrics and retention 65 | - Research on proxy & browser fingerprinting 66 | - Demonstration of automation flows in social media apps 67 | 68 | --- 69 | 70 | ## Contact 71 | 72 |

73 | 74 | Join Discord 75 | 76 | 77 | Contact on Telegram 78 | 79 |

80 | 81 | --- 82 | 83 | ## Installation 84 | 85 | ### Pre-requisites 86 | - Python **3.9+** or Node.js **18+** 87 | - Playwright / Selenium 88 | - Docker (optional) 89 | 90 | ### Steps 91 | 92 | ```bash 93 | # Clone repo 94 | git clone https://github.com/yourusername/youtube-view-bot 95 | cd youtube-view-bot 96 | 97 | # Python Install 98 | pip install -r requirements.txt 99 | 100 | # OR Node Install 101 | npm install 102 | 103 | # Copy config 104 | cp .env.example .env 105 | 106 | # Run (Python) 107 | python main.py 108 | 109 | # Run (Node) 110 | node index.js 111 | 112 | # Run with Docker 113 | docker build -t youtube-view-bot . 114 | docker run --env-file .env youtube-view-bot 115 | --------------------------------------------------------------------------------