Refresh Client Versions, Improve things, Apply #3
parent
76e3340f34
commit
6f7c6b749f
27
analysis.py
27
analysis.py
|
@ -44,7 +44,6 @@ markdown += "|---------------------------|-----------------|----------|\n"
|
||||||
working_clients_output = ""
|
working_clients_output = ""
|
||||||
working_versions = []
|
working_versions = []
|
||||||
|
|
||||||
video_id = ""
|
|
||||||
|
|
||||||
if not os.path.exists('results'):
|
if not os.path.exists('results'):
|
||||||
os.makedirs('results')
|
os.makedirs('results')
|
||||||
|
@ -64,6 +63,12 @@ for client_id in client_ids:
|
||||||
client_files = [file for file in files if file.startswith(str(client_id) + '_')]
|
client_files = [file for file in files if file.startswith(str(client_id) + '_')]
|
||||||
client_files.sort(reverse=True) # highest version first
|
client_files.sort(reverse=True) # highest version first
|
||||||
|
|
||||||
|
versions = []
|
||||||
|
for file_name in client_files:
|
||||||
|
version = file_name.split("_")[1]
|
||||||
|
if version not in versions:
|
||||||
|
versions.append(version)
|
||||||
|
|
||||||
for client_file in client_files:
|
for client_file in client_files:
|
||||||
response_data_raw = open('responses/' + client_file, 'r', encoding='utf-8').read()
|
response_data_raw = open('responses/' + client_file, 'r', encoding='utf-8').read()
|
||||||
response_data = json.loads(response_data_raw)
|
response_data = json.loads(response_data_raw)
|
||||||
|
@ -80,11 +85,6 @@ for client_id in client_ids:
|
||||||
client_name = response_data_raw.split('&c=')[1].split('&')[0]
|
client_name = response_data_raw.split('&c=')[1].split('&')[0]
|
||||||
except Exception:
|
except Exception:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
|
||||||
video_id = response_data_raw.split('&docid=')[1].split('&')[0]
|
|
||||||
except Exception:
|
|
||||||
print("missing doc id (video id)")
|
|
||||||
|
|
||||||
working_clients_output += str(client_id) + ";" + client_name + ";" + client_version + "\n"
|
working_clients_output += str(client_id) + ";" + client_name + ";" + client_version + "\n"
|
||||||
|
|
||||||
|
@ -140,6 +140,9 @@ for client_id in client_ids:
|
||||||
if client_name == "TVHTML5_SIMPLY_EMBEDDED_PLAYER":
|
if client_name == "TVHTML5_SIMPLY_EMBEDDED_PLAYER":
|
||||||
extraInfo += "• No Age-restrictions<br>"
|
extraInfo += "• No Age-restrictions<br>"
|
||||||
|
|
||||||
|
if "android" in client_name.lower():
|
||||||
|
extraInfo += "• Needs [`androidSdkVersion`](#params)<br>"
|
||||||
|
|
||||||
|
|
||||||
ignore_attributes = ["videoDetails", "playerConfig", "responseContext", "playabilityStatus", "streamingData", "playbackTracking", "trackingParams", "adPlacements", "playerAds", "adParams", "adBreakParams", "onResponseReceivedEndpoints", "playerSettingsMenuData"]
|
ignore_attributes = ["videoDetails", "playerConfig", "responseContext", "playabilityStatus", "streamingData", "playbackTracking", "trackingParams", "adPlacements", "playerAds", "adParams", "adBreakParams", "onResponseReceivedEndpoints", "playerSettingsMenuData"]
|
||||||
|
|
||||||
|
@ -155,13 +158,17 @@ for client_id in client_ids:
|
||||||
|
|
||||||
extraInfo += "<details><summary>Show Response</summary>" + get_structure_tree(response_data) +"</details>"
|
extraInfo += "<details><summary>Show Response</summary>" + get_structure_tree(response_data) +"</details>"
|
||||||
|
|
||||||
|
other_versions = ""
|
||||||
|
if len(versions) > 1:
|
||||||
|
other_versions = "<br><br><details><summary>All Versions</summary>" + "<br>".join(versions) +"</details>"
|
||||||
|
|
||||||
markdown += "|ID: *" + str(client_id) + "*<br>" + client_name + "<br>" + client_version + "|" + formats_summary + formatsStr + adaptiveFormatsStr + "|" + extraInfo + "|\n"
|
|
||||||
|
markdown += "|ID: *" + str(client_id) + "*<br><b>" + client_name + "</b><br>" + client_version + other_versions + "|" + formats_summary + formatsStr + adaptiveFormatsStr + "|" + extraInfo + "|\n"
|
||||||
|
|
||||||
break
|
break
|
||||||
|
|
||||||
readme_header = open("templates/readme_header.md", "r").read()
|
readme_template = open("templates/readme_template.md", "r").read()
|
||||||
readme_header = readme_header.replace("%videoId%", video_id)
|
readme_template = readme_template.replace("%table%", markdown)
|
||||||
|
|
||||||
f = open("results/working_clients.md", "w", encoding="utf-8")
|
f = open("results/working_clients.md", "w", encoding="utf-8")
|
||||||
f.write(markdown)
|
f.write(markdown)
|
||||||
|
@ -177,5 +184,5 @@ for v in working_versions:
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
f = open("readme.md", "w", encoding="utf-8")
|
f = open("readme.md", "w", encoding="utf-8")
|
||||||
f.write(readme_header + markdown)
|
f.write(readme_template)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import requests
|
import requests
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
client_versions = open("payloads/client_versions.txt", "r").readlines()
|
client_versions = open("payloads/client_versions.txt", "r").readlines()
|
||||||
data_template = open("payloads/post_data.txt", "r").read()
|
data_template = open("payloads/post_data.txt", "r").read()
|
||||||
|
@ -54,7 +55,9 @@ innertube_hosts = [
|
||||||
if not os.path.exists('responses'):
|
if not os.path.exists('responses'):
|
||||||
os.makedirs('responses')
|
os.makedirs('responses')
|
||||||
|
|
||||||
for client_name_id in range(1, 100):
|
requests_failed = 0
|
||||||
|
|
||||||
|
for client_name_id in range(1, 120):
|
||||||
for client_version in client_versions:
|
for client_version in client_versions:
|
||||||
client_version = client_version.replace("\n", "").replace("\r", "")
|
client_version = client_version.replace("\n", "").replace("\r", "")
|
||||||
if client_version == "":
|
if client_version == "":
|
||||||
|
@ -64,11 +67,13 @@ for client_name_id in range(1, 100):
|
||||||
|
|
||||||
try_id = str(client_name_id) + "_" + client_version + "_" + str(len(innertube_hosts) - i) + "_" + host["domain"] + "_" + host["key"]
|
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"])
|
print("Try ClientId: " + str(client_name_id) + " ClientVersion: " + str(client_version) + " @ " + host["domain"] + " Failed Requests: " + str(requests_failed))
|
||||||
|
|
||||||
data = data_template.replace("%videoId%", host["video_id"]).replace('%clientName%', str(client_name_id)).replace('%clientVersion%', client_version)
|
data = data_template.replace("%videoId%", host["video_id"]).replace('%clientName%', str(client_name_id)).replace('%clientVersion%', client_version)
|
||||||
|
|
||||||
for i in range(0, 2):
|
headers = host["headers"].copy()
|
||||||
|
|
||||||
|
for i in range(0, 4):
|
||||||
try:
|
try:
|
||||||
response = requests.post("https://" + host["domain"] + "/youtubei/v1/player?key=" + host["key"], data=data, headers=host["headers"], timeout=5)
|
response = requests.post("https://" + host["domain"] + "/youtubei/v1/player?key=" + host["key"], data=data, headers=host["headers"], timeout=5)
|
||||||
|
|
||||||
|
@ -81,4 +86,7 @@ for client_name_id in range(1, 100):
|
||||||
|
|
||||||
break
|
break
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
if i == 3:
|
||||||
|
requests_failed += 1
|
||||||
|
time.sleep(0.5)
|
||||||
print(ex)
|
print(ex)
|
||||||
|
|
|
@ -1,78 +1,78 @@
|
||||||
7.4.620913-release
|
8.0.623343-release
|
||||||
57.38.2
|
63.34.5
|
||||||
100.0.4896.79
|
105.0.5195.124
|
||||||
3.0.1
|
3.0.1
|
||||||
7.7
|
8.2
|
||||||
2.12.422490447
|
3.8.466520855
|
||||||
1.9
|
1.9
|
||||||
100.0.4896.79
|
105.0.5195.124
|
||||||
6.3
|
6.3
|
||||||
1.11.0.358
|
1.11.0.358
|
||||||
1.8
|
1.8
|
||||||
1.0.421968649
|
1.0.471963630
|
||||||
2.4.042
|
2.4.065-3
|
||||||
1.8.2.392356939
|
1.8.2.392356939
|
||||||
11.6.06.433184565-release-armeabi-v7a
|
12.0.06.457705062-release-armeabi-v7a
|
||||||
2022.03.20.437098296.Release
|
2022.06.26.459604605.Release
|
||||||
8.5.6.197464524.go
|
8.5.6.197464524.go
|
||||||
2.41.438904386
|
2.45.467721145
|
||||||
3.3
|
3.3
|
||||||
27.0.326
|
27.0.326
|
||||||
4.4.439927113
|
4.5.470770319
|
||||||
13.13.7.23.arm
|
13.33.12.26.arm
|
||||||
0.1.315561676
|
0.1.452181178
|
||||||
2.9.0.365531209.assistantlite.210329
|
2.13.0.439234666.armeabi-v7a.release
|
||||||
5.00
|
5.20R2
|
||||||
2022.14.0-439152615-release
|
2022.36.0-472143158-release
|
||||||
8.4.500.429168112.25
|
8.6.263.471358013.15
|
||||||
3.65.2.438022649
|
3.76.26.471848990
|
||||||
1.22.062.06.90
|
1.22.362.03.90
|
||||||
2.21.261.04.90
|
2.22.154.2.all.alldpi
|
||||||
122.0.353872967.DR122
|
172.0.466841314.duo.android
|
||||||
9.155.0.2
|
9.162.0.2
|
||||||
3.0.208511728
|
3.0.208511728
|
||||||
2.48.75.6
|
2.50.25.3
|
||||||
3.2.5.164561151-armeabi-v7a
|
3.3.2.454109171-release-armeabi-v7a
|
||||||
5.22.041.03.30
|
5.22.222.02.90
|
||||||
1.14.220323006
|
1.14.220323006
|
||||||
11.23.3
|
11.48.0801
|
||||||
157.0
|
157.0
|
||||||
2022.03.20.437881873.Release
|
2022.08.07.467804210.Release
|
||||||
5.49.0.430730993
|
5.55.0.455383490
|
||||||
1.4.large
|
1.4.large
|
||||||
1.141.435035767
|
1.158.462657757
|
||||||
2020062202
|
2022082901
|
||||||
2.143.434517044
|
2.143.460223562
|
||||||
52.0.323183643
|
84.0.463159461
|
||||||
5.75.0.426435368
|
6.6.0.472601992
|
||||||
5.22.1
|
2022.8.24.0.2
|
||||||
2022.01.32371
|
2022.08.36996
|
||||||
8.26.8771-1.T
|
8.26.8771-1.T
|
||||||
22.09.20
|
22.33.15
|
||||||
30.0.20-19
|
32.3.14-19
|
||||||
1.0.196287551
|
1.0.196287551
|
||||||
1.22.062.06.90
|
1.22.062.06.90
|
||||||
1.22.062.06.90
|
1.22.342.07.90
|
||||||
2.0.0.432514663
|
2.0.0.432514663
|
||||||
26.2.3.381920558
|
26.2.3.381920558
|
||||||
6.32.0.436351116.8-release
|
6.45.0.472354770.1-release
|
||||||
2022.02.07.428774713
|
2022.08.08.468275888
|
||||||
11.10.0.305602887
|
11.10.0.305602887
|
||||||
40.0.402967813
|
40.0.402967813
|
||||||
1.78.217178463.release
|
1.78.217178463.release
|
||||||
7.7.051
|
messages.android
|
||||||
10.55.0
|
10.55.0
|
||||||
1.5.2.242191532
|
1.5.2.242191532
|
||||||
12
|
13
|
||||||
1.1.413207646
|
1.1.458567181
|
||||||
6.5.1.12
|
6.5.1.12
|
||||||
2.19.1.303051424
|
2.19.1.303051424
|
||||||
2.48.0.377032688.gms
|
2.48.0.377032688.gms
|
||||||
17.11.35
|
17.35.36
|
||||||
22.09.101
|
22.35.100
|
||||||
2.10.7.6
|
2.10.7.6
|
||||||
3.25.54
|
3.25.54
|
||||||
7.12.1
|
7.32.1
|
||||||
4.71.51
|
5.23.51
|
||||||
6.12.1
|
6.34.1
|
||||||
4.0.5
|
4.0.25
|
||||||
|
|
|
@ -1,55 +1,52 @@
|
||||||
1.27
|
1.37
|
||||||
2.3
|
2.4
|
||||||
206.0
|
228.0
|
||||||
1.51
|
1.63
|
||||||
1.0.150
|
1.0.172
|
||||||
1.0.42
|
1.0.48
|
||||||
2.1.65
|
2.1.85
|
||||||
1.9.40904
|
1.9.57601
|
||||||
2.0.648
|
2.0.648
|
||||||
6.13
|
6.36
|
||||||
86.0.0
|
96.0.0
|
||||||
1.8
|
1.9
|
||||||
163.0
|
174.1.0
|
||||||
2.9.1
|
2.10.5
|
||||||
2.3.18
|
2.3.19
|
||||||
1.13.7
|
2.220824.1
|
||||||
2.220308.1
|
1.8.0
|
||||||
1.7.1
|
2.45.468575109
|
||||||
2.40.433747733
|
9.1.39
|
||||||
9.0.43
|
5.24.3
|
||||||
5.01
|
2.2022.36201
|
||||||
2.2022.12201
|
|
||||||
0.0.77
|
0.0.77
|
||||||
1.16.80
|
1.19.1
|
||||||
1.1
|
|
||||||
5.5
|
5.5
|
||||||
5.84
|
6.7
|
||||||
22.11.1
|
22.35.1
|
||||||
7.12.3
|
7.36.1
|
||||||
79.0.3945.10
|
101.0.4951.27
|
||||||
2.2022.10204
|
2.2022.34204
|
||||||
3.16
|
3.17
|
||||||
4.6.1
|
4.7.2
|
||||||
1.2022.12202
|
1.2022.36207
|
||||||
4.4.4763
|
4.5.4945
|
||||||
22.12.100
|
22.36.102
|
||||||
3.42.0
|
1.2022.34205
|
||||||
1.2022.12202
|
1.2022.36202
|
||||||
1.2022.12202
|
|
||||||
3.4
|
3.4
|
||||||
2.20.31
|
3.2.00005
|
||||||
2.50.105
|
2.57.109
|
||||||
6.12
|
6.35
|
||||||
17.13.3
|
17.36.4
|
||||||
100.0.4896.77
|
105.0.5195.129
|
||||||
4.2022.12400
|
4.2022.36202
|
||||||
5.50
|
5.60
|
||||||
6.0.220320
|
6.0.220821
|
||||||
7.12.0
|
7.15.0
|
||||||
2.22.0
|
2.22.0
|
||||||
6.33.0
|
6.44.0
|
||||||
5.9.1
|
6.0.3
|
||||||
22.14
|
22.33
|
||||||
3.4.0
|
3.4.0
|
||||||
9.154
|
9.154
|
||||||
|
|
|
@ -2,7 +2,11 @@ import requests
|
||||||
|
|
||||||
output = open("android_versions.txt", "w")
|
output = open("android_versions.txt", "w")
|
||||||
|
|
||||||
response = requests.get("https://androidapksfree.com/devapk/google-inc/")
|
headers = {
|
||||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.33"
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.get("https://androidapksfree.com/devapk/google-inc/", headers=headers)
|
||||||
|
|
||||||
#print(response.text)
|
#print(response.text)
|
||||||
|
|
||||||
|
@ -14,7 +18,7 @@ for x in split_html:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response_apk = requests.get(apk_link)
|
response_apk = requests.get(apk_link, headers=headers)
|
||||||
apk_version = response_apk.text.split("latest apk version ")[1].split('"')[0].split(" ")[0].split("_")[0]
|
apk_version = response_apk.text.split("latest apk version ")[1].split('"')[0].split(" ")[0].split("_")[0]
|
||||||
print(apk_version)
|
print(apk_version)
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
0.0.5
|
0.0.5
|
||||||
0.0.6
|
0.0.6
|
||||||
0.0.7
|
0.0.7
|
||||||
0.0.77
|
|
||||||
0.0.8
|
0.0.8
|
||||||
0.0.9
|
0.0.9
|
||||||
|
0.0.77
|
||||||
|
0.1.452181178
|
||||||
0.1
|
0.1
|
||||||
0.1.315561676
|
|
||||||
0.2
|
0.2
|
||||||
0.3
|
0.3
|
||||||
0.4
|
0.4
|
||||||
|
@ -23,243 +23,318 @@
|
||||||
1.0
|
1.0
|
||||||
1.0.0
|
1.0.0
|
||||||
1.0.1
|
1.0.1
|
||||||
1.0.150
|
|
||||||
1.0.196287551
|
|
||||||
1.0.42
|
1.0.42
|
||||||
1.0.421968649
|
1.0.48
|
||||||
1.1
|
1.0.150
|
||||||
1.1.413207646
|
1.0.172
|
||||||
1.1.426206631
|
1.0.471963630
|
||||||
|
1.1.458567181
|
||||||
|
1.4.large
|
||||||
|
1.5.2.242191532
|
||||||
|
1.7.1
|
||||||
|
1.8.0
|
||||||
|
1.8.2.392356939
|
||||||
|
1.9.40904
|
||||||
|
1.9.57601
|
||||||
1.11.0.358
|
1.11.0.358
|
||||||
1.13.02
|
1.13.02
|
||||||
1.13.7
|
1.13.7
|
||||||
1.14.220323006
|
1.14.220323006
|
||||||
1.141.435035767
|
|
||||||
1.15.03
|
1.15.03
|
||||||
1.16.80
|
1.16.80
|
||||||
|
1.19.1
|
||||||
|
1.22.362.03.90
|
||||||
|
1.28.63
|
||||||
|
1.70.50
|
||||||
|
1.78.217178463
|
||||||
|
1.141.435035767
|
||||||
|
1.158.462657757
|
||||||
|
1.2022.36207
|
||||||
|
1.1
|
||||||
1.2
|
1.2
|
||||||
1.20150713
|
1.20150713
|
||||||
1.20180713
|
1.20180713
|
||||||
1.20200713
|
1.20200713
|
||||||
1.20210713
|
1.20210713
|
||||||
1.2022.12202
|
|
||||||
1.20220403
|
1.20220403
|
||||||
1.22.062.06.90
|
1.20220918
|
||||||
1.27
|
1.27
|
||||||
1.28.63
|
|
||||||
1.3
|
1.3
|
||||||
|
1.37
|
||||||
1.4
|
1.4
|
||||||
1.4.large
|
|
||||||
1.5
|
1.5
|
||||||
1.5.2.242191532
|
|
||||||
1.51
|
1.51
|
||||||
1.6
|
1.6
|
||||||
|
1.63
|
||||||
1.7
|
1.7
|
||||||
1.7.1
|
|
||||||
1.70.50
|
|
||||||
1.78.217178463
|
|
||||||
1.78.217178463.release
|
|
||||||
1.8
|
1.8
|
||||||
1.8.2.392356939
|
|
||||||
1.9
|
1.9
|
||||||
1.9.40904
|
|
||||||
10.20
|
|
||||||
10.20220325
|
|
||||||
10.55.0
|
|
||||||
100.0.4896.77
|
|
||||||
100.0.4896.79
|
|
||||||
11.10.0.305602887
|
|
||||||
11.20
|
|
||||||
11.23.3
|
|
||||||
11.6.06.433184565
|
|
||||||
11.6.06.433184565-release-armeabi-v7a
|
|
||||||
12
|
|
||||||
12.20
|
|
||||||
122.0.353872967.DR122
|
|
||||||
13.13.7.23
|
|
||||||
13.13.7.23.arm
|
|
||||||
13.20
|
|
||||||
14.20
|
|
||||||
15.11.34
|
|
||||||
15.20
|
|
||||||
157.0
|
|
||||||
16.20
|
|
||||||
163.0
|
|
||||||
17.11.34
|
|
||||||
17.11.35
|
|
||||||
17.13.3
|
|
||||||
18.11.34
|
|
||||||
18.24.100
|
|
||||||
19.11.100
|
|
||||||
19.24.100
|
|
||||||
2
|
2
|
||||||
2.0
|
2.0
|
||||||
2.0.0.432514663
|
2.0.0.432514663
|
||||||
2.0.648
|
2.0.648
|
||||||
2.1.4
|
2.1.4
|
||||||
2.1.65
|
2.1.65
|
||||||
|
2.1.85
|
||||||
|
2.3.18
|
||||||
|
2.3.19
|
||||||
|
2.4.042
|
||||||
|
2.4.065-3
|
||||||
|
2.9.0.365531209
|
||||||
|
2.9.1
|
||||||
|
2.10.5
|
||||||
2.10.7.6
|
2.10.7.6
|
||||||
2.12.422490447
|
2.12.422490447
|
||||||
2.13
|
2.13.0.439234666
|
||||||
2.143.434517044
|
|
||||||
2.16.032
|
2.16.032
|
||||||
2.19.1.303051424
|
2.19.1.303051424
|
||||||
2.20.31
|
2.20.31
|
||||||
|
2.21.261.04.90
|
||||||
|
2.22.0
|
||||||
|
2.22.154.2
|
||||||
|
2.40.433747733
|
||||||
|
2.41.438904386
|
||||||
|
2.45.467721145
|
||||||
|
2.45.468575109
|
||||||
|
2.48.0.377032688
|
||||||
|
2.48.75.6
|
||||||
|
2.50.25.3
|
||||||
|
2.50.105
|
||||||
|
2.57.109
|
||||||
|
2.70.50
|
||||||
|
2.143.460223562
|
||||||
|
2.2022.10204
|
||||||
|
2.2022.12201
|
||||||
|
2.2022.34204
|
||||||
|
2.2022.36201
|
||||||
|
2.220308.1
|
||||||
|
2.220824.1
|
||||||
|
2.13
|
||||||
2.20150719
|
2.20150719
|
||||||
2.20180719
|
2.20180719
|
||||||
2.20200719
|
2.20200719
|
||||||
2.20210719
|
2.20210719
|
||||||
2.2022.10204
|
|
||||||
2.2022.12201
|
|
||||||
2.20220325
|
2.20220325
|
||||||
2.20220405
|
2.20220405
|
||||||
2.21.261.04.90
|
2.20220918
|
||||||
2.22.0
|
|
||||||
2.220308.1
|
|
||||||
2.3
|
2.3
|
||||||
2.3.18
|
2.4
|
||||||
2.4.042
|
|
||||||
2.40.433747733
|
|
||||||
2.41.438904386
|
|
||||||
2.43
|
2.43
|
||||||
2.48.0.377032688
|
3
|
||||||
2.48.0.377032688.gms
|
3.0
|
||||||
2.48.75.6
|
3.0.1
|
||||||
2.50.105
|
3.0.208511728
|
||||||
2.70.50
|
3.2.00005
|
||||||
2.9.0.365531209
|
3.2.5.164561151
|
||||||
2.9.0.365531209.assistantlite.210329
|
3.2.5.164561151-armeabi-v7a
|
||||||
2.9.1
|
3.3.2.454109171-release-armeabi-v7a
|
||||||
|
3.4.0
|
||||||
|
3.8.1
|
||||||
|
3.8.466520855
|
||||||
|
3.10.3
|
||||||
|
3.12.1
|
||||||
|
3.25.54
|
||||||
|
3.26.1
|
||||||
|
3.42.0
|
||||||
|
3.65.2.438022649
|
||||||
|
3.70.50
|
||||||
|
3.76.26.471848990
|
||||||
|
3.16
|
||||||
|
3.17
|
||||||
|
3.20220918
|
||||||
|
3.3
|
||||||
|
3.4
|
||||||
|
3.46
|
||||||
|
4
|
||||||
|
4.0.5
|
||||||
|
4.0.25
|
||||||
|
4.00.50
|
||||||
|
4.4.4763
|
||||||
|
4.4.439927113
|
||||||
|
4.5.4945
|
||||||
|
4.5.470770319
|
||||||
|
4.6.1
|
||||||
|
4.7.2
|
||||||
|
4.10.3
|
||||||
|
4.10.50
|
||||||
|
4.12.1
|
||||||
|
4.20.50
|
||||||
|
4.26.1
|
||||||
|
4.40.50
|
||||||
|
4.70.00
|
||||||
|
4.70.50
|
||||||
|
4.71.51
|
||||||
|
4.2022.36202
|
||||||
|
4.20220918
|
||||||
|
4.44763
|
||||||
|
4.9
|
||||||
|
5
|
||||||
|
5.00
|
||||||
|
5.9.1
|
||||||
|
5.10.3
|
||||||
|
5.12.1
|
||||||
|
5.20R2
|
||||||
|
5.22.041.03.30
|
||||||
|
5.22.1
|
||||||
|
5.22.222.02.90
|
||||||
|
5.23.51
|
||||||
|
5.24.3
|
||||||
|
5.26.1
|
||||||
|
5.49.0.430730993
|
||||||
|
5.55.0.455383490
|
||||||
|
5.70.50
|
||||||
|
5.75.0.426435368
|
||||||
|
5.01
|
||||||
|
5.20220918
|
||||||
|
5.5
|
||||||
|
5.50
|
||||||
|
5.60
|
||||||
|
5.84
|
||||||
|
6
|
||||||
|
6.0.3
|
||||||
|
6.0.220320
|
||||||
|
6.0.220821
|
||||||
|
6.5.1.12
|
||||||
|
6.6.0.472601992
|
||||||
|
6.8.1
|
||||||
|
6.10.3
|
||||||
|
6.12.1
|
||||||
|
6.22.4
|
||||||
|
6.32.0.436351116.8
|
||||||
|
6.33.0
|
||||||
|
6.34.1
|
||||||
|
6.44.0
|
||||||
|
6.45.0.472354770.1
|
||||||
|
6.70.50
|
||||||
|
6.12
|
||||||
|
6.13
|
||||||
|
6.20220918
|
||||||
|
6.3
|
||||||
|
6.35
|
||||||
|
6.36
|
||||||
|
6.7
|
||||||
|
7
|
||||||
|
7.0
|
||||||
|
7.4.620913
|
||||||
|
7.7.051
|
||||||
|
7.10.3
|
||||||
|
7.12.0
|
||||||
|
7.12.1
|
||||||
|
7.12.3
|
||||||
|
7.15.0
|
||||||
|
7.20.3
|
||||||
|
7.30.3
|
||||||
|
7.32.1
|
||||||
|
7.36.1
|
||||||
|
7.70.50
|
||||||
|
7.20220918
|
||||||
|
7.7
|
||||||
|
8
|
||||||
|
8.0
|
||||||
|
8.0.623343-release
|
||||||
|
8.4.500.429168112.25
|
||||||
|
8.5.6.197464524
|
||||||
|
8.5.6.197464524.go
|
||||||
|
8.6.263.471358013.15
|
||||||
|
8.10.3
|
||||||
|
8.26.8771
|
||||||
|
8.26.8771-1.T
|
||||||
|
8.70.50
|
||||||
|
8.2
|
||||||
|
8.20220918
|
||||||
|
9
|
||||||
|
9.0
|
||||||
|
9.0.43
|
||||||
|
9.1.39
|
||||||
|
9.8.1
|
||||||
|
9.10.3
|
||||||
|
9.70.50
|
||||||
|
9.155.0.2
|
||||||
|
9.162.0.2
|
||||||
|
9.154
|
||||||
|
9.20220918
|
||||||
|
10.55.0
|
||||||
|
10.20
|
||||||
|
10.20220918
|
||||||
|
11.6.06.433184565
|
||||||
|
11.6.06.433184565-release-armeabi-v7a
|
||||||
|
11.10.0.305602887
|
||||||
|
11.23.3
|
||||||
|
11.48.0801
|
||||||
|
11.20
|
||||||
|
12
|
||||||
|
12.0.06.457705062-release-armeabi-v7a
|
||||||
|
12.20
|
||||||
|
13
|
||||||
|
13.13.7.23
|
||||||
|
13.13.7.23.arm
|
||||||
|
13.33.12.26.arm
|
||||||
|
13.20
|
||||||
|
14.20
|
||||||
|
15.11.34
|
||||||
|
15.20
|
||||||
|
16.20
|
||||||
|
17.11.34
|
||||||
|
17.11.35
|
||||||
|
17.13.3
|
||||||
|
17.35.36
|
||||||
|
17.36.4
|
||||||
|
18.11.34
|
||||||
|
18.24.100
|
||||||
|
19.11.100
|
||||||
|
19.24.100
|
||||||
20.24.100
|
20.24.100
|
||||||
2020062202
|
|
||||||
2022.01.32371
|
|
||||||
2022.02.07.428774713
|
|
||||||
2022.03.20.437098296
|
|
||||||
2022.03.20.437098296.Release
|
|
||||||
2022.14.0-439152615
|
|
||||||
2022.14.0-439152615-release
|
|
||||||
206.0
|
|
||||||
21.24.100
|
21.24.100
|
||||||
22.01.100
|
22.01.100
|
||||||
22.09.101
|
|
||||||
22.09.20
|
22.09.20
|
||||||
|
22.09.101
|
||||||
22.11.1
|
22.11.1
|
||||||
22.11.100
|
22.11.100
|
||||||
22.12.100
|
22.12.100
|
||||||
22.14
|
|
||||||
22.24.100
|
22.24.100
|
||||||
|
22.33.15
|
||||||
|
22.35.1
|
||||||
|
22.35.100
|
||||||
|
22.36.102
|
||||||
|
22.14
|
||||||
|
22.33
|
||||||
23.24.100
|
23.24.100
|
||||||
24.24.100
|
24.24.100
|
||||||
25.24.100
|
25.24.100
|
||||||
26.2.3.381920558
|
26.2.3.381920558
|
||||||
27.0.326
|
27.0.326
|
||||||
3
|
|
||||||
3.0
|
|
||||||
3.0.1
|
|
||||||
3.0.208511728
|
|
||||||
3.10.3
|
|
||||||
3.12.1
|
|
||||||
3.16
|
|
||||||
3.2.5.164561151
|
|
||||||
3.2.5.164561151-armeabi-v7a
|
|
||||||
3.20220325
|
|
||||||
3.25.54
|
|
||||||
3.26.1
|
|
||||||
3.3
|
|
||||||
3.4
|
|
||||||
3.4.0
|
|
||||||
3.42.0
|
|
||||||
3.46
|
|
||||||
3.65.2.438022649
|
|
||||||
3.70.50
|
|
||||||
3.8.1
|
|
||||||
30.0.20-19
|
30.0.20-19
|
||||||
4
|
32.3.14-19
|
||||||
4.0.5
|
|
||||||
4.00.50
|
|
||||||
4.10.3
|
|
||||||
4.10.50
|
|
||||||
4.12.1
|
|
||||||
4.20.50
|
|
||||||
4.2022.12400
|
|
||||||
4.20220325
|
|
||||||
4.26.1
|
|
||||||
4.4.439927113
|
|
||||||
4.4.4763
|
|
||||||
4.40.50
|
|
||||||
4.44763
|
|
||||||
4.6.1
|
|
||||||
4.70.00
|
|
||||||
4.70.50
|
|
||||||
4.71.51
|
|
||||||
4.9
|
|
||||||
40.0.402967813
|
40.0.402967813
|
||||||
5
|
|
||||||
5.00
|
|
||||||
5.01
|
|
||||||
5.10.3
|
|
||||||
5.12.1
|
|
||||||
5.20220325
|
|
||||||
5.22.041.03.30
|
|
||||||
5.22.1
|
|
||||||
5.26.1
|
|
||||||
5.49.0.430730993
|
|
||||||
5.5
|
|
||||||
5.50
|
|
||||||
5.70.50
|
|
||||||
5.75.0.426435368
|
|
||||||
5.84
|
|
||||||
5.9.1
|
|
||||||
52.0.323183643
|
52.0.323183643
|
||||||
57.38.2
|
57.38.2
|
||||||
6
|
63.34.5
|
||||||
6.0.220320
|
|
||||||
6.10.3
|
|
||||||
6.12
|
|
||||||
6.12.1
|
|
||||||
6.13
|
|
||||||
6.20220325
|
|
||||||
6.22.4
|
|
||||||
6.3
|
|
||||||
6.32.0.436351116.8
|
|
||||||
6.32.0.436351116.8-release
|
|
||||||
6.33.0
|
|
||||||
6.5.1.12
|
|
||||||
6.70.50
|
|
||||||
6.8.1
|
|
||||||
7
|
|
||||||
7.0
|
|
||||||
7.10.3
|
|
||||||
7.12.0
|
|
||||||
7.12.1
|
|
||||||
7.12.3
|
|
||||||
7.20.3
|
|
||||||
7.20220325
|
|
||||||
7.30.3
|
|
||||||
7.4.620913
|
|
||||||
7.4.620913-release
|
|
||||||
7.7
|
|
||||||
7.7.051
|
|
||||||
7.70.50
|
|
||||||
79.0.3945.10
|
79.0.3945.10
|
||||||
8
|
84.0.463159461
|
||||||
8.0
|
|
||||||
8.10.3
|
|
||||||
8.20220325
|
|
||||||
8.26.8771
|
|
||||||
8.26.8771-1.T
|
|
||||||
8.4.500.429168112.25
|
|
||||||
8.5.6.197464524
|
|
||||||
8.5.6.197464524.go
|
|
||||||
8.70.50
|
|
||||||
86.0.0
|
86.0.0
|
||||||
9
|
96.0.0
|
||||||
9.0
|
100.0.4896.77
|
||||||
9.0.43
|
100.0.4896.79
|
||||||
9.10.3
|
101.0.4951.27
|
||||||
9.154
|
105.0.5195.124
|
||||||
9.155.0.2
|
105.0.5195.129
|
||||||
9.20220325
|
122.0.353872967.DR122
|
||||||
9.70.50
|
157.0
|
||||||
9.8.1
|
163.0
|
||||||
999999999
|
172.0.466841314.duo.android
|
||||||
|
174.1.0
|
||||||
|
206.0
|
||||||
|
228.0
|
||||||
|
2022.01.32371
|
||||||
|
2022.02.07.428774713
|
||||||
|
2022.03.20.437098296
|
||||||
|
2022.03.20.437098296.Release
|
||||||
|
2022.08.08.468275888
|
||||||
|
2022.08.36996
|
||||||
|
2022.8.24.0.2
|
||||||
|
2022.14.0-439152615
|
||||||
|
2022.36.0-472143158-release
|
||||||
|
999999999
|
||||||
|
2020062202
|
||||||
|
2022082901
|
||||||
|
20220918
|
|
@ -5,7 +5,8 @@
|
||||||
"gl": "US",
|
"gl": "US",
|
||||||
"clientName": %clientName%,
|
"clientName": %clientName%,
|
||||||
"clientVersion": "%clientVersion%",
|
"clientVersion": "%clientVersion%",
|
||||||
"clientScreen": "WATCH"
|
"clientScreen": "WATCH",
|
||||||
|
"androidSdkVersion": 31
|
||||||
},
|
},
|
||||||
"thirdParty": {
|
"thirdParty": {
|
||||||
"embedUrl": "https://www.youtube.com/"
|
"embedUrl": "https://www.youtube.com/"
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,58 +1,60 @@
|
||||||
1;WEB;2.20220405
|
1;WEB;2.20220918
|
||||||
2;MWEB;2.20220405
|
2;MWEB;2.20220918
|
||||||
3;ANDROID;17.13.3
|
3;ANDROID;17.36.4
|
||||||
5;IOS;17.13.3
|
5;IOS;17.36.4
|
||||||
7;TVHTML5;7.20220325
|
7;TVHTML5;7.20220918
|
||||||
8;TVLITE;2
|
8;TVLITE;2
|
||||||
10;TVANDROID;1.0
|
10;TVANDROID;1.0
|
||||||
13;XBOXONEGUIDE;1.0
|
13;XBOXONEGUIDE;1.0
|
||||||
14;ANDROID_CREATOR;22.14
|
14;ANDROID_CREATOR;22.36.102
|
||||||
15;IOS_CREATOR;22.14
|
15;IOS_CREATOR;22.36.102
|
||||||
16;TVAPPLE;1.0
|
16;TVAPPLE;1.0
|
||||||
18;ANDROID_KIDS;7.12.3
|
18;ANDROID_KIDS;7.36.1
|
||||||
19;IOS_KIDS;7.12.3
|
19;IOS_KIDS;7.36.1
|
||||||
21;ANDROID_MUSIC;5.01
|
21;ANDROID_MUSIC;5.26.1
|
||||||
23;ANDROID_TV;2.16.032
|
23;ANDROID_TV;2.19.1.303051424
|
||||||
26;IOS_MUSIC;5.01
|
26;IOS_MUSIC;5.26.1
|
||||||
27;MWEB_TIER_2;9.20220325
|
27;MWEB_TIER_2;9.20220918
|
||||||
28;ANDROID_VR;1.28.63
|
28;ANDROID_VR;1.37
|
||||||
29;ANDROID_UNPLUGGED;6.13
|
29;ANDROID_UNPLUGGED;6.36
|
||||||
30;ANDROID_TESTSUITE;1.9
|
30;ANDROID_TESTSUITE;1.9
|
||||||
31;WEB_MUSIC_ANALYTICS;0.2
|
31;WEB_MUSIC_ANALYTICS;0.2
|
||||||
33;IOS_UNPLUGGED;6.13
|
33;IOS_UNPLUGGED;6.36
|
||||||
38;ANDROID_LITE;3.26.1
|
38;ANDROID_LITE;3.26.1
|
||||||
39;IOS_EMBEDDED_PLAYER;2.3
|
39;IOS_EMBEDDED_PLAYER;2.4
|
||||||
41;WEB_UNPLUGGED;1.20220403
|
41;WEB_UNPLUGGED;1.20220918
|
||||||
42;WEB_EXPERIMENTS;1
|
42;WEB_EXPERIMENTS;1
|
||||||
43;TVHTML5_CAST;1.1
|
43;TVHTML5_CAST;1.1
|
||||||
55;ANDROID_EMBEDDED_PLAYER;17.13.3
|
55;ANDROID_EMBEDDED_PLAYER;17.36.4
|
||||||
56;WEB_EMBEDDED_PLAYER;9.20220325
|
56;WEB_EMBEDDED_PLAYER;9.20220918
|
||||||
57;TVHTML5_AUDIO;2.0
|
57;TVHTML5_AUDIO;2.0
|
||||||
58;TV_UNPLUGGED_CAST;0.1
|
58;TV_UNPLUGGED_CAST;0.1
|
||||||
59;TVHTML5_KIDS;3.20220325
|
59;TVHTML5_KIDS;3.20220918
|
||||||
60;WEB_HEROES;0.1
|
60;WEB_HEROES;0.1
|
||||||
61;WEB_MUSIC;1.0
|
61;WEB_MUSIC;1.0
|
||||||
62;WEB_CREATOR;1.20220403
|
62;WEB_CREATOR;1.20220918
|
||||||
63;TV_UNPLUGGED_ANDROID;1.22.062.06.90
|
63;TV_UNPLUGGED_ANDROID;1.37
|
||||||
64;IOS_LIVE_CREATION_EXTENSION;17.13.3
|
64;IOS_LIVE_CREATION_EXTENSION;17.36.4
|
||||||
65;TVHTML5_UNPLUGGED;6.13
|
65;TVHTML5_UNPLUGGED;6.36
|
||||||
66;IOS_MESSAGES_EXTENSION;17.13.3
|
66;IOS_MESSAGES_EXTENSION;17.36.4
|
||||||
67;WEB_REMIX;1.20220403
|
67;WEB_REMIX;1.20220918
|
||||||
68;IOS_UPTIME;1.0
|
68;IOS_UPTIME;1.0
|
||||||
69;WEB_UNPLUGGED_ONBOARDING;0.1
|
69;WEB_UNPLUGGED_ONBOARDING;0.1
|
||||||
70;WEB_UNPLUGGED_OPS;0.1
|
70;WEB_UNPLUGGED_OPS;0.1
|
||||||
71;WEB_UNPLUGGED_PUBLIC;0.1
|
71;WEB_UNPLUGGED_PUBLIC;0.1
|
||||||
72;TVHTML5_VR;0.1
|
72;TVHTML5_VR;0.1
|
||||||
74;ANDROID_TV_KIDS;1.16.80
|
74;ANDROID_TV_KIDS;1.19.1
|
||||||
75;TVHTML5_SIMPLY;1.0
|
75;TVHTML5_SIMPLY;1.0
|
||||||
76;WEB_KIDS;2.20220405
|
76;WEB_KIDS;2.20220918
|
||||||
77;MUSIC_INTEGRATIONS;0.1
|
77;MUSIC_INTEGRATIONS;0.1
|
||||||
80;TVHTML5_YONGLE;0.1
|
80;TVHTML5_YONGLE;0.1
|
||||||
84;GOOGLE_ASSISTANT;0.1
|
84;GOOGLE_ASSISTANT;0.1
|
||||||
85;TVHTML5_SIMPLY_EMBEDDED_PLAYER;2.0
|
85;TVHTML5_SIMPLY_EMBEDDED_PLAYER;2.0
|
||||||
87;WEB_INTERNAL_ANALYTICS;0.1
|
87;WEB_INTERNAL_ANALYTICS;0.1
|
||||||
88;WEB_PARENT_TOOLS;1.20220403
|
88;WEB_PARENT_TOOLS;1.20220918
|
||||||
89;GOOGLE_MEDIA_ACTIONS;0.1
|
89;GOOGLE_MEDIA_ACTIONS;0.1
|
||||||
90;WEB_PHONE_VERIFICATION;1.0.0
|
90;WEB_PHONE_VERIFICATION;1.0.0
|
||||||
92;IOS_PRODUCER;0.1
|
92;IOS_PRODUCER;0.1
|
||||||
93;TVHTML5_FOR_KIDS;7.20220325
|
93;TVHTML5_FOR_KIDS;7.20220918
|
||||||
|
94;GOOGLE_LIST_RECS;0.1
|
||||||
|
95;MEDIA_CONNECT_FRONTEND;0.1
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
2.20220405
|
2.20220918
|
||||||
17.13.3
|
17.36.4
|
||||||
7.20220325
|
7.20220918
|
||||||
2
|
2
|
||||||
1.0
|
1.0
|
||||||
22.14
|
22.36.102
|
||||||
7.12.3
|
7.36.1
|
||||||
5.01
|
5.26.1
|
||||||
2.16.032
|
2.19.1.303051424
|
||||||
9.20220325
|
9.20220918
|
||||||
1.28.63
|
1.37
|
||||||
6.13
|
6.36
|
||||||
1.9
|
1.9
|
||||||
0.2
|
0.2
|
||||||
3.26.1
|
3.26.1
|
||||||
2.3
|
2.4
|
||||||
1.20220403
|
1.20220918
|
||||||
1
|
1
|
||||||
1.1
|
1.1
|
||||||
2.0
|
2.0
|
||||||
0.1
|
0.1
|
||||||
3.20220325
|
3.20220918
|
||||||
1.22.062.06.90
|
1.19.1
|
||||||
1.16.80
|
|
||||||
1.0.0
|
1.0.0
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
# YouTube-Internal-Clients
|
|
||||||
|
|
||||||
A script that discovers hidden internal clients of the YouTube (Innertube) API using bruteforce methods. The script tries `clientNames` with a sequential ID enumeration and crosses them with known `clientVersions`.
|
|
||||||
The goal was to find a client that has no age restrictions implemented. With success.
|
|
||||||
|
|
||||||
## Contributors
|
|
||||||
- [@MinePlayersPE](https://github.com/MinePlayersPE) - Mapped some version numbers in a [Gist](https://gist.github.com/MinePlayersPE/9875f2051c2dfdeb090543b8c6a9f7e6), which helped a lot
|
|
||||||
- [@89z](https://github.com/89z) - Helped to find some missing clients and version numbers
|
|
||||||
|
|
||||||
## Results
|
|
||||||
|
|
||||||
The script has found the following working clients tested on [this](https://www.youtube.com/watch?v=%videoId%) video:
|
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
# YouTube-Internal-Clients
|
||||||
|
|
||||||
|
A script that discovers hidden internal clients of the YouTube (Innertube) API using bruteforce methods. The script tries `clientNames` with a sequential ID enumeration and crosses them with known `clientVersions`.
|
||||||
|
The goal was to find a client that has no age restrictions implemented. With success.
|
||||||
|
|
||||||
|
- [Clients](#clients)
|
||||||
|
- [Example Request](#example-request)
|
||||||
|
- [Params](#params)
|
||||||
|
- [API Keys](#api-keys)
|
||||||
|
- [Contributors](#contributors)
|
||||||
|
|
||||||
|
## Clients
|
||||||
|
|
||||||
|
The script has found the following working clients:
|
||||||
|
|
||||||
|
%table%
|
||||||
|
|
||||||
|
## Example Request
|
||||||
|
```http
|
||||||
|
POST /youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8 HTTP/2
|
||||||
|
Host: www.youtube.com
|
||||||
|
Content-Type: application/json
|
||||||
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42
|
||||||
|
Accept: */*
|
||||||
|
Origin: https://www.youtube.com
|
||||||
|
Referer: https://www.youtube.com/
|
||||||
|
Accept-Encoding: gzip, deflate
|
||||||
|
Accept-Language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
|
||||||
|
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"client": {
|
||||||
|
"hl": "en",
|
||||||
|
"gl": "US",
|
||||||
|
"clientName": "WEB",
|
||||||
|
"clientVersion": "2.20220916.00.00",
|
||||||
|
"clientScreen": "WATCH",
|
||||||
|
"androidSdkVersion": 31
|
||||||
|
},
|
||||||
|
"thirdParty": {
|
||||||
|
"embedUrl": "https://www.youtube.com/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"videoId": "yvyAQiiKIN8",
|
||||||
|
"playbackContext": {
|
||||||
|
"contentPlaybackContext": {
|
||||||
|
"signatureTimestamp": 19250
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"racyCheckOk": true,
|
||||||
|
"contentCheckOk": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Params
|
||||||
|
| Param | Description |
|
||||||
|
|-------------|-------------|
|
||||||
|
| `embedUrl` | Required for some videos when using an embedded client. e.g. `WEB_EMBEDDED_PLAYER` |
|
||||||
|
| `signatureTimestamp` | Required for web-based clients for videos with copyright claims (Stream URLs must be deciphered)
|
||||||
|
| `racyCheckOk`, `contentCheckOk` | Skips content warnings.
|
||||||
|
| `androidSdkVersion` | Partially required for Android clients. A corresponding user agent must also be set. (e.g. `com.google.android.youtube/17.10.35 (Linux; U; Android 12; GB) gzip`) (see [issue](https://github.com/zerodytrash/YouTube-Internal-Clients/issues/3))
|
||||||
|
|
||||||
|
## API Keys
|
||||||
|
| Name | Key |
|
||||||
|
|---------------------------|-------------------------------------------|
|
||||||
|
| YouTube Web | `AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8` |
|
||||||
|
| YouTube Web Kids | `AIzaSyBbZV_fZ3an51sF-mvs5w37OqqbsTOzwtU` |
|
||||||
|
| YouTube Web Music | `AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30` |
|
||||||
|
| YouTube Web Creator | `AIzaSyBUPetSUmoZL-OhlxA7wSac5XinrygCqMo` |
|
||||||
|
| YouTube Android | `AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w` |
|
||||||
|
| YouTube Android Music | `AIzaSyAOghZGza2MQSZkY_zfZ370N-PUdXEo8AI` |
|
||||||
|
| YouTube Android Embedded | `AIzaSyCjc_pVEDi4qsv5MtC2dMXzpIaDoRFLsxw` |
|
||||||
|
| YouTube Android Creator | `AIzaSyD_qjV8zaaUMehtLkrKFgVeSX_Iqbtyws8` |
|
||||||
|
| YouTube IOS | `AIzaSyB-63vPrdThhKuerbB2N_l7Kwwcxj6yUAc` |
|
||||||
|
| YouTube IOS Music | `AIzaSyBAETezhkwP0ZWA02RsqT1zu78Fpt0bC_s` |
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
- [@MinePlayersPE](https://github.com/MinePlayersPE) - Mapped some version numbers in a [Gist](https://gist.github.com/MinePlayersPE/9875f2051c2dfdeb090543b8c6a9f7e6), which helped a lot
|
||||||
|
- [@89z](https://github.com/89z) - Helped to find some missing clients and version numbers
|
Loading…
Reference in New Issue