Official repository: <https://github.com/grqz/yt-dlp-apple-webkit-jsi>
A pure Python yt-dlp-plugin that uses Apple WebKit to solve Youtube N/Sig, should work on most modern apple devices.
[PO Token](<https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide#youtube-po-token-guide>) 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.<TODO:MinVer>`** or above. Requires [yt-dlp/yt-dlp#14157](<https://github.com/yt-dlp/yt-dlp/pull/14157>)
## 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](<https://github.com/grqz/yt-dlp-apple-webkit-jsi/releases/latest>)
2. Find `yt-dlp-apple-webkit-jsi.zip` and download it to one of the [yt-dlp plugin locations](<https://github.com/yt-dlp/yt-dlp#installing-plugins>)
- 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](<https://github.com/yt-dlp/yt-dlp#installing-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)
Raw data
{
"_id": null,
"home_page": null,
"name": "yt-dlp-apple-webkit-jsi",
"maintainer": "grqz",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "yt-dlp, yt-dlp-jsc-provider, yt-dlp-plugin",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/35/b7/3894afaefd566beed5480da4856d940787f17cf2a4eddf6f1c04bc35c4e7/yt_dlp_apple_webkit_jsi-0.1.0.tar.gz",
"platform": null,
"description": "Official repository: <https://github.com/grqz/yt-dlp-apple-webkit-jsi>\n\nA pure Python yt-dlp-plugin that uses Apple WebKit to solve Youtube N/Sig, should work on most modern apple devices.\n\n[PO Token](<https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide#youtube-po-token-guide>) support is being considered.\n\n# Installing\n\n## Requirements\n1. Python. CPython 3.10+ and PyPy 3.11+ are supported. Other implementations and versions might or might not work.\n2. 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.\n3. yt-dlp **`2025.<TODO:MinVer>`** or above. Requires [yt-dlp/yt-dlp#14157](<https://github.com/yt-dlp/yt-dlp/pull/14157>)\n\n## Installing the plugin\n\nThe 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.\n\n**pip/pipx**\n\nIf yt-dlp is installed through `pip` or `pipx`, you can install the plugin with the following:\n\n```\npipx inject yt-dlp yt-dlp-apple-webkit-jsi\n```\nor\n\n```\npython3 -m pip install -U yt-dlp-apple-webkit-jsi\n```\n\n**Manual**\n\n1. Go to the [latest release](<https://github.com/grqz/yt-dlp-apple-webkit-jsi/releases/latest>)\n2. Find `yt-dlp-apple-webkit-jsi.zip` and download it to one of the [yt-dlp plugin locations](<https://github.com/yt-dlp/yt-dlp#installing-plugins>)\n\n - User Plugins\n - `${XDG_CONFIG_HOME}/yt-dlp/plugins`\n - `~/.yt-dlp/plugins/`\n \n - System Plugins\n - `/etc/yt-dlp/plugins/`\n - `/etc/yt-dlp-plugins/`\n \n - Executable location\n - Binary: where `<root-dir>/yt-dlp`, `<root-dir>/yt-dlp-plugins/`\n\nFor more locations and methods, see [installing yt-dlp plugins](<https://github.com/yt-dlp/yt-dlp#installing-plugins>)\n\n---\n\nIf installed correctly, you should see the provider's version in `yt-dlp -v` output (the plugin version below might not be up-to-date):\n\n [debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), jsinterp (unavailable), node (unavailable), apple-webkit-jsi-0.0.8 (external)\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"yt-dlp",
" yt-dlp-jsc-provider",
" yt-dlp-plugin"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "427a31f5fdc381d8340a81dc93314ecacc9a4a82fe2480b5a24fca982f70df85",
"md5": "5f65b0e5f617f9f009b78328763b14f5",
"sha256": "934c677e70c76cab468ca893fbf205336b573249c3fc4e604c0ae55f5ff49179"
},
"downloads": -1,
"filename": "yt_dlp_apple_webkit_jsi-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5f65b0e5f617f9f009b78328763b14f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 32778,
"upload_time": "2025-11-01T11:26:05",
"upload_time_iso_8601": "2025-11-01T11:26:05.526185Z",
"url": "https://files.pythonhosted.org/packages/42/7a/31f5fdc381d8340a81dc93314ecacc9a4a82fe2480b5a24fca982f70df85/yt_dlp_apple_webkit_jsi-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "35b73894afaefd566beed5480da4856d940787f17cf2a4eddf6f1c04bc35c4e7",
"md5": "4efacfcf376e7b69ed824e2d0b9ba0d8",
"sha256": "b38304078d7c1263c4610c82941464a6d1a6ed2934987b32dbb67674ba58a9f2"
},
"downloads": -1,
"filename": "yt_dlp_apple_webkit_jsi-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "4efacfcf376e7b69ed824e2d0b9ba0d8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 41174,
"upload_time": "2025-11-01T11:26:06",
"upload_time_iso_8601": "2025-11-01T11:26:06.904617Z",
"url": "https://files.pythonhosted.org/packages/35/b7/3894afaefd566beed5480da4856d940787f17cf2a4eddf6f1c04bc35c4e7/yt_dlp_apple_webkit_jsi-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-01 11:26:06",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "yt-dlp-apple-webkit-jsi"
}