aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/yt_dlp_plugins/extractor
diff options
context:
space:
mode:
authorgarret <garret@airmail.cc>2024-03-06 06:09:53 +0000
committergarret <garret@airmail.cc>2024-03-06 06:56:53 +0000
commit49fe5c3a1cc43b593a76c886b6673d44baa665f1 (patch)
tree652347a87ecb2cb57079187e37df47e470f4602b /yt_dlp_plugins/extractor
parent48776c3632269a954b9dd1bee04d56b4dbf945ee (diff)
downloadyt-dlp-rajiko-49fe5c3a1cc43b593a76c886b6673d44baa665f1.tar.gz
yt-dlp-rajiko-49fe5c3a1cc43b593a76c886b6673d44baa665f1.tar.bz2
yt-dlp-rajiko-49fe5c3a1cc43b593a76c886b6673d44baa665f1.zip
make random info generator less hacky
also fixed a rather embarrassing bug the generated user agent was, for example: Dalvik/2.1.0 (Linux; U; Android {'sdk': '27', 'builds': ['5794017', '6107733', '6037697']};SOV36/6107733) because i put the wrong variable name in the fstring thats alright its only been sending botched identification for its entire existence(!)
Diffstat (limited to 'yt_dlp_plugins/extractor')
-rw-r--r--yt_dlp_plugins/extractor/radiko.py65
1 files changed, 18 insertions, 47 deletions
diff --git a/yt_dlp_plugins/extractor/radiko.py b/yt_dlp_plugins/extractor/radiko.py
index f1ac99a..f36ee4d 100644
--- a/yt_dlp_plugins/extractor/radiko.py
+++ b/yt_dlp_plugins/extractor/radiko.py
@@ -345,48 +345,19 @@ class _RadikoBaseIE(InfoExtractor):
# build number :https://www.androidpolice.com/android-build-number-date-calculator/
# https://source.android.com/setup/build-numbers
- _ANDROID_VERSIONS = {
- # According to https://radiko.jp/#!/info/2558, apparently - link doesnt seem to exist any more
- "7.0.0": {
- "sdk": "24",
- "builds": ["NBD92Q", "NBD92N", "NBD92G", "NBD92F", "NBD92E", "NBD92D", "NBD91Z", "NBD91Y", "NBD91X", "NBD91U", "N5D91L", "NBD91P", "NRD91K", "NRD91N", "NBD90Z", "NBD90X", "NBD90W", "NRD91D", "NRD90U", "NRD90T", "NRD90S", "NRD90R", "NRD90M"]
- },
- "7.1.0": {
- "sdk": "25",
- "builds": ["NDE63X", "NDE63V", "NDE63U", "NDE63P", "NDE63L", "NDE63H"]
- },
- "7.1.1": {
- "sdk": "25",
- "builds": ["N9F27M", "NGI77B", "N6F27M", "N4F27P", "N9F27L", "NGI55D", "N4F27O", "N8I11B", "N9F27H", "N6F27I", "N4F27K", "N9F27F", "N6F27H", "N4F27I", "N9F27C", "N6F27E", "N4F27E", "N6F27C", "N4F27B", "N6F26Y", "NOF27D", "N4F26X", "N4F26U", "N6F26U", "NUF26N", "NOF27C", "NOF27B", "N4F26T", "NMF27D", "NMF26X", "NOF26W", "NOF26V", "N6F26R", "NUF26K", "N4F26Q", "N4F26O", "N6F26Q", "N4F26M", "N4F26J", "N4F26I", "NMF26V", "NMF26U", "NMF26R", "NMF26Q", "NMF26O", "NMF26J", "NMF26H", "NMF26F"]
- },
- "7.1.2": {
- "sdk": "25",
- "builds": ["N2G48H", "NZH54D", "NKG47S", "NHG47Q", "NJH47F", "N2G48C", "NZH54B", "NKG47M", "NJH47D", "NHG47O", "N2G48B", "N2G47Z", "NJH47B", "NJH34C", "NKG47L", "NHG47N", "N2G47X", "N2G47W", "NHG47L", "N2G47T", "N2G47R", "N2G47O", "NHG47K", "N2G47J", "N2G47H", "N2G47F", "N2G47E", "N2G47D"]
- },
- "8.0.0": {
- "sdk": "26",
- "builds": ["5650811", "5796467", "5948681", "6107732", "6127070"]
- },
- "8.1.0": {
- "sdk": "27",
- "builds": ["5794017", "6107733", "6037697"]
- },
- "9.0.0": {
- "sdk": "28",
- "builds": ["5948683", "5794013", "6127072"]
- },
- "10.0.0": {
- "sdk": "29",
- "builds": ["5933585", "6969601", "7023426", "7070703"]
- },
- "11.0.0": {
- "sdk": "30",
- "builds": ["RP1A.201005.006", "RQ1A.201205.011", "RQ1A.210105.002"]
- },
- "12.0.0": {
- "sdk": "31",
- "builds": ["SD1A.210817.015.A4", "SD1A.210817.019.B1", "SD1A.210817.037", "SQ1D.220105.007"]
- }}
+ _ANDROID_VERSIONS = [
+ # According to https://radiko.jp/#!/info/2558, apparently - link doesnt seem to exist any more
+ {"version": "7.0.0", "sdk": "24", "builds": ["NBD92Q", "NBD92N", "NBD92G", "NBD92F", "NBD92E", "NBD92D", "NBD91Z", "NBD91Y", "NBD91X", "NBD91U", "N5D91L", "NBD91P", "NRD91K", "NRD91N", "NBD90Z", "NBD90X", "NBD90W", "NRD91D", "NRD90U", "NRD90T", "NRD90S", "NRD90R", "NRD90M"]},
+ {"version": "7.1.0", "sdk": "25", "builds": ["NDE63X", "NDE63V", "NDE63U", "NDE63P", "NDE63L", "NDE63H"]},
+ {"version": "7.1.1", "sdk": "25", "builds": ["N9F27M", "NGI77B", "N6F27M", "N4F27P", "N9F27L", "NGI55D", "N4F27O", "N8I11B", "N9F27H", "N6F27I", "N4F27K", "N9F27F", "N6F27H", "N4F27I", "N9F27C", "N6F27E", "N4F27E", "N6F27C", "N4F27B", "N6F26Y", "NOF27D", "N4F26X", "N4F26U", "N6F26U", "NUF26N", "NOF27C", "NOF27B", "N4F26T", "NMF27D", "NMF26X", "NOF26W", "NOF26V", "N6F26R", "NUF26K", "N4F26Q", "N4F26O", "N6F26Q", "N4F26M", "N4F26J", "N4F26I", "NMF26V", "NMF26U", "NMF26R", "NMF26Q", "NMF26O", "NMF26J", "NMF26H", "NMF26F"]},
+ {"version": "7.1.2", "sdk": "25", "builds": ["N2G48H", "NZH54D", "NKG47S", "NHG47Q", "NJH47F", "N2G48C", "NZH54B", "NKG47M", "NJH47D", "NHG47O", "N2G48B", "N2G47Z", "NJH47B", "NJH34C", "NKG47L", "NHG47N", "N2G47X", "N2G47W", "NHG47L", "N2G47T", "N2G47R", "N2G47O", "NHG47K", "N2G47J", "N2G47H", "N2G47F", "N2G47E", "N2G47D"]},
+ {"version": "8.0.0", "sdk": "26", "builds": ["5650811", "5796467", "5948681", "6107732", "6127070"]},
+ {"version": "8.1.0", "sdk": "27", "builds": ["5794017", "6107733", "6037697"]},
+ {"version": "9.0.0", "sdk": "28", "builds": ["5948683", "5794013", "6127072"]},
+ {"version": "10.0.0", "sdk": "29", "builds": ["5933585", "6969601", "7023426", "7070703"]},
+ {"version": "11.0.0", "sdk": "30", "builds": ["RP1A.201005.006", "RQ1A.201205.011", "RQ1A.210105.002"]},
+ {"version": "12.0.0", "sdk": "31", "builds": ["SD1A.210817.015.A4", "SD1A.210817.019.B1", "SD1A.210817.037", "SQ1D.220105.007"]},
+ ]
_APP_VERSIONS = ["7.5.0", "7.4.17", "7.4.16", "7.4.15", "7.4.14", "7.4.13", "7.4.12", "7.4.11", "7.4.10", "7.4.9", "7.4.8", "7.4.7", "7.4.6", "7.4.5", "7.4.4", "7.4.3", "7.4.2", "7.4.1", "7.4.0", "7.3.8", "7.3.7", "7.3.6", "7.3.1", "7.3.0", "7.2.11", "7.2.10"]
@@ -421,10 +392,10 @@ class _RadikoBaseIE(InfoExtractor):
return coords
def _generate_random_info(self):
- version_key = random.choice(list(self._ANDROID_VERSIONS.keys()))
- version = self._ANDROID_VERSIONS[version_key] # hack because random.choice didnt work how i expected it to
- sdk = version["sdk"]
- build = random.choice(version["builds"])
+ version_info = random.choice(self._ANDROID_VERSIONS)
+ android_version = version_info["version"]
+ sdk = version_info["sdk"]
+ build = random.choice(version_info["builds"])
model = random.choice(self._MODELS)
info = {
@@ -432,7 +403,7 @@ class _RadikoBaseIE(InfoExtractor):
"X-Radiko-App-Version": random.choice(self._APP_VERSIONS),
"X-Radiko-Device": f"{sdk}.{model}",
"X-Radiko-User": secrets.token_hex(16),
- "User-Agent": f"Dalvik/2.1.0 (Linux; U; Android {version};{model}/{build})",
+ "User-Agent": f"Dalvik/2.1.0 (Linux; U; Android {android_version};{model}/{build})",
}
return info