YouTube-Internal-Clients/misc/paramfuzzer/paramfuzzer.py

44 lines
1.2 KiB
Python

import params_pb2
import base64
import urllib.parse
import requests
import json
for i in range(0, 100):
g = params_pb2.params()
g.p1 = i
g.p2 = i
g.p3 = i
b64 = base64.b64encode(g.SerializeToString())
b64_url = urllib.parse.quote(b64)
post_data = {
"context": {
"client": {
"hl": "en",
"clientName": "WEB",
"clientVersion": "2.20220331.06.00"
}
},
"videoId": "8PNJCjXkrps",
"params": b64_url
}
try:
res = requests.post("https://www.youtube.com/youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", data=json.dumps(post_data), headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29",
"Content-Type": "text/plain;charset=UTF-8"
})
print(b64_url, res.status_code)
if res.status_code == 200:
f = open("results/" + str(i) + ".json", "w", encoding="utf-8")
f.write(res.text)
f.close()
except Exception as ex:
print(ex)