]> jfr.im git - yt-dlp.git/commitdiff
[ie/youtube] Fix consent cookie (#7774)
authorcoletdjnz <redacted>
Sat, 12 Aug 2023 04:26:08 +0000 (16:26 +1200)
committerGitHub <redacted>
Sat, 12 Aug 2023 04:26:08 +0000 (04:26 +0000)
Fixes #7594

Authored by: coletdjnz

yt_dlp/extractor/youtube.py

index 1e16631b184d0e49be29df0ad71c75008cec587e..023d8fd8c162e2d56aa154776712210942c76183 100644 (file)
@@ -496,16 +496,10 @@ def _initialize_consent(self):
         cookies = self._get_cookies('https://www.youtube.com/')
         if cookies.get('__Secure-3PSID'):
             return
-        consent_id = None
-        consent = cookies.get('CONSENT')
-        if consent:
-            if 'YES' in consent.value:
-                return
-            consent_id = self._search_regex(
-                r'PENDING\+(\d+)', consent.value, 'consent', default=None)
-        if not consent_id:
-            consent_id = random.randint(100, 999)
-        self._set_cookie('.youtube.com', 'CONSENT', 'YES+cb.20210328-17-p0.en+FX+%s' % consent_id)
+        socs = cookies.get('SOCS')
+        if socs and not socs.value.startswith('CAA'):  # not consented
+            return
+        self._set_cookie('.youtube.com', 'SOCS', 'CAI', secure=True)  # accept all (required for mixes)
 
     def _initialize_pref(self):
         cookies = self._get_cookies('https://www.youtube.com/')