|
|
|
@ -6,12 +6,25 @@ from yt_dlp.cookies import (
|
|
|
|
|
LinuxChromeCookieDecryptor,
|
|
|
|
|
MacChromeCookieDecryptor,
|
|
|
|
|
WindowsChromeCookieDecryptor,
|
|
|
|
|
YDLLogger,
|
|
|
|
|
parse_safari_cookies,
|
|
|
|
|
pbkdf2_sha1,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Logger:
|
|
|
|
|
def debug(self, message):
|
|
|
|
|
print(f'[verbose] {message}')
|
|
|
|
|
|
|
|
|
|
def info(self, message):
|
|
|
|
|
print(message)
|
|
|
|
|
|
|
|
|
|
def warning(self, message, only_once=False):
|
|
|
|
|
self.error(message)
|
|
|
|
|
|
|
|
|
|
def error(self, message):
|
|
|
|
|
raise Exception(message)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MonkeyPatch:
|
|
|
|
|
def __init__(self, module, temporary_values):
|
|
|
|
|
self._module = module
|
|
|
|
@ -41,7 +54,7 @@ class TestCookies(unittest.TestCase):
|
|
|
|
|
with MonkeyPatch(cookies, {'_get_linux_keyring_password': lambda *args, **kwargs: b''}):
|
|
|
|
|
encrypted_value = b'v10\xccW%\xcd\xe6\xe6\x9fM" \xa7\xb0\xca\xe4\x07\xd6'
|
|
|
|
|
value = 'USD'
|
|
|
|
|
decryptor = LinuxChromeCookieDecryptor('Chrome', YDLLogger())
|
|
|
|
|
decryptor = LinuxChromeCookieDecryptor('Chrome', Logger())
|
|
|
|
|
self.assertEqual(decryptor.decrypt(encrypted_value), value)
|
|
|
|
|
|
|
|
|
|
def test_chrome_cookie_decryptor_linux_v11(self):
|
|
|
|
@ -49,7 +62,7 @@ class TestCookies(unittest.TestCase):
|
|
|
|
|
'KEYRING_AVAILABLE': True}):
|
|
|
|
|
encrypted_value = b'v11#\x81\x10>`w\x8f)\xc0\xb2\xc1\r\xf4\x1al\xdd\x93\xfd\xf8\xf8N\xf2\xa9\x83\xf1\xe9o\x0elVQd'
|
|
|
|
|
value = 'tz=Europe.London'
|
|
|
|
|
decryptor = LinuxChromeCookieDecryptor('Chrome', YDLLogger())
|
|
|
|
|
decryptor = LinuxChromeCookieDecryptor('Chrome', Logger())
|
|
|
|
|
self.assertEqual(decryptor.decrypt(encrypted_value), value)
|
|
|
|
|
|
|
|
|
|
def test_chrome_cookie_decryptor_windows_v10(self):
|
|
|
|
@ -58,14 +71,14 @@ class TestCookies(unittest.TestCase):
|
|
|
|
|
}):
|
|
|
|
|
encrypted_value = b'v10T\xb8\xf3\xb8\x01\xa7TtcV\xfc\x88\xb8\xb8\xef\x05\xb5\xfd\x18\xc90\x009\xab\xb1\x893\x85)\x87\xe1\xa9-\xa3\xad='
|
|
|
|
|
value = '32101439'
|
|
|
|
|
decryptor = WindowsChromeCookieDecryptor('', YDLLogger())
|
|
|
|
|
decryptor = WindowsChromeCookieDecryptor('', Logger())
|
|
|
|
|
self.assertEqual(decryptor.decrypt(encrypted_value), value)
|
|
|
|
|
|
|
|
|
|
def test_chrome_cookie_decryptor_mac_v10(self):
|
|
|
|
|
with MonkeyPatch(cookies, {'_get_mac_keyring_password': lambda *args, **kwargs: b'6eIDUdtKAacvlHwBVwvg/Q=='}):
|
|
|
|
|
encrypted_value = b'v10\xb3\xbe\xad\xa1[\x9fC\xa1\x98\xe0\x9a\x01\xd9\xcf\xbfc'
|
|
|
|
|
value = '2021-06-01-22'
|
|
|
|
|
decryptor = MacChromeCookieDecryptor('', YDLLogger())
|
|
|
|
|
decryptor = MacChromeCookieDecryptor('', Logger())
|
|
|
|
|
self.assertEqual(decryptor.decrypt(encrypted_value), value)
|
|
|
|
|
|
|
|
|
|
def test_safari_cookie_parsing(self):
|
|
|
|
|