В октябре 2024 в среднем одновременно транслируются 90 155 каналов. По данным Twitch Tracker
Нагрузка на систему при запуске 30 профилей Octo Browser
Попадание в топ-4 трансляций по игре Terraria
Пул сообщений для чата
Octo Browser с настроенными прокси
<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>
Содержание файла accounts.txt