Giter Site home page Giter Site logo

jlplenio / crude-twitch-viewer-bot Goto Github PK

View Code? Open in Web Editor NEW
302.0 30.0 88.0 22.51 MB

Send live viewers to Twitch, youtube and kick with this viewer bot software. The tool offers a user-friendly graphical interface. This program requires HTTP proxies.

License: GNU Affero General Public License v3.0

Python 100.00%
twitch twitch-bot bot view-bot twitch-tools socks5 user-agent viewer botting playwright

crude-twitch-viewer-bot's Introduction

Crude Twitch Viewer Bot (CTVBot)

format & lint

Disclaimer: For educational purpose only. Any discussion of illegal use will be deleted immediately!
Full disclaimer below.

Getting Started

  1. Download the one-file executable for Windows, Linux and MacOS from the latest CTVBot release.
  2. Provide your own proxies or get 10 free for testing here. See our Proxies Guide for setup.

Read the comprehensive wiki for a detailed tutorial, usage tips and troubleshooting steps.
Ask questions in the discussions or report issues.

Get exlusive Feature Previews as a ๐Ÿ’Ž Supporter & Feature Tester.

Mandatory Requirements

Platform Support Overview

Platform Twitch Youtube Chzzk Kick
General Functionality โœ”๏ธ โœ”๏ธ โœ”๏ธ โณ๐Ÿ’Ž
Lowest Quality Select โœ”๏ธ โœ”๏ธ โœ”๏ธ โณ๐Ÿ’Ž
Status Boxes Updates โœ”๏ธ โœ”๏ธ โœ”๏ธ โณ๐Ÿ’Ž
Login/Authentication โณ๐Ÿ’Ž โŒ โŒ โŒ
Automatic Follow โณ๐Ÿ’Ž โŒ โŒ โŒ
Automatic Chat โณ๐Ÿ’Ž โŒ โŒ โŒ
Low CPU Usage Mode โณ๐Ÿ’Ž โŒ โŒ โŒ

โœ”๏ธ Supported, โš ๏ธ Problems, โŒ Unsupported, โณ In Development, ๐Ÿ’Ž Preview Available

In Action

Controls and Color codes of the square boxes

โฌ› - Instance is spawned. ๐ŸŸจ - Instance is buffering. ๐ŸŸฉ - Instance is actively watching.

๐Ÿ–ฑ๏ธ Left click: Refresh page. ๐Ÿ–ฑ๏ธ Right click: Destroy instance. ๐Ÿ–ฑ๏ธ Left click + CTRL: Take screenshot.

Misc

  • CPU load and bandwidth can get heavy. Channels with 160p work best.
  • Tested on Windows 10 with headless ~100, headful ~30. Linux and macOS is experimental.

The Crude Twitch Viewer Bot (CTVBot) is a small GUI tool that spawns muted Google Chrome instances via Playwright, each with a different user-agent and HTTP proxy connection. Each instance navigates to the streaming channel and selects the lowest possible resolution.

Read the comprehensive wiki for a detailed tutorial, usage tips and troubleshooting steps.

Support my creativity and sponsor me a coffee โ˜•

Full disclaimer

This project was established to contribute to open-source collaboration and showcase the educational value of reverse engineering. Although its primary purpose is for learning and understanding, users must be aware that altering viewer metrics on platforms such as Twitch violates their Terms of Service and could lead to legal repercussions. We urge users to engage with this tool responsibly. Misuse is solely at your discretion and risk. Discussions promoting illegal activities will be promptly removed.

crude-twitch-viewer-bot's People

Contributors

anonbit avatar jlplenio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crude-twitch-viewer-bot's Issues

Vps?

Anyway to use this on a hosting site to prevent bandwidth failure? For example Digital Ocean?

Having this issue...

Exception ignored in: <function BrowserSpawn.del at 0x000001F77CEFA160>
Traceback (most recent call last):
Exception ignored in: <function BrowserSpawn.del at 0x000001F77CEFA160>
Traceback (most recent call last):
Exception ignored in: <function BrowserSpawn.del at 0x000001F77CEFA160>
File "spawner.py", line 129, in del
Traceback (most recent call last):
File "spawner.py", line 129, in del
AttributeError: 'BrowserSpawn' object has no attribute 'driver'
File "spawner.py", line 129, in del
AttributeError: 'BrowserSpawn' object has no attribute 'driver'
AttributeError: 'BrowserSpawn' object has no attribute 'driver'

Instance wont start

2022-11-13 20:42:12,223;INFO;MainThread;manager;__init__; Manager start
2022-11-13 20:42:22,462;INFO;Thread-2;manager;spawn_instance_thread; <Thread(Thread-2, started 21704)> starting instance no 1
2022-11-13 20:42:22,462;INFO;Thread-2;instance;spawn_page; STARTING:<Thread(Thread-2, started 21704)> instance 1, proxy http://185.199.229.156:7492
2022-11-13 20:42:24,940;ERROR;Thread-2;instance;start; net::ERR_TUNNEL_CONNECTION_FAILED at https://www.twitch.tv/login
=========================== logs ===========================
navigating to "https://www.twitch.tv/login", waiting until "load"
============================================================
Traceback (most recent call last):
  File "instance.py", line 80, in start
  File "instance.py", line 154, in spawn_page
  File "playwright\sync_api\_generated.py", line 8114, in goto
  File "playwright\_impl\_sync_base.py", line 104, in _sync
  File "playwright\_impl\_page.py", line 495, in goto
  File "playwright\_impl\_frame.py", line 146, in goto
  File "playwright\_impl\_connection.py", line 43, in send
  File "playwright\_impl\_connection.py", line 396, in wrap_api_call
  File "playwright\_impl\_connection.py", line 78, in inner_send
playwright._impl._api_types.Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.twitch.tv/login
=========================== logs ===========================
navigating to "https://www.twitch.tv/login", waiting until "load"
============================================================

My Instance keeps dying

I'm getting this error

when I run the source code gui_main.py i get this:
Traceback (most recent call last):
File "C:\Users\Zeus\Desktop\crude-twitch-viewer-bot-master\main_gui.py", line 1, in
from gui import GUI
File "C:\Users\Zeus\Desktop\crude-twitch-viewer-bot-master\gui.py", line 10, in
from spawner import BrowserManager
File "C:\Users\Zeus\Desktop\crude-twitch-viewer-bot-master\spawner.py", line 8, in
from playwright.sync_api import sync_playwright
File "C:\Python310\lib\site-packages\playwright\sync_api_init_.py", line 25, in
import playwright.sync_api._generated
File "C:\Python310\lib\site-packages\playwright\sync_api_generated.py", line 25, in
from playwright._impl._accessibility import Accessibility as AccessibilityImpl
File "C:\Python310\lib\site-packages\playwright_impl_accessibility.py", line 17, in
from playwright._impl.connection import Channel
File "C:\Python310\lib\site-packages\playwright_impl_connection.py", line 22, in
from pyee import AsyncIOEventEmitter, EventEmitter
File "C:\Python310\lib\site-packages\pyee_init
.py", line 71, in
from pyee.trio import TrioEventEmitter # noqa
File "C:\Python310\lib\site-packages\pyee_trio.py", line 4, in
import trio
File "C:\Python310\lib\site-packages\trio_init
.py", line 18, in
from .core import (
File "C:\Python310\lib\site-packages\trio_core_init
.py", line 29, in
from .run import (
File "C:\Python310\lib\site-packages\trio_core_run.py", line 22, in
from outcome import Error, Outcome, Value, capture
File "C:\Python310\lib\site-packages\outcome_init
.py", line 3, in
from ._impl import Error, Outcome, Value, acapture, capture
File "C:\Python310\lib\site-packages\outcome_impl.py", line 39, in
class Outcome(abc.ABC):
File "C:\Python310\lib\site-packages\outcome_impl.py", line 54, in Outcome
_unwrapped = attr.ib(default=False, eq=False, init=False)
TypeError: attrib() got an unexpected keyword argument 'eq'

Process finished with exit code 1

can u help please

Let us sponsor you. Take our money.

Hi there. A great little project, love it. Especially the simplicity (yet greatness) of it. Please let us sponsor you via Github, or leave some ways to donate. Thank you.

proxy

i can add proxy list with out username and passpord only ip and port?

Is this working with IPv6 ?

if not would be very nice. i want to buy alot of ipv6. can you tell me if it supports them ? and if not. can you implement it ?

CTVBot does not select the lowest possible resolution.

so i saw you using 32 gb ram and a 12 core cpu i think with 120 pages open ?
well i tried with 8 core and yet i get only 30 pages open ! does that mean the 166p wont work?
can u double verified the resolution checker ?

about feature

hello, thanks for answearing about tokens login, yes you said that will add acc/pw instead, but think again about tokens :P

well, here i would to ask you to add referer's integration
that we can add in txt's like this

Instances always dieing

I use the GUI Version of this programm. But they always die with the following error:

Traceback (most recent call last):
  File "spawner.py", line 66, in start
  File "spawner.py", line 130, in spawn_page
  File "playwright\sync_api\_generated.py", line 7285, in goto
  File "playwright\_impl\_sync_base.py", line 89, in _sync
  File "playwright\_impl\_page.py", line 496, in goto
  File "playwright\_impl\_frame.py", line 136, in goto
  File "playwright\_impl\_connection.py", line 43, in send
  File "playwright\_impl\_connection.py", line 369, in wrap_api_call
  File "playwright\_impl\_connection.py", line 78, in inner_send
playwright._impl._api_types.Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.twitch.tv/login

The proxies themself are working:
image

Because they dont have auth I followed Issue this to add them: #27

Hope you can help me.

macOS executable

Use GitHub Actions to build a macOS executable and publish it as a release.

Proxy without username and password

This code is only functional with proxies that require a username and password. Some proxies work without credentials, therefore it would be nice if a better way of getting the credentials would be implemented. I'm thinking of opening a pull request for this, but I first need to read some documentation about proxies.

views

Hello!
i was testing with 10 instances, but not counting no one view, what can be happen?

main.py has an error, which renders it useless

you pass target_url as the first argument to the BrowserManager, while it's supposed to be SPAWNER_THREAD_COUNT. Because of this, all arguments are shifted by 1, so the script doesn't work.
Fix is place target_url as the last argument.

having problems getting this to run

having problems getting this to run have proxys but wont run as a exe am i doing something wrong
but i am also new to this github if anyone can help would mean alot thank you

Proxy List User/Pass

Where did you get access to Twitch user/pass to fill the proxy list? Am I missing something here? The instances keep dying otherwise. And if Headless is False, it brings me to a login page.

Improved CI

Add

  • flake8 test
  • black formatter with flags line length 119 and --skip-string-normalization

Ideal Specs? - Can close if wrong place to ask

Having issues with an 3.2Ghz processor / 32 GB Ram. At around 20 instances my CPU is topped out (ram has plenty more room). Is this normal or do I need a significant upgrade to my processor for more? Has anyone tried using computing power through something like AWS? Is this feasible or more cost efficient? Thanks!

Login via txt list

This project works great, is there a way to also automate logins from a list in a txt file?

proxy is available but

navigating to "https://www.twitch.tv/login", waiting until "load"

Traceback (most recent call last):
File "spawner.py", line 66, in start
File "spawner.py", line 130, in spawn_page
File "playwright\sync_api_generated.py", line 7285, in goto
File "playwright_impl_sync_base.py", line 89, in _sync
File "playwright_impl_page.py", line 496, in goto
File "playwright_impl_frame.py", line 136, in goto
File "playwright_impl_connection.py", line 43, in send
File "playwright_impl_connection.py", line 369, in wrap_api_call
File "playwright_impl_connection.py", line 78, in inner_send
playwright._impl._api_types.Error: net::ERR_CONNECTION_ABORTED at https://www.twitch.tv/login
=========================== logs ===========================
navigating to "https://www.twitch.tv/login", waiting until "load"

Use anonymous HTTP-Proxys

When i try to use anon proxys i won't work.
I leave the PW blank?

IP:PORT:anonymous:

Often this proxy are only announced with IP and Port.
Are they even usable with the bot?
What should we type in?

Instance instant dead

Hello, I have just downloaded the software. I also installed proxies.
However when I launch an instance it dies directly.
I also have a problem that it does not open a chrome page for me like on the gif in the information.
I was wondering where this could be coming from, I think you can answer my question.
Here is a screen of the software to show you that I have the proxies that are detected etc.

kjgvchgcjyc

About proxy

I had 1.000 free proxies(live) and 25 private. Can i use free proxies?

Way to bot viewers without consuming large amounts of internet bandwidth.

I just wanted to let you know that there is a way to bot viewers without consuming internet bandwidth.
If you cause error #3000: error while decoding video, the browser instance still counts as a viewer while not receiving any stream and consuming minimal amounts of bandwidth.
Also wanted to let you know that the ability to add your own botting accounts would be extremely useful.
Thanks

Raid Support

Hello,
I believe the the bots don't "accept/transfer" the raided channel ?
Is there anything that can be done for this ?

PS: Or maybe the one I tested has over 18 audience, and the bot does not 'click' to accept !?

Linux executable

Hello,
Great work on the project!

I see this in done in phyton. Can we run it from a linux machine ?

Error

untitled
can u helpe with this error?

Instances turns back to yellow after a period of time

Hello,

First of all thanks for your software, it's really simple and really good to use !

I've followed every instructions and, in addition with the 10 free proxies given when you create an account on WebShare, I've bought 50 Private Proxies in the country I live (and countries around)

I started a stream and decided to "spam" a bit the "Create 3 Instances" to see a bit and I realised that everything is working fine with viewer bot turning "Green" on your software, but after a certain amount of time, these instances turns back to Yellow.
Creating other instances is possible but as someone mention it in another thread here, after a time, even if instances are killed, there is still a bit memory usage.

I'm using a pretty recent but very normal laptop, and sometimes, the ram if I create let's say 50~ instances is almost 95% usage. Would that explain that ? And if yes, what would be the optimal Ram % of usage not to exceed ? And if it's not the Ram usage, what is it ? Is it normal for instances to turn back to yellow after a certain time ?

Thanks again for your work and your time

  • Sarah

proxies

hello!
how did i know if the instances are using the same proxy
or know what proxy the instance are using
and know how many proxies is being used?

live viewers 1

I noticed that Live Viewer was not added
live viewers 1
It's always 1
Can't seem to increase Live numbers?

ERR_TUNNEL_CONNECTION_FAILED

Desktop (please complete the following information):

  • CTVB version: 0.3.1
  • Windows version: 10

Describe the bug
I'm using the 10 proxies from webshare.
All looks good but when I open any istance I got an error (see log details).

logs

Traceback (most recent call last):
File "instance.py", line 87, in start
File "instance.py", line 161, in spawn_page
File "playwright\sync_api_generated.py", line 8114, in goto
File "playwright_impl_sync_base.py", line 104, in _sync
File "playwright_impl_page.py", line 495, in goto
File "playwright_impl_frame.py", line 146, in goto
File "playwright_impl_connection.py", line 43, in send
File "playwright_impl_connection.py", line 396, in wrap_api_call
File "playwright_impl_connection.py", line 78, in inner_send
playwright._impl._api_types.Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://www.twitch.tv/login
=========================== logs ===========================
navigating to "https://www.twitch.tv/login", waiting until "load"

Possible Memory Leak

I believe i have noticed a memory leak. After a little while the RAM increases by quite a bit. Even after destroying all instances the exe still uses 3 sometimes 4 gbs of RAM on its on with no chrome or node instances running. The longer duration the program is run for the more memory it seems to use, instances will begin to die, etc...

I am on a system with 32gb of RAM and that seems to be the bottle neck, My CPU doesnt peak above 50% Proxies are from the recommended supplier, and i have a gigabit fiber internet connection. i can run almost 40 headless instances before i start having issues.

Are there any recommendations to decrease the RAM usage and increase instances?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.