YouTube-Internal-Clients/innerbrute.py

85 lines
3.6 KiB
Python
Raw Normal View History

2022-03-28 16:05:36 +00:00
import requests
import os
2022-03-31 00:14:56 +00:00
client_versions = open("payloads/client_versions.txt", "r").readlines()
data_template = open("payloads/post_data.txt", "r").read()
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
innertube_hosts = [
{
"video_id": "vJz8QzO1VzQ", # normal video
"domain": "www.youtube.com",
"key": "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8",
"headers": {
"Origin": "https://www.youtube.com",
"Referer": "https://www.youtube.com/",
"Accept-Language": "de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.52"
}
},
{
"video_id": "pckuS--UlV4", # video "for kids"
"domain": "www.youtubekids.com",
"key": "AIzaSyBbZV_fZ3an51sF-mvs5w37OqqbsTOzwtU",
"headers": {
"Origin": "https://www.youtubekids.com",
"Referer": "https://www.youtubekids.com/",
"Accept-Language": "de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.52"
}
},
{
"video_id": "RY607kB2QiU", # music video
"domain": "music.youtube.com",
"key": "AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30",
"headers": {
"Origin": "https://music.youtube.com",
"Referer": "https://music.youtube.com/",
"Accept-Language": "de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.52"
}
2022-04-07 00:33:16 +00:00
},
{
"video_id": "zv9NimPx3Es", # another music video
"domain": "music.youtube.com",
"key": "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8",
"headers": {
"Origin": "https://music.youtube.com",
"Referer": "https://music.youtube.com/",
"Accept-Language": "de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.52"
}
2022-04-05 23:57:22 +00:00
}
]
2022-03-28 16:05:36 +00:00
2022-03-31 00:14:56 +00:00
if not os.path.exists('responses'):
os.makedirs('responses')
2022-03-28 16:05:36 +00:00
2022-03-31 00:14:56 +00:00
for client_name_id in range(1, 100):
2022-03-28 16:05:36 +00:00
for client_version in client_versions:
client_version = client_version.replace("\n", "").replace("\r", "")
if client_version == "":
continue
2022-04-05 23:57:22 +00:00
for i, host in enumerate(innertube_hosts):
try_id = str(client_name_id) + "_" + client_version + "_" + str(len(innertube_hosts) - i) + "_" + host["domain"] + "_" + host["key"]
print("Try ClientId: " + str(client_name_id) + " ClientVersion: " + str(client_version) + " @ " + host["domain"])
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
data = data_template.replace("%videoId%", host["video_id"]).replace('%clientName%', str(client_name_id)).replace('%clientVersion%', client_version)
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
for i in range(0, 2):
try:
response = requests.post("https://" + host["domain"] + "/youtubei/v1/player?key=" + host["key"], data=data, headers=host["headers"], timeout=5)
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
print("Response Code: " + str(response.status_code))
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
if response.status_code == 200:
out = open("responses/" + try_id + ".json", "w", encoding="utf-8")
out.write(response.text)
out.close()
2022-03-28 16:05:36 +00:00
2022-04-05 23:57:22 +00:00
break
except Exception as ex:
print(ex)