I started this project after my gf started chaturbating. In the mean time I was working on a project using a headless browser to scrape data, so I decided to find a way to generate real browser viewers using this.
DESCRIPTION
It's a simple chaturbate bot script in JavaScript running on nodeJS and a Linux machine, you should be familiar with Linux or coding in general.
WARNING
Using this script on your machine can make it unresponsive consuming all resources available, use it with caution.
You may get banned for using this to generate chaturbate views. USE IT AT YOUR OWN RISK.
This is no cheap way to generate traffic. Chrome is known for his high usage of memory.
NOTES:
- There is no proxy implementation, chaturbate viewers works without proxy (tested up to 150 viewers with 6GB usage of RAM).
- This is a proof of work using a real browser like Chrome navigating to the model page and keeping the browser open.
- This is a hobby and learning project and may or may not continue in the future.
- The script is tested on Linux, should work on Windows too by installing NodeJS and running the npm and node specific commands listed on install.
Pre Requirements Linux:
- CPU with virtualization enabled and at least 4GB of RAM or a VPS server with good specs
- Virtualization software like Oracle Virtual or a VPS server
- Linux iso
INSTALL
Tested on Ubuntu 18.04 server (should work on other distros)
1. install Linux in your virtual environment and fire up the terminal or connect with putty via SSH on the newly created machine.
2. update the OS with:
sudo apt-get update -y and
sudo apt-get upgrade -y
3. install NMP:
sudo apt-get install npm -y and test if installed:
nodejs -v
4. install Puppeteer module:
npm install puppeteer
USAGE
Copy the code from below and save it like
script.js then run the command:
nodejs script.js -m model -v 10
where m = model name
where v = number of viewers
Happy chaturbating!!!
ERRORS
If you get an error containing
libX11-xcb.so.1 run:
sudo apt install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
For questions you can find me on Skype: calculataur
Code:
"use strict";
const puppeteer = require('puppeteer');
const argv = require('minimist')(process.argv.slice(2));
process.on('SIGINT', function() {
console.log("\n\rCaught interrupt signal")
process.exit()
})
let sendViewers = async (model, viewers) => {
const totalv = viewers
console.log('Launching browser...')
const browser = await puppeteer.launch({headless: true ,args: ['--no-sandbox', '--no-zygote', '--single-process', '--disable-gpu', '--disable-dev-shm-usage', '--user-data-dir=/tmp', '--safebrowsing-disable-auto-update', '--disable-setuid-sandbox', '--disable-background-networking', '--disable-default-apps', '--disable-extensions', '--disable-sync', '--disable-translate', '--mute-audio', '--no-first-run', '--metrics-recording-only', '--ignore-certificate-errors', ' --ignore-ssl-errors', '--ignore-certificate-errors-spki-list', '--incognito']});
for(viewers; viewers >= 1; viewers--) {
try {
const page = await browser.newPage()
await page.setCookie(...COOKIE)
await page.setUserAgent(USER_AGENT)
await page.setViewport({ width: 800, height: 600 })
await page.waitFor(2000)
await page.goto(`https://www.chaturbate.com/${model}/`, { waitUntil: 'networkidle2' })
// await browser.close()
} catch (e) {
console.error(e);
} finally {
console.log(`Open page ${totalv-(viewers-1)} of ${totalv}.`)
}
}
console.log('Finished opening pages.')
console.log('Press CTRL+C to abort.')
}
;(async function main () {
try {
if (Object.keys(argv).length > 2) {
await sendViewers(argv['m'], argv['v'])
} else {
console.log('Usage: nodejs anonymous_users.js -m model -v 100')
}
} catch (err) {
console.error(err);
}
}) ()
const USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3239.108 Safari/537.36';
const COOKIE = [{
"domain": "chaturbate.com",
"expirationDate": '2020-10-11T01:09:05.000Z',
"hostOnly": false,
"httpOnly": false,
"name": "agreeterms",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "1"
}];