commit 0e2fe54

hovercats  ·  2025-01-21 19:20:34 +0000 UTC
parent 6facdaa
yt-dlp: 2025.01.15
5 files changed,  +33, -26
+21, -17
 1@@ -1,35 +1,37 @@
 2-From ea17e99abef87281349a284e0de199fe9a68e3a9 Mon Sep 17 00:00:00 2001
 3+From 70305dd4c49d7df8335d3de2428765405df4b1ea Mon Sep 17 00:00:00 2001
 4 From: Michael Forney <mforney@mforney.org>
 5 Date: Mon, 4 Jul 2016 16:14:18 -0700
 6 Subject: [PATCH] Disable use of ctypes and dynamic loading
 7 
 8 ---
 9- yt_dlp/cookies.py      | 102 -----------------------------------------
10- yt_dlp/utils/_utils.py |  85 +---------------------------------
11- 2 files changed, 2 insertions(+), 185 deletions(-)
12+ yt_dlp/cookies.py      | 106 -----------------------------------------
13+ yt_dlp/utils/_utils.py |  85 +--------------------------------
14+ 2 files changed, 2 insertions(+), 189 deletions(-)
15 
16 diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py
17-index 4a69c57..66b07f3 100644
18+index fad323c..e2105c0 100644
19 --- a/yt_dlp/cookies.py
20 +++ b/yt_dlp/cookies.py
21-@@ -408,8 +408,6 @@ class ChromeCookieDecryptor:
22- def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None):
23+@@ -416,8 +416,6 @@ class ChromeCookieDecryptor:
24+ def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None, meta_version=None):
25      if sys.platform == 'darwin':
26-         return MacChromeCookieDecryptor(browser_keyring_name, logger)
27+         return MacChromeCookieDecryptor(browser_keyring_name, logger, meta_version=meta_version)
28 -    elif sys.platform in ('win32', 'cygwin'):
29--        return WindowsChromeCookieDecryptor(browser_root, logger)
30-     return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring)
31+-        return WindowsChromeCookieDecryptor(browser_root, logger, meta_version=meta_version)
32+     return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring, meta_version=meta_version)
33  
34  
35-@@ -496,43 +494,6 @@ class MacChromeCookieDecryptor(ChromeCookieDecryptor):
36+@@ -510,47 +508,6 @@ class MacChromeCookieDecryptor(ChromeCookieDecryptor):
37+             # https://chromium.googlesource.com/chromium/src/+/refs/heads/main/components/os_crypt/sync/os_crypt_mac.mm
38              return encrypted_value
39  
40- 
41+-
42 -class WindowsChromeCookieDecryptor(ChromeCookieDecryptor):
43--    def __init__(self, browser_root, logger):
44+-    def __init__(self, browser_root, logger, meta_version=None):
45 -        self._logger = logger
46 -        self._v10_key = _get_windows_v10_key(browser_root, logger)
47 -        self._cookie_counts = {'v10': 0, 'other': 0}
48+-        self._meta_version = meta_version or 0
49 -
50 -    def decrypt(self, encrypted_value):
51 -        version = encrypted_value[:3]
52@@ -53,7 +55,9 @@ index 4a69c57..66b07f3 100644
53 -            ciphertext = raw_ciphertext[nonce_length:-authentication_tag_length]
54 -            authentication_tag = raw_ciphertext[-authentication_tag_length:]
55 -
56--            return _decrypt_aes_gcm(ciphertext, self._v10_key, nonce, authentication_tag, self._logger)
57+-            return _decrypt_aes_gcm(
58+-                ciphertext, self._v10_key, nonce, authentication_tag, self._logger,
59+-                hash_prefix=self._meta_version >= 24)
60 -
61 -        else:
62 -            self._cookie_counts['other'] += 1
63@@ -65,7 +69,7 @@ index 4a69c57..66b07f3 100644
64  def _extract_safari_cookies(profile, logger):
65      if sys.platform != 'darwin':
66          raise ValueError(f'unsupported platform: {sys.platform}')
67-@@ -979,33 +940,6 @@ def _get_mac_keyring_password(browser_keyring_name, logger):
68+@@ -997,33 +954,6 @@ def _get_mac_keyring_password(browser_keyring_name, logger):
69          return None
70  
71  
72@@ -99,7 +103,7 @@ index 4a69c57..66b07f3 100644
73  def pbkdf2_sha1(password, salt, iterations, key_length):
74      return hashlib.pbkdf2_hmac('sha1', password, salt, iterations, key_length)
75  
76-@@ -1034,42 +968,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger):
77+@@ -1056,42 +986,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger, hash_pr
78          logger.warning('failed to decrypt cookie (AES-GCM) because UTF-8 decoding failed. Possibly the key is wrong?', only_once=True)
79          return None
80  
81@@ -143,7 +147,7 @@ index 4a69c57..66b07f3 100644
82      return os.environ.get('XDG_CONFIG_HOME', os.path.expanduser('~/.config'))
83  
84 diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py
85-index ea74889..bce349e 100644
86+index 699bf1e..7106680 100644
87 --- a/yt_dlp/utils/_utils.py
88 +++ b/yt_dlp/utils/_utils.py
89 @@ -1506,64 +1506,7 @@ class LockingUnsupportedError(OSError):
+9, -6
  1@@ -10,7 +10,6 @@ yt_dlp/compat/__init__.py
  2 yt_dlp/compat/_deprecated.py
  3 yt_dlp/compat/_legacy.py
  4 yt_dlp/compat/compat_utils.py
  5-yt_dlp/compat/functools.py
  6 yt_dlp/compat/imghdr.py
  7 yt_dlp/compat/shutil.py
  8 yt_dlp/compat/types.py
  9@@ -105,6 +104,7 @@ yt_dlp/extractor/baidu.py
 10 yt_dlp/extractor/banbye.py
 11 yt_dlp/extractor/bandaichannel.py
 12 yt_dlp/extractor/bandcamp.py
 13+yt_dlp/extractor/bandlab.py
 14 yt_dlp/extractor/bannedvideo.py
 15 yt_dlp/extractor/bbc.py
 16 yt_dlp/extractor/beacon.py
 17@@ -129,6 +129,7 @@ yt_dlp/extractor/bleacherreport.py
 18 yt_dlp/extractor/blerp.py
 19 yt_dlp/extractor/blogger.py
 20 yt_dlp/extractor/bloomberg.py
 21+yt_dlp/extractor/bluesky.py
 22 yt_dlp/extractor/bokecc.py
 23 yt_dlp/extractor/bongacams.py
 24 yt_dlp/extractor/boosty.py
 25@@ -250,6 +251,7 @@ yt_dlp/extractor/dreisat.py
 26 yt_dlp/extractor/drooble.py
 27 yt_dlp/extractor/dropbox.py
 28 yt_dlp/extractor/dropout.py
 29+yt_dlp/extractor/drtalks.py
 30 yt_dlp/extractor/drtuber.py
 31 yt_dlp/extractor/drtv.py
 32 yt_dlp/extractor/dtube.py
 33@@ -323,6 +325,7 @@ yt_dlp/extractor/funker530.py
 34 yt_dlp/extractor/fuyintv.py
 35 yt_dlp/extractor/gab.py
 36 yt_dlp/extractor/gaia.py
 37+yt_dlp/extractor/gamedevtv.py
 38 yt_dlp/extractor/gamejolt.py
 39 yt_dlp/extractor/gamespot.py
 40 yt_dlp/extractor/gamestar.py
 41@@ -431,6 +434,7 @@ yt_dlp/extractor/kaltura.py
 42 yt_dlp/extractor/kankanews.py
 43 yt_dlp/extractor/karaoketv.py
 44 yt_dlp/extractor/kelbyone.py
 45+yt_dlp/extractor/kenh14.py
 46 yt_dlp/extractor/khanacademy.py
 47 yt_dlp/extractor/kick.py
 48 yt_dlp/extractor/kicker.py
 49@@ -513,7 +517,6 @@ yt_dlp/extractor/metacritic.py
 50 yt_dlp/extractor/mgtv.py
 51 yt_dlp/extractor/microsoftembed.py
 52 yt_dlp/extractor/microsoftstream.py
 53-yt_dlp/extractor/mildom.py
 54 yt_dlp/extractor/minds.py
 55 yt_dlp/extractor/minoto.py
 56 yt_dlp/extractor/mirrativ.py
 57@@ -647,8 +650,8 @@ yt_dlp/extractor/pgatour.py
 58 yt_dlp/extractor/philharmoniedeparis.py
 59 yt_dlp/extractor/phoenix.py
 60 yt_dlp/extractor/photobucket.py
 61+yt_dlp/extractor/pialive.py
 62 yt_dlp/extractor/piapro.py
 63-yt_dlp/extractor/piaulizaportal.py
 64 yt_dlp/extractor/picarto.py
 65 yt_dlp/extractor/piksel.py
 66 yt_dlp/extractor/pinkbike.py
 67@@ -663,10 +666,10 @@ yt_dlp/extractor/playtvak.py
 68 yt_dlp/extractor/playwire.py
 69 yt_dlp/extractor/pluralsight.py
 70 yt_dlp/extractor/plutotv.py
 71+yt_dlp/extractor/plvideo.py
 72 yt_dlp/extractor/podbayfm.py
 73 yt_dlp/extractor/podchaser.py
 74 yt_dlp/extractor/podomatic.py
 75-yt_dlp/extractor/pokemon.py
 76 yt_dlp/extractor/pokergo.py
 77 yt_dlp/extractor/polsatgo.py
 78 yt_dlp/extractor/polskieradio.py
 79@@ -699,6 +702,7 @@ yt_dlp/extractor/radiode.py
 80 yt_dlp/extractor/radiofrance.py
 81 yt_dlp/extractor/radiojavan.py
 82 yt_dlp/extractor/radiokapital.py
 83+yt_dlp/extractor/radioradicale.py
 84 yt_dlp/extractor/radiozet.py
 85 yt_dlp/extractor/radlive.py
 86 yt_dlp/extractor/rai.py
 87@@ -928,6 +932,7 @@ yt_dlp/extractor/udn.py
 88 yt_dlp/extractor/ufctv.py
 89 yt_dlp/extractor/ukcolumn.py
 90 yt_dlp/extractor/uktvplay.py
 91+yt_dlp/extractor/uliza.py
 92 yt_dlp/extractor/umg.py
 93 yt_dlp/extractor/unistra.py
 94 yt_dlp/extractor/unity.py
 95@@ -944,7 +949,6 @@ yt_dlp/extractor/utreon.py
 96 yt_dlp/extractor/varzesh3.py
 97 yt_dlp/extractor/vbox7.py
 98 yt_dlp/extractor/veo.py
 99-yt_dlp/extractor/veoh.py
100 yt_dlp/extractor/vesti.py
101 yt_dlp/extractor/vevo.py
102 yt_dlp/extractor/vgtv.py
103@@ -968,7 +972,6 @@ yt_dlp/extractor/viidea.py
104 yt_dlp/extractor/viki.py
105 yt_dlp/extractor/vimeo.py
106 yt_dlp/extractor/vimm.py
107-yt_dlp/extractor/vine.py
108 yt_dlp/extractor/viously.py
109 yt_dlp/extractor/viqeo.py
110 yt_dlp/extractor/viu.py
+1, -1
1@@ -1 +1 @@
2-54444a758dae04ce01dad914bc36e9354f2e7b8098da9729ae1f18d56b4e604c  yt-dlp.tar.gz
3+e410c5fbbc84af848a02ac985bcfae6089586c62ffa95d1ed87dadd96babac8d  yt-dlp.tar.gz
+1, -1
1@@ -1 +1 @@
2-url = "https://github.com/yt-dlp/yt-dlp/releases/download/2024.10.22/yt-dlp.tar.gz"
3+url = "https://github.com/yt-dlp/yt-dlp/releases/download/2015.01.15/yt-dlp.tar.gz"
+1, -1
1@@ -1 +1 @@
2-2024.10.22 r0
3+2025.01.15 r0