[ie/youtube] Implement external n/sig solver (#14157)

Closes #14404, Closes #14431, Closes #14680, Closes #14707

Authored by: bashonly, coletdjnz, seproDev, Grub4K

Co-authored-by: coletdjnz <coletdjnz@protonmail.com>
Co-authored-by: bashonly <bashonly@protonmail.com>
Co-authored-by: sepro <sepro@sepr0.com>
This commit is contained in:
Simon Sawicki 2025-10-31 23:13:04 +01:00 committed by GitHub
parent d6ee677253
commit 6224a38988
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 3387 additions and 1127 deletions

View file

@ -387,7 +387,8 @@ def _fix_embedded_ytcfg(ytcfg):
def build_innertube_clients():
BASE_CLIENTS = ('ios', 'web', 'tv', 'mweb', 'android')
# From highest to lowest priority
BASE_CLIENTS = ('tv', 'web', 'mweb', 'android', 'ios')
priority = qualities(BASE_CLIENTS[::-1])
for client, ytcfg in tuple(INNERTUBE_CLIENTS.items()):
@ -409,9 +410,6 @@ def build_innertube_clients():
if variant == 'embedded':
_fix_embedded_ytcfg(ytcfg)
ytcfg['priority'] -= 2
elif variant:
ytcfg['priority'] -= 3
build_innertube_clients()