mirror of https://github.com/yt-dlp/yt-dlp.git
[mixcloud] fallback to hardcoded decryption key(closes #18016)
This commit is contained in:
parent
305ce767d5
commit
560020da30
|
@ -161,11 +161,17 @@ class MixcloudIE(InfoExtractor):
|
||||||
stream_info = info_json['streamInfo']
|
stream_info = info_json['streamInfo']
|
||||||
formats = []
|
formats = []
|
||||||
|
|
||||||
|
def decrypt_url(f_url):
|
||||||
|
for k in (key, 'IFYOUWANTTHEARTISTSTOGETPAIDDONOTDOWNLOADFROMMIXCLOUD'):
|
||||||
|
decrypted_url = self._decrypt_xor_cipher(k, compat_b64decode(f_url))
|
||||||
|
if re.search(r'^https?://[0-9a-z.]+/[0-9A-Za-z/.?=&_-]+$', decrypted_url):
|
||||||
|
return decrypted_url
|
||||||
|
|
||||||
for url_key in ('url', 'hlsUrl', 'dashUrl'):
|
for url_key in ('url', 'hlsUrl', 'dashUrl'):
|
||||||
format_url = stream_info.get(url_key)
|
format_url = stream_info.get(url_key)
|
||||||
if not format_url:
|
if not format_url:
|
||||||
continue
|
continue
|
||||||
decrypted = self._decrypt_xor_cipher(key, compat_b64decode(format_url))
|
decrypted = decrypt_url(format_url)
|
||||||
if not decrypted:
|
if not decrypted:
|
||||||
continue
|
continue
|
||||||
if url_key == 'hlsUrl':
|
if url_key == 'hlsUrl':
|
||||||
|
|
Loading…
Reference in New Issue