A multithreaded view bot for YouTube

Overview

ViewCount OS Closed issues Open issues SayThanks

Donate GitHub Clones

Yb  dP  dP"Yb  88   88 888888 88   88 88""Yb 888888
 YbdP  dP   Yb 88   88   88   88   88 88__dP 88__   
  8P   Yb   dP Y8   8P   88   Y8   8P 88""Yb 88""   
 dP     YbodP  `YbodP'   88   `YbodP' 88oodP 888888 

                     Yb    dP 88 888888 Yb        dP 888888 88""Yb 
                      Yb  dP  88 88__    Yb  db  dP  88__   88__dP 
                       YbdP   88 88""     YbdPYbdP   88""   88"Yb  
                        YP    88 888888    YP  YP    888888 88  Yb

YouTube Viewer

Simple program to increase YouTube views written in Python.

Discalimer: This has been developed for educational purposes only.

Cons: Try not to use this script every day. Run this once or twice a week with newer proxies. Guess this will reduce the view decrease issue.

Requirements

  • Python 3.x
  • High speed Internet Connection
  • Good proxy list
  • Google Chrome installed on your OS (not Chromium)

New feature

Now program can search youtube with keyword and find video with video title. To do this you need to know what keyword can find your video on youtube search engine. Also you need to provide exact video title. Put keyword and title like this format keyword : video title in search.txt

Windows

  • Installation

    Open command prompt and type

    $ git clone https://github.com/MShawon/YouTube-Viewer.git
    
    $ cd YouTube-Viewer
    
    $ pip install -r requirements.txt
  • Important

    • Check your Google Chrome version and download same version chromedriver.exe from https://chromedriver.chromium.org/downloads here and place it in the chromedriver_win32 folder.

    • If you've got a large proxy collection, you should run this command to filter Good proxies. Then use GoodProxy.txt for proxy in youtube_viewer.py

      $ python proxy_check.py
      
    • After closing program, if chromedrivers are still running. You may want to double click killdrive.bat to close all chrome instances.

  • Test

    This will clear your confusion as main program will run in the background.

    $ python test.py
    
  • Usage

    • Put youtube video links in the urls.txt. For multiple videos place urls in multple lines. (To find video link in YouTube click share and copy)
    • Open command prompt in YouTube-Viewer folder and run
      $ python youtube_viewer.py
      
    • Enter amount of views you want.
    • Provide number of threads.
    • Input proxy list or let program to handle proxies automatically.

    alt text

Linux

  • Installation

    Open your favourite terminal and run

    $ git clone https://github.com/MShawon/YouTube-Viewer.git
    
    $ cd YouTube-Viewer
    
    $ pip3 install -r requirements.txt
  • Important

    • Check your Google Chrome version and download same version chromedriver from https://chromedriver.chromium.org/downloads here and place it in the chromedriver_linux64 folder.

    • If you've got a large proxy collection, you should run this command to filter Good proxies. Then use GoodProxy.txt for proxy in youtube_viewer.py

      $ python3 proxy_check.py
      
    • After closing program, if chromedrivers are still running. Open your terminal and run

      ps aux | awk '/chrome/ { print $2 } ' | xargs kill -9
      
  • Test

    This will clear your confusion as main program will run in the background.

    $ python3 test.py
    
  • Usage

    • Put youtube video links in the urls.txt. For multiple videos place urls in multple lines. (To find video link in YouTube click share and copy)
    • Open command prompt in YouTube-Viewer folder and run
      $ python3 youtube_viewer.py
      
    • Enter amount of views you want.
    • Provide number of threads.
    • Input proxy list or let program to handle proxies automatically.

    alt text

Comments
  • I think youtube detect the bot

    I think youtube detect the bot

    Hi I start using the bot five days ago first day I get 195 hours third day I get 770 hours forth I get 90 hours last day I get 509 hours but all these hours losted today what's wrong

    opened by egbrave 71
  • Recaptcha solver

    Recaptcha solver

    Is there an existing issue for this?

    • [ ] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [X] feature request
    • [ ] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    bro this code does not go forward in recaptcha so here is the idea of a recapthca solver try it out bro

    r = sr.Recognizer()
    try:
                delay()
                frames = driver.find_elements_by_tag_name("iframe")
                recaptcha_control_frame = None
                recaptcha_challenge_frame = None
                for index, frame in enumerate(frames):
                    if re.search('reCAPTCHA', frame.get_attribute("title")):
                        recaptcha_control_frame = frame
    
                    if re.search('recaptcha challenge', frame.get_attribute("title")):
                        recaptcha_challenge_frame = frame
                if not (recaptcha_control_frame and recaptcha_challenge_frame):
                    print("[ERR] Unable to find recaptcha. Abort solver.")
    
                delay()
                frames = driver.find_elements_by_tag_name("iframe")
                driver.switch_to.frame(recaptcha_control_frame)
                driver.find_element_by_class_name(
                    "recaptcha-checkbox-border").click()
    
                delay()
                driver.switch_to.default_content()
                frames = driver.find_elements_by_tag_name("iframe")
                driver.switch_to.frame(recaptcha_challenge_frame)
    
                time.sleep(10)
                driver.find_element_by_id("recaptcha-audio-button").click()
    
                try:
                    driver.switch_to.default_content()
                    frames = driver.find_elements_by_tag_name("iframe")
                    driver.switch_to.frame(recaptcha_challenge_frame)
    
                    delay()
                    src = driver.find_element_by_id(
                        "audio-source").get_attribute("src")
    
                    path_to_mp3 = os.path.normpath(
                        os.path.join(os.getcwd(), "sample.mp3"))
                    path_to_wav = os.path.normpath(
                        os.path.join(os.getcwd(), "sample.wav"))
    
                    urllib.request.urlretrieve(src, path_to_mp3)
                except:
                    driver.quit()
                    # os.system("check.exe")
    
                try:
                    sound = pydub.AudioSegment.from_mp3(path_to_mp3)
                    sound.export(path_to_wav, format="wav")
                    sample_audio = sr.AudioFile(path_to_wav)
                except Exception:
                    driver.close()
                    driver.quit()
    
                delay()
                r = sr.Recognizer()
                with sample_audio as source:
                    audio = r.record(source)
                key = r.recognize_google(audio)
    
                delay()
                driver.find_element_by_id("audio-response").send_keys(key.lower())
                driver.find_element_by_id("audio-response").send_keys(Keys.ENTER)
            except:
                driver.quit()
    

    Environment

    - OS : windows 
    - Python : 3.9
    - Script version : 1.6.7
    

    config.json

    {
        "http_api": {
            "enabled": true,
            "host": "0.0.0.0",
            "port": 5000
        },
        "database": true,
        "views": 100,
        "minimum": 85.0,
        "maximum": 95.0,
        "proxy": {
            "category": "f",
            "proxy_type": false,
            "filename": false,
            "authentication": false,
            "proxy_api": false,
            "refresh": 0.0
        },
        "background": false,
        "bandwidth": true,
        "playback_speed": 1,
        "max_threads": 5,
        "min_threads": 2
    }
    
    opened by furjac 32
  • Proxy issue on ubuntu 20.04 headless

    Proxy issue on ubuntu 20.04 headless

    hI,

    I have issues on proxies using Ubuntu 20.04 headless server setup. It reports all proxies dead, while I have changed proxies few times already.

    Awaiting your response,

    thisisawesome1994

    I openend a issue with webshare We Will see what they say

    opened by thisisawesome1994 31
  • All proxies are bad also viewer doesnt work

    All proxies are bad also viewer doesnt work

    This program was working 1-2 days ago but today because i get new proxy and i want to test them and run some video but unfortunately the script is not working i checked instantly if you have updated but only clones.json is updates so is not something with code

    https://i.imgur.com/ZORBYJM.png

    opened by KkK1337 31
  • add play speed choice in the main programs / config

    add play speed choice in the main programs / config

    it's just an example just like the one I found on line 641-661, you know better than me in the code part. is this implementable ?

    I'm tryting to replicate the code on main .py, use the lowest speed provided 0.25.

    def play_speed(driver):
        try:
            driver.find_element_by_css_selector(
                "button.ytp-button.ytp-settings-button"").click()
            driver.find_element_by_xpath(
                "//div[contains(text(),'Playback speed')]").click()
            speed = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
                (By.XPATH, f"//span[contains(string(),'0.25')]")))
            driver.execute_script(
                "arguments[0].scrollIntoViewIfNeeded();",speed)
            speed.click()
            
        except:
            pass
    

    if this feature can be added, please add it to the next release. thanks and love your works! :100:

    opened by ignisc4t 28
  • watched in a random time between  %85 and %95 issue.

    watched in a random time between %85 and %95 issue.

    First of all, I am grateful to you for creating this kind of program. I ran into a problem. Within the codes, it is written that the video will be watched in a random time between %85 and %95 of the time. but when I try it for a 5 minute video it always shuts down before it even reaches 2 minutes. same thing happens for every video. What is the reason? I hope we can solve this problem. thank you.

    opened by kuziru 24
  • Failure messages when start the script

    Failure messages when start the script

    Hey, As I saw you already updated the files to improve the watch times.

    When I start the script I get the following 4 messages:

    └─$ python3 youtube_viewer.py
    :228: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject :228: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject :228: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject :228: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject

    Yb dP dP"Yb 88 88 888888 88 88 88""Yb 888888
    YbdP dP Yb 88 88 88 88 88 88__dP 88__
    8P Yb dP Y8 8P 88 Y8 8P 88""Yb 88""
    dP YbodP YbodP' 88YbodP' 88oodP 888888

                        Yb    dP 88 888888 Yb        dP 888888 88""Yb      
                         Yb  dP  88 88__    Yb  db  dP  88__   88__dP      
                          YbdP   88 88""     YbdPYbdP   88""   88"Yb       
                           YP    88 888888    YP  YP    888888 88  Yb      
    

    What exactly is the problem? It seems the script runs...

    Thanks and best regards

    opened by chefo66 23
  • Can't close the prompt while It's Working

    Can't close the prompt while It's Working

    When i close the prompt while it work on links, the program wont start anymore, i have some strange errors ^^ By the way, your program is really good ^^ I just have this one problem, the only thing that worked to solve that is a fresh install

    opened by IWantToLearn1 22
  • BAD Proxy always!

    BAD Proxy always!

    I don't know why but no matter what proxy i use even built in proxy loader it always says BAD Proxy, Not a single proxy is working. Why? I tried in 2 PC but both have same result. Running Python 3.9.2

    opened by Kanibo250 22
  • list index out of range

    list index out of range

    I'm trying to run on my window, I got the issue "list index out of range". Could you let me know how to resolve it?

    image

    I have a proxy question: I want to buy proxy on here. Do you think it's ok for youtube? Or do you have any suggestions? https://stormproxies.com/residential_proxy.html image Many thank for the good script.

    opened by luatndl 21
  • view drop after a week.

    view drop after a week.

    After a few week, view and watch hours drop. Mine drop about 500 watch hours and about 2k view drop. I'm using paid proxy from webshare, ip:username:pass. thread is 5, multiple video and multiple link. Url is using link that i share on Facebook and twitter, copy share link and shorten it using bit.ly and direct youtube url. example : https://bit.ly/2WdSOaC https://bit.ly/3ocgTKO https://www.youtube.com/watch?v=royhu4E0FLQ

    Proxy that I used is : https://bit.ly/3AOMkhD search.txt urls.txt

    I have suggestion. Is it possible to spoof or change mac address of chrome extension for every chrome extension used just like the proxy used are. What I'm trying to saying here is that for every chrome extension that is used, can it using the difference device id or mac address, example, 5 thread is used, and for each of that thread using the difference mac address. Because i believe youtube detect device id too besides the ip of every devices.

    opened by seadota2 18
  • New implementation of change_playback_speed

    New implementation of change_playback_speed

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [X] feature request
    • [ ] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    The movie_player element has a method called setPlaybackRate. I think it's better to use that method than sending '<' and '>' keypresses to change the playback speed.

    def change_playback_speed(driver, playback_speed):
        driver.execute_script(
            f"document.getElementById('movie_player').setPlaybackRate('{playback_speed}')")
    

    Hope it helps.

    Environment

    - OS : All
    

    config.json

    Not needed
    
    opened by charlyzard 1
  • How to disable search?

    How to disable search?

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [X] feature request
    • [X] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    Hi everyone, I'm using the windows binary and I do not need the search function. I want the program to just view the urls I provide. Is there a way to do so?

    Thanks,

    Environment

    - OS : Windows
    - Python : 3.7
    - Script version : 1.7.6
    

    config.json

    {
        "http_api": {
            "enabled": true,
            "host": "0.0.0.0",
            "port": 5000
        },
        "database": true,
        "views": 10,
        "minimum": 85.0,
        "maximum": 95.0,
        "proxy": {
            "category": "f",
            "proxy_type": false,
            "filename": "GoodProxy.txt",
            "authentication": false,
            "proxy_api": false,
            "refresh": 0.0
        },
        "background": false,
        "bandwidth": true,
        "playback_speed": 3,
        "max_threads": 5,
        "min_threads": 2
    }
    
    opened by elaounim 1
  • can this bot deliver 2k viewers for live stream??

    can this bot deliver 2k viewers for live stream??

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [ ] feature request
    • [ ] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    hey guys I hope someone help me by answering if this bot can deliver about 2k viewers with HQ proxies + high config RDP or VPS ??

    Environment

    - OS : 
    - Python : 
    - Script version :
    

    config.json

    sds
    
    opened by shelbey22 7
  • Feature request Proxyless (USING VPN EXTENSION)

    Feature request Proxyless (USING VPN EXTENSION)

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [X] feature request
    • [ ] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    Please create new update with no proxy option.

    Thank you

    Environment

    - OS : Windows
    - Python : 3.9
    - Script version : 1.7.6
    

    config.json

    No
    
    opened by allskandal 1
  • How to use in google colab

    How to use in google colab

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    I'm submitting a ...

    • [ ] bug report
    • [X] feature request
    • [X] support request --> Contact me over mail for support https://github.com/MShawon

    Description

    How to use it in google colab?

    Environment

    - OS : Ubuntu 20
    - Python : 3.9
    - Script version : 1.7.6
    

    config.json

    no need
    
    opened by suryacandra 6
Releases(1.7.6)
Owner
Monirul Shawon
Monirul Shawon
Synchronize Two Cameras in Real Time using Multiprocessing

Synchronize Two Cameras in Real Time using Multiprocessing In progress ... 📁 Project Structure 📚 Install Libraries for this Project (requirements.tx

Eduardo Carvalho Nunes 2 Oct 31, 2021
Komposition - The video editor built for screencasters

Komposition The video editor built for screencasters Tutorial Video | Introduction | Installation Documentation See the documentation and user guide.

Oskar Wickström 428 Jan 08, 2023
A simple Python Youtube Wachtime for YTbebot

Simple bot that was development in python 3.7, that automatically watch youtube videos. It can be used to give more views in your channel helping in the spread and increase the followers because your

Rian eka wiratma 1 Dec 05, 2021
DICexport is a GUI (PyQt5) to export digital image correlation videos

DIC Video Exporter DICexport is a GUI (PyQt5) to export digital image correlation videos. It offers the flexibility to choose a selected range of a vi

Chaoyi Zhu 0 Jun 23, 2022
A wrapper around ffmpeg to make it work in a concurrent and memory-buffered fashion.

Media Fixer Have you ever had a film or TV show that your TV wasn't able to play its audio? Well this program is for you. Media Fixer is a program whi

Halit Şimşek 3 May 04, 2022
A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video

Video-subtitle-merger A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video Features Force Sub Button Added Soon Support Media Type Such

6 Dec 31, 2021
A tool to fuck a video/audio quality using FFmpeg

Media quality fucker A tool to fuck a video/audio quality using FFmpeg How to use Download the source Download Python Extract FFmpeg Put what you want

Maizena 8 Jan 25, 2022
This is an example of building a video Question-Answer system using Jina.

example-video-search This is an example of building a video Question-Answer system using Jina. The index data is subtitle files of YouTube videos. Aft

Jina AI 9 Oct 18, 2022
pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

Gregory Beauregard 3 Mar 04, 2022
Become a virtual character with just your webcam!

Become a virtual character with just your webcam!

Rich 300 Jan 03, 2023
Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ ᴍᴜꜱɪᴄꜱ ɪɴ ᴠᴄ ᴄʜᴀᴛꜱ... 🅡🅔🅟🅞 🅢🅣🅐🅣🅢 ʀᴇQᴜɪʀᴇᴍᴇɴᴛꜱ 📝 FFmpeg NodeJ

16 Nov 30, 2022
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

1 Mar 08, 2022
A Python media index

pyvideo https://pyvideo.org is simply an index of Python-related media records. The raw data being used here comes out of the pyvideo/data repo. Befor

pyvideo 235 Dec 24, 2022
Use ZWO astronomy camera as an IP camera.

ZWO Astronomy Camera as IP Camera Astronomy cameras are known for their high sensitivity and flexibility on whether to have IR pass through and bayer

Yan Wang 9 Oct 15, 2022
All the code in these repos was created and explained by HashLips on the main YouTube channel.

Welcome to HashLips 👄 All the code in these repos was created and explained by HashLips on the main YouTube channel. To find out more please visit: ?

HashLips 6.7k Jan 06, 2023
This program is to make a video based on Deep Dream

This program is to make a video based on Deep Dream. The program is modified from DeepDreamAnim and DeepDreamVideo with additional functions for bleding two frames based on the optical flows. It also

Aertist 23 Jan 22, 2022
Youtube as covert-channel - Control systems remotely and execute commands by uploading videos to Youtube

covert-tube A program to control systems remotely by uploading videos to Youtube using Python to create the videos and the listener, emulating some ma

Ricardo Ruiz 101 Nov 01, 2022
Stream deck using Arduino and Python

Stream deck using Arduino and Python This is a little project I started due to the fact that I wanted to stream and didn't want to spend lots on a sim

Tal Cherniavsky 2 Feb 11, 2022
Real-time video and audio streams over the network, with Streamlit.

streamlit-webrtc Example You can try out the sample app using the following commands.

Yuichiro Tachibana (Tsuchiya) 648 Jan 01, 2023
Video processing routines for SciPy

scikit-video Video Processing SciKit BETA Video processing algorithms, including I/O, quality metrics, temporal filtering, motion/object detection, mo

Alex Izvorski 119 Dec 27, 2022