This repository was archived by the owner on Dec 12, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 326
liveviewers #20
Open
Pyenb
wants to merge
26
commits into
KevinLage:master
Choose a base branch
from
Pyenb:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
liveviewers #20
Changes from 2 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
0b44f01
liveviewers
Pyenb 30e80bf
fixed a bug
KevinLage 7c2d43e
Update YouTube Livestream Botter.py
KevinLage 94f819f
removed liveview
Pyenb a37736b
Finally fixed everything
KevinLage 471e872
Adding ur own api proxy
rafalohaki 6a8b037
Merge pull request #37 from rafalohaki/patch-2
KevinLage da1a920
Update README.md
blakedrumm dd65a39
Merge pull request #68 from v-bldrum/patch-1
KevinLage a22d929
Added instructions for .py
TheAwesome98-Real affc783
Merge pull request #84 from TheAwesome98-Real/patch-3
KevinLage 7fe07e3
Fixes spelling error
TheAwesome98-Real 82b20f2
Merge pull request #85 from TheAwesome98-Real/patch-4
KevinLage b8ef4c3
loading from proxys.txt
02e93bb
fml
KevinLage 53548d1
Update README.MD
KevinLage 9557230
Update YouTube Livestream Botter.py
LeftBased 77dda23
Merge pull request #121 from LeftBased/master
KevinLage 28067f2
small Improvements
KevinLage 8960c05
fix UserAgent selection
Airkek 1a2a1ef
Merge pull request #126 from Airkek/master
KevinLage 054bd67
fixed parsing proxies for https://raw.githubusercontent.com/TheSpeedX…
KevinLage 7ac7911
idk
Pyenb ecb0c8e
updates?
Pyenb 27cfc3b
updates!
Pyenb 58c8cdb
Updatesssssss
Pyenb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,12 +5,15 @@ | |
| import time | ||
| from queue import Queue | ||
| import platform | ||
| import re | ||
|
|
||
| import requests | ||
| from colorama import Fore, init | ||
| from flask import Flask, request | ||
|
|
||
|
|
||
| intro = """ | ||
| ███████╗████████╗██████╗ ███████╗ █████╗ ███╗ ███╗ ██████╗ ██████╗ ████████╗████████╗███████╗██████╗ | ||
| ███████╗████████╗██████╗ ███████╗ █████╗ ███╗ ███╗ ██████╗ ██████╗ ████████╗████████╗███████╗██████╗ | ||
| ██╔════╝╚══██╔══╝██╔══██╗██╔════╝██╔══██╗████╗ ████║ ██╔══██╗██╔═══██╗╚══██╔══╝╚══██╔══╝██╔════╝██╔══██╗ | ||
| ███████╗ ██║ ██████╔╝█████╗ ███████║██╔████╔██║█████╗██████╔╝██║ ██║ ██║ ██║ █████╗ ██████╔╝ | ||
| ╚════██║ ██║ ██╔══██╗██╔══╝ ██╔══██║██║╚██╔╝██║╚════╝██╔══██╗██║ ██║ ██║ ██║ ██╔══╝ ██╔══██╗ | ||
|
|
@@ -20,14 +23,17 @@ | |
|
|
||
| print(intro) | ||
|
|
||
| if platform.system() == "Windows": #checking OS | ||
| if platform.system() == "Windows": # checking OS | ||
| clear = "cls" | ||
| else: | ||
| clear = "clear" | ||
|
|
||
| token = input("ID?\n") | ||
| url= "https://m.youtube.com/watch?v=" + token | ||
| url2 = "https://s.youtube.com/api/stats/watchtime?ns=yt&el=detailpage&cpn=AiWtf2fjIwVS2MeQ&docid=" + token + "&ver=2&cmt=7926.045&ei=igGSXce3IM2NgAfasp-ABg&fmt=133&fs=0&rt=1096.007&of=L_224b5BokWsQ5UWgAws_w&euri&lact=2837&live=dvr&cl=271684942&state=playing&vm=CAEQABgEKhhJc0gwZ2w0QmFfbTBWSXlWNm9ITmRRPT0&volume=100&c=MWEB&cver=2.20190928.07.00&cplayer=UNIPLAYER&cbrand=apple&cbr=Safari%20Mobile&cbrver=12.1.15E148&cmodel=iphone&cos=iPhone&cosver=12_2&cplatform%20=MOBILE&delay=5&hl=ru_RU&cr=DE&rtn=1396&afmt=140&lio=1556394045.182&idpj=&ldpj=&rti=1096&muted=0&st=7626.045&et=7926.045 " | ||
| url = "https://m.youtube.com/watch?v=" + token | ||
| url2 = "https://s.youtube.com/api/stats/watchtime?ns=yt&el=detailpage&cpn=AiWtf2fjIwVS2MeQ&docid=" + token + \ | ||
| "&ver=2&cmt=7926.045&ei=igGSXce3IM2NgAfasp-ABg&fmt=133&fs=0&rt=1096.007&of=L_224b5BokWsQ5UWgAws_w&euri&lact=2837&live=dvr&cl=271684942&state=playing&vm=CAEQABgEKhhJc0gwZ2w0QmFfbTBWSXlWNm9ITmRRPT0&volume=100&c=MWEB&cver=2.20190928.07.00&cplayer=UNIPLAYER&cbrand=apple&cbr=Safari%20Mobile&cbrver=12.1.15E148&cmodel=iphone&cos=iPhone&cosver=12_2&cplatform%20=MOBILE&delay=5&hl=ru_RU&cr=DE&rtn=1396&afmt=140&lio=1556394045.182&idpj=&ldpj=&rti=1096&muted=0&st=7626.045&et=7926.045 " | ||
|
|
||
|
|
||
| class main(object): | ||
| def __init__(self): | ||
| self.combolist = Queue() | ||
|
|
@@ -36,75 +42,78 @@ def __init__(self): | |
| self.botted = 0 | ||
| self.combolen = self.combolist.qsize() | ||
|
|
||
| def printservice(self): #print screen | ||
| def printservice(self): # print screen | ||
| while True: | ||
| if True: | ||
| os.system(clear) | ||
| print(Fore.LIGHTCYAN_EX + intro + Fore.LIGHTMAGENTA_EX) | ||
| print( | ||
| Fore.LIGHTCYAN_EX + f"Botted:{self.botted}\n") | ||
| print(Fore.LIGHTCYAN_EX + f"Botted: {self.botted}") | ||
| for i in range(len(self.printing) - 10, len(self.printing)): | ||
| try: | ||
| print(self.printing[i]) | ||
| except (ValueError, Exception): | ||
| pass | ||
| time.sleep(0.5) | ||
|
|
||
|
|
||
| a = main() | ||
|
|
||
|
|
||
| class proxy(): | ||
|
|
||
| def update(self): | ||
| while True: | ||
| url = "https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&ssl=yes" | ||
| url = "https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=1000&ssl=yes" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what's the point of setting the proxy response time to 1000 milliseconds?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you set it too low, there is a chance of not getting any proxies at all. Because they are free proxies, they often don't have the best Quality, so you just take whatever proxies you can get your hands on. |
||
| r = requests.get(url) | ||
| self.splited = r.text.split("\r\n") #scraping and splitting proxies | ||
| self.splited = r.text.split("\r\n") # scraping and splitting proxies | ||
| time.sleep(600) | ||
|
|
||
| def get_proxy(self): | ||
| random1 = random.choice(self.splited) #choose a random proxie | ||
| random1 = random.choice(self.splited) # choose a random proxie | ||
| return random1 | ||
|
|
||
| def FormatProxy(self): | ||
| proxyOutput = {'https':self.get_proxy()} | ||
| return proxyOutput | ||
| proxyOutput = {'https': self.get_proxy()} | ||
| return proxyOutput | ||
|
|
||
| def __init__(self): | ||
| self.splited = [] | ||
| threading.Thread(target=self.update).start() | ||
| time.sleep(3) | ||
|
|
||
|
|
||
| proxy1 = proxy() | ||
| def bot(): | ||
| while True: | ||
|
|
||
|
|
||
|
|
||
| def bot(): | ||
| while True: | ||
|
|
||
| headers={ | ||
| "Host": "m.youtube.com", | ||
| "Accept-Encoding": "gzip, deflate", | ||
| "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1", | ||
| "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8", | ||
| "Accept-Language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7", | ||
| "Connection": "close" | ||
| headers = { | ||
| "Host": "m.youtube.com", | ||
| "Accept-Encoding": "gzip, deflate", | ||
| "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1", | ||
| "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8", | ||
| "Accept-Language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7", | ||
| "Connection": "close" | ||
| } | ||
|
|
||
| try: | ||
| s = requests.session() | ||
| s.get(url,headers=headers,proxies=proxy1.FormatProxy()) #stream request | ||
| s.get(url2,headers=headers,proxies=proxy1.FormatProxy()) #api request | ||
| s.get(url, headers=headers, proxies=proxy1.FormatProxy()) # stream request | ||
| s.get(url2, headers=headers,proxies=proxy1.FormatProxy()) # api request | ||
|
|
||
| a.botted += 1 | ||
| except: | ||
| pass | ||
|
|
||
|
|
||
|
|
||
| maxthreads = int(input("How many Threads? Recommended: 500 - 1000\n")) | ||
|
|
||
| threading.Thread(target=a.printservice).start() | ||
|
|
||
| num = 0 | ||
| while num < maxthreads : | ||
| while num < maxthreads: | ||
| num += 1 | ||
| threading.Thread(target=bot).start() | ||
|
|
||
|
|
||
| threading.Thread(target=bot).start() | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+ \will throw error, what is thatThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you want to add an \ at the end of the string you would need to do it like so:
+ "\", but then doing this there is a possibility of it breaking the script when changing anything to the API call.