yt-dlp
yt-dlp copied to clipboard
kick.com videos - HTTP Error 403: Forbidden
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
- [X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field
Checklist
- [X] I'm reporting that a supported site is broken
- [X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
- [X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the guidelines for opening an issue
- [X] I've read about sharing account credentials and I'm willing to share it if required
Region
Sweden
Provide a description that is worded well enough to be understood
Yt-dlp gets stuck on a 403 forbidden error on kick.com video sites. The site still works and plays in browser but I do get redirected via a cloudflare site which I'm suspecting is the problem. The website version works and plays the video without requiring login on Firefox and Chrome. I'm on the latest 2023.03.04 version of yt-dlp.
Debugging attempts: Using session cookies via --cookies cookies.txt downloaded through a browser extension does not work. Still getting a 403 error.
Forcing the user agent to be Mozilla via --user-agent "Mozilla/5.0" has no effect. Still getting a 403 error.
Grabbing the m3u8 stream from inspecting memory in browser and downloading it via yt-dlp that way works i.e:
yt-dlp https://stream.kick.com/ivs/v1/196233775518/LfDRYYsAP6oJ/2023/4/8/2/37/iddbzqX5UQuJ/media/hls/master.m3u8
Hence it seems to not be able to resolve the website.
If there is a way to resolve cloudflare I could not find it in the issue tracker and if I missed it I apologize, I don't mean to waste anyone's time. Thank you for all your hard work!
How to reproduce:
yt-dlp https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
Output including error:
[generic] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading webpage ERROR: [generic] Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
Provide verbose output that clearly demonstrates the problem
- [X] Run your yt-dlp command with -vU flag added (
yt-dlp -vU <your command line>
) - [ ] If using API, add
'verbose': True
toYoutubeDL
params instead - [X] Copy the WHOLE output (starting with
[debug] Command-line config
) and insert it below
Complete Verbose Output
yt-dlp https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e -vU
[debug] Command-line config: ['https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e', '-vU']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.11.11 [8b64402] (pip)
[debug] Python 3.9.6 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021)
[debug] exe versions: ffmpeg 2020-12-15-git-32586a42da-full_build-www.gyan.dev, ffprobe 2020-12-15-git-32586a42da-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1723 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.03.04, Current version: 2022.11.11
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/download/2023.03.04/_update_spec
ERROR: You installed yt-dlp with pip or using the wheel from PyPi; Use that to update
[debug] [generic] Extracting URL: https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[generic] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading webpage
ERROR: [generic] Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
File "c:\python39\lib\site-packages\yt_dlp\extractor\common.py", line 674, in extract
ie_result = self._real_extract(url)
File "c:\python39\lib\site-packages\yt_dlp\extractor\generic.py", line 2582, in _real_extract
full_response = self._request_webpage(url, video_id, headers={
File "c:\python39\lib\site-packages\yt_dlp\extractor\common.py", line 825, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "c:\python39\lib\site-packages\yt_dlp\extractor\common.py", line 807, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
File "c:\python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 3692, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "c:\python39\lib\urllib\request.py", line 523, in open
response = meth(req, response)
File "c:\python39\lib\urllib\request.py", line 632, in http_response
response = self.parent.error(
File "c:\python39\lib\urllib\request.py", line 561, in error
return self._call_chain(*args)
File "c:\python39\lib\urllib\request.py", line 494, in _call_chain
result = func(*args)
File "c:\python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
Follow these steps: https://github.com/yt-dlp/yt-dlp/wiki/FAQ#im-getting-http-error-403-and-the-site-has-an-open-issue-on-the-tracker-thats-labeled-cloudflare-related-what-can-i-do
Latest version: 2023.03.04, Current version: 2022.11.11 ERROR: You installed yt-dlp with pip or using the wheel from PyPi; Use that to update
The version you are using does not have the Kick extractor. Update your yt-dlp with pip and see if the problem persists. If so, post a new verbose log
Related: #6553
I'm using the windows executable, not through python.
That's not what your log says. I can't do anything to help if you're not providing a log from the latest version
That's not what your log says. I can't do anything to help if you're not providing a log from the latest version
I'm sorry but I don't know why the log says that. But I am using the windows executable. See my attached images:
I've pushed a change to the Kick extractor. Now it will continue to try to extract the video if the first request fails.
Here's what you can try:
-
With your yt-dlp win exe, run
yt-dlp --update-to nightly
-
Try
yt-dlp -v https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
-
If that fails, then try navigating to the site in your browser, and passing cookies from browser to yt-dlp:
yt-dlp -v --cookies-from-browser chrome https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
(or replacechrome
with whatever browser you visit kick.com with) -
If the above also fails, then find your browser's user-agent string (you can type "what is my user-agent" into duckduckgo or google), and try running:
yt-dlp -v --user-agent "USER_AGENT" --cookies-from-browser chrome https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
(replaceUSER_AGENT
with your actual user-agent string)
If successful, please reply with which worked for you (2, 3 or 4)
If you are still getting an error, please post the verbose log as text
-
This works.
-
This fails.
G:\YouTube-DL>yt-dlp -v https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[debug] Command-line config: ['-v', 'https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version [email protected] [0a6918a4a] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021)
[debug] exe versions: ffmpeg 2020-12-15-git-32586a42da-full_build-www.gyan.dev, ffprobe 2020-12-15-git-32586a42da-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.1
[debug] Proxy map: {}
[debug] Loaded 1791 extractors
[KickVOD] Setting up session
WARNING: [KickVOD] Unable to download webpage: HTTP Error 403: Forbidden
[debug] [KickVOD] kick.com did not set XSRF-TOKEN cookie
[KickVOD] Extracting URL: https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading API JSON
ERROR: [KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
File "yt_dlp\extractor\common.py", line 694, in extract
File "yt_dlp\extractor\kick.py", line 110, in _real_extract
File "yt_dlp\extractor\kick.py", line 27, in _call_api
File "yt_dlp\extractor\common.py", line 1048, in download_content
File "yt_dlp\extractor\common.py", line 1012, in download_handle
File "yt_dlp\extractor\common.py", line 882, in _download_webpage_handle
File "yt_dlp\extractor\common.py", line 839, in _request_webpage
File "yt_dlp\extractor\common.py", line 821, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3743, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
- This also fails. Log:
G:\YouTube-DL>yt-dlp -v --cookies-from-browser chrome https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[debug] Command-line config: ['-v', '--cookies-from-browser', 'chrome', 'https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version [email protected] [0a6918a4a] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021)
[debug] exe versions: ffmpeg 2020-12-15-git-32586a42da-full_build-www.gyan.dev, ffprobe 2020-12-15-git-32586a42da-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.1
[Cookies] Extracting cookies from chrome
[debug] Extracting cookies from: "C:\Users\Crag\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\Crag\AppData\Local\Google\Chrome\User Data\Local State"
[Cookies] Extracted 71 cookies from chrome
[debug] cookie version breakdown: {'v10': 71, 'other': 0, 'unencrypted': 0}
[debug] Proxy map: {}
[debug] Loaded 1791 extractors
[KickVOD] Setting up session
WARNING: [KickVOD] Unable to download webpage: HTTP Error 403: Forbidden
[debug] [KickVOD] kick.com did not set XSRF-TOKEN cookie
[KickVOD] Extracting URL: https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading API JSON
ERROR: [KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
File "yt_dlp\extractor\common.py", line 694, in extract
File "yt_dlp\extractor\kick.py", line 110, in _real_extract
File "yt_dlp\extractor\kick.py", line 27, in _call_api
File "yt_dlp\extractor\common.py", line 1048, in download_content
File "yt_dlp\extractor\common.py", line 1012, in download_handle
File "yt_dlp\extractor\common.py", line 882, in _download_webpage_handle
File "yt_dlp\extractor\common.py", line 839, in _request_webpage
File "yt_dlp\extractor\common.py", line 821, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3743, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
- This also fails. Log:
G:\YouTube-DL>yt-dlp -v --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0" --cookies-from-browser chrome https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[debug] Command-line config: ['-v', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0', '--cookies-from-browser', 'chrome', 'https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version [email protected] [0a6918a4a] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021)
[debug] exe versions: ffmpeg 2020-12-15-git-32586a42da-full_build-www.gyan.dev, ffprobe 2020-12-15-git-32586a42da-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.1
[Cookies] Extracting cookies from chrome
[debug] Extracting cookies from: "C:\Users\Crag\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\Crag\AppData\Local\Google\Chrome\User Data\Local State"
[Cookies] Extracted 71 cookies from chrome
[debug] cookie version breakdown: {'v10': 71, 'other': 0, 'unencrypted': 0}
[debug] Proxy map: {}
[debug] Loaded 1791 extractors
[KickVOD] Setting up session
WARNING: [KickVOD] Unable to download webpage: HTTP Error 403: Forbidden
[debug] [KickVOD] kick.com did not set XSRF-TOKEN cookie
[KickVOD] Extracting URL: https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading API JSON
ERROR: [KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
File "yt_dlp\extractor\common.py", line 694, in extract
File "yt_dlp\extractor\kick.py", line 110, in _real_extract
File "yt_dlp\extractor\kick.py", line 27, in _call_api
File "yt_dlp\extractor\common.py", line 1048, in download_content
File "yt_dlp\extractor\common.py", line 1012, in download_handle
File "yt_dlp\extractor\common.py", line 882, in _download_webpage_handle
File "yt_dlp\extractor\common.py", line 839, in _request_webpage
File "yt_dlp\extractor\common.py", line 821, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3743, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
None worked unfortunately.
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0"
Are you using firefox to browse kick.com? Then use --cookies-from-browser firefox
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0"
Are you using firefox to browse kick.com? Then use
--cookies-from-browser firefox
No luck unfortunately.
G:\YouTube-DL>yt-dlp -v --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0" --cookies-from-browser firefox https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[debug] Command-line config: ['-v', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0', '--cookies-from-browser', 'firefox', 'https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version [email protected] [0a6918a4a] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k 25 Mar 2021)
[debug] exe versions: ffmpeg 2020-12-15-git-32586a42da-full_build-www.gyan.dev, ffprobe 2020-12-15-git-32586a42da-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.1
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "C:\Users\Crag\AppData\Roaming\Mozilla\Firefox\Profiles\2h71j2pe.default-release\cookies.sqlite"
[Cookies] Extracted 136 cookies from firefox
[debug] Proxy map: {}
[debug] Loaded 1791 extractors
[KickVOD] Setting up session
WARNING: [KickVOD] Unable to download webpage: HTTP Error 403: Forbidden
[KickVOD] Extracting URL: https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
[KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Downloading API JSON
ERROR: [KickVOD] 234e331d-f8bd-4935-b72d-0ec5354a652e: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
File "yt_dlp\extractor\common.py", line 694, in extract
File "yt_dlp\extractor\kick.py", line 110, in _real_extract
File "yt_dlp\extractor\kick.py", line 27, in _call_api
File "yt_dlp\extractor\common.py", line 1048, in download_content
File "yt_dlp\extractor\common.py", line 1012, in download_handle
File "yt_dlp\extractor\common.py", line 882, in _download_webpage_handle
File "yt_dlp\extractor\common.py", line 839, in _request_webpage
File "yt_dlp\extractor\common.py", line 821, in _request_webpage
File "yt_dlp\YoutubeDL.py", line 3743, in urlopen
File "urllib\request.py", line 531, in open
File "urllib\request.py", line 640, in http_response
File "urllib\request.py", line 569, in error
File "urllib\request.py", line 502, in _call_chain
File "urllib\request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
While I still can't reproduce the 403 error myself, I am pretty sure that the problem here is cloudflare fingerprinting.
I can get a 403 if I send a curl request to https://kick.com/
with the default curl user-agent:
$ curl -f "https://kick.com/"
curl: (22) The requested URL returned error: 403
$ curl --head "https://kick.com/"
HTTP/2 403
date: Sat, 08 Apr 2023 17:11:04 GMT
content-type: text/html
cross-origin-embedder-policy: require-corp
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
permissions-policy: accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()
referrer-policy: same-origin
x-frame-options: SAMEORIGIN
cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
set-cookie: __cf_bm=Gb_aJJrlyi0gy.V5MYZdgB.uUfrEGSwU.Bt4SuTO0qI-1680973864-0-AQUOPrPVbPLGX+T9ne10ZNgmZIOtelh7HWAdHzoCIVPPSrGSGPhJqVowxxmCI8/XLaFrH4sb25CXC9G9HmJPzMI=; path=/; expires=Sat, 08-Apr-23 17:41:04 GMT; domain=.kick.com; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 7b4c209d8c5d230f-ORD
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
...and the body of the response is a captcha challenge page.
crunchyroll implements this same type of fingerprinting, and the steps I had you try were taken from the workaround I discovered when experimenting with the CR extractor back when it was broken:
https://github.com/yt-dlp/yt-dlp/pull/5294#issuecomment-1289735453
(note the same __cf_bm
cloudflare cookie being set)
Crunchyroll only shields their API with cloudflare; you can still request the front page of CR and the site will set the cookies necessary to bypass the fingerprinting and access the API with yt-dlp. I tried to do something similar with the Kick extractor, but the difference/problem is that the front page of Kick is shielded by cloudflare, too.
I'm guessing only certain IP ranges are having their requests screened, which is why some users are affected by this issue and some are not. Not sure about that, though.
Unfortunately, I don't think there is anything we can do as of right now. With yt-dlp's current capabilities, CF fingerprinting is a problem without a solution
Does yt-dlp -v --user-agent "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://kick.com/video/234e331d-f8bd-4935-b72d-0ec5354a652e
work?
(I spent 10 minutes scrolling through the Discord history to find this :trollface:)
using yt-dlp to download from kick.com fails (403) for me when using a vpn, succeeds when using home IP. web browser displays kick.com video through vpn.
some sort of fingerprinting issue.
Kick being new can afford to utilize javascript hacks to identify legit users (on low trust IPs), youtube and twitch have apps on myriad of hardware all using the same(?) API for efficiency, any such measures would end up with a lot of upset users.
@jackloomen I highly doubt this will work, but what happens if you use --geo-bypass-country XX
, where XX
is your home country's two letter code?
youtube and twitch have apps on myriad of hardware all using the same(?) API for efficiency, any such measures would end up with a lot of upset users
Youtube use different APIs on different devices. Unfortunately for them, we just need one obscure API to work with yt-dlp :trollface:
I highly doubt this will work, but what happens if you use
--geo-bypass-country XX
, whereXX
is your home country's two letter code?
Nothing happened, also i tried 3 different vpn end point in 3 different countries to the same effect of 403. they are probably discriminating against some or all vpn providers, or single out datacenters.
I'd be curious whether they're detecting VPNs, or just only 403ing some countries. What happens if you use a VPN based in your home country?
I'd be curious whether they're detecting VPNs, or just only 403ing some countries. What happens if you use a VPN based in your home country?
one of the three countries I tested was my country, the other was US and germany.
I'm not using a VPN but I'm situated in Sweden. Appreciate all ideas here but no clue how to work around Cloudflare fingerprinting if that's the problem.
does --legacy-server-connect
help with this issue?
does
--legacy-server-connect
help with this issue?
this appears to fix the issue. just re-verified that the regular approach results in 403, adding --legacy-server-connect results in successful download.
Website works but yt-dlp gets 403'd with the latest nightly.
However, you can still download the VOD by getting the master m3u8 and plugging that into yt-dlp as described in this video guide.
https://streamable.com/xbel1y
I was using yt-dlp to get the HLS url to pass it to my ffmpeg based video player. It was working last week. I tried today with a today git yt-dlp and I get the dreaded 403.
workaround for now is to add --legacy-server-connect
to your command
workaround for now is to add
--legacy-server-connect
to your command
Holy heck, thank you so much! This works
EDIT: Suddenly this stopped working as well. Hmmm darn it. 403 Errors again.
Would it be possible to set up some sort of streaming extractor for the m3u8 URLs from a real browser extension to yt-dlp? I noticed an app I tried for streaming ipad browser video to apple tv, called "Web Video Cast" does work for kick.com. I am guessing this is because the website does run in a proper browser on the ipad, so it can run all of the cloudflare crap and its able to maintain this connection
--legacy-server-connect
unfortunately stopped working.
--legacy-server-connect
unfortunately stopped working.
still works for me, your ip[|range] may be blacklisted.
still works for me, your ip[|range] may be blacklisted.
Well that's weird. I can still watch normally on the website.
Using the master.m3u8 link instead of the public URL still works perfectly for me as shown in this video.
No --legacy-server-connect
needed at all.
https://streamable.com/xbel1y
Website works but yt-dlp gets 403'd with the latest nightly.
However, you can still download the VOD by getting the master m3u8 and plugging that into yt-dlp as described in this video guide.
https://streamable.com/xbel1y
Working method, 100% recommend. Thanks
still works for me, your ip[|range] may be blacklisted.
Nobody is getting IP blacklisted. They're just not using the master.m3u8 link from the public-facing link.
Well that's weird. I can still watch normally on the website.
Out of interest, did you have to go through one of these annoying screens? They block yt-dlp :(
No --legacy-server-connect needed at all.
--legacy-server-connect
is easier imo
Nobody is getting IP blacklisted. They're just not using the master.m3u8 link from the public-facing link.
Just because it can be bypassed doesn't mean people aren't getting IP blacklisted