8000
Skip to content

grqz/yt-dlp-apple-webkit-jsi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

704 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A pure Python yt-dlp-plugin that uses Apple WebKit to solve Youtube N/Sig, should work on most modern apple devices.

PO Token support is being considered.

Installing

Requirements

  1. Python. CPython 3.10+ and PyPy 3.11+ are supported. Other implementations and versions might or might not work.
  2. A device with Apple's operating system. This plugin should work on iOS/iPadOS 14.0+, and MacOS 11.0+, on x86_64 or arm64. Other apple's operating systems might or might not work.
  3. yt-dlp 2025.11.12 or above.

Installing the plugin

The master branch is for development. It's not recommended to install from master. A new release is published on GitHub and PyPI when a new feature or fix is added.

pip/pipx

If yt-dlp is installed through pip or pipx, you can install the plugin with the following:

pipx inject yt-dlp yt-dlp-apple-webkit-jsi

or

python3 -m pip install -U yt-dlp-apple-webkit-jsi

Manual

  1. Go to the latest release

  2. Find yt-dlp-apple-webkit-jsi.zip and download it to one of the yt-dlp plugin locations

    • User Plugins

      • ${XDG_CONFIG_HOME}/yt-dlp/plugins
      • ~/.yt-dlp/plugins/
    • System Plugins

      • /etc/yt-dlp/plugins/
      • /etc/yt-dlp-plugins/
    • Executable location

      • Binary: where <root-dir>/yt-dlp, <root-dir>/yt-dlp-plugins/

For more locations and methods, see installing yt-dlp plugins


If installed correctly, you should see the provider's version in yt-dlp -v output (the plugin version below might not be up-to-date):

[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), jsinterp (unavailable), node (unavailable), apple-webkit-jsi-0.0.8 (external)
0