According to Twitch Tracker, 90155 channels on average are streamed simultaneously in October 2024.
System resource consumption when running 30 Octo Browser profiles.
Reaching Terraria Top 4.
Octo Browser with the proxies configured.
<script>
const axios = require('axios'); //import Axios library for requests
const fs = require('fs'); //import fs library for file reading/writing
const path = require('path'); //import path for building correct paths to txt files
let accounts = []; //variable for accounts data
const accountsPath = path.join(__dirname, 'accounts.txt'); //path to file with accounts data(accounts.txt)
const profilesPath = path.join(__dirname, 'profiles.txt') //path to file where profiles data will be written (profiles.txt)
fs.readFile(accountsPath, async function (err, data) { //reading accounts.txt
accounts = data.toString().split("\r\n"); //cutting data by start of string and end of string
for (i in accounts) { //start of cycle, cycle will run for as long as we have strings with accounts
let proxyData = {}; //variable for proxy data
const [login, password, protocol, ip, port, proxyLogin, proxyPassword] = accounts[i].split(";"); // slicing string by ; symbol ;
const splittedAccount = accounts[i].split(";"); // varibale for checking length of string (5 values, 7 values)
let numberOfString = parseInt(i) + 1;
const OCTO_REMOTE_API = axios.create({ // creating instance of axios for requests to external Octo API
baseURL: 'https://app.octobrowser.net/api/v2/automation/',
timeout: 2000,
headers: {
'X-Octo-Api-Token': 'Token' //paste your API Token here
}
});
if (splittedAccount.length === 7) { //if string contains login and password for proxy
proxyData = {
type: protocol,
port: port,
host: ip,
login: proxyLogin,
password: proxyPassword,
}
} else if (splittedAccount.length === 5) { //if string doesn't contain login and password for proxy
proxyData = {
type: protocol,
port: port,
host: ip,
}
} else {
console.error("???? Check your accounts.txt file. The string number " + numberOfString + " doesn't contain 5 or 7 elements. It should contain 5 or 7 elements. ");
}
async function createProfile() { //async function for creating profiles
return OCTO_REMOTE_API.post(`/profiles`, {
title: login + " Twitch " + i, // necessesary field, title of profile
description: login + ' ' + password + ' Twitch', // description of profile
tags: ["twitch", "in work"], // adding tags, they should be created before this action
proxy: proxyData, // proxy data, with or without login and password
fingerprint: {
os: "win", // necessesary field, Windows profile
},
}).then((response) => response.data).catch((error) => {
const errorData = error.response.data || error.message
console.error(errorData)
})
}
const response = await createProfile(); //waiting for the create profiles function to complete
let uuid = response.data.uuid; //setting profile uuid
console.log(login + " DONE!✅"); //message to console with login + DONE!
//Below we should set UUID + LOGIN + PASSWORD into profiles.txt, which we will use later for launching profiles
fs.appendFile(profilesPath, (uuid + ";" + login + ";" + password) + "\r\n", async function (error) {
if (error) throw error;
});
}
});
</script>
Contents of the file "accounts.txt".