Added docs on how to enable bgutil ytdlp pot provider

This commit is contained in:
arabcoders 2025-08-09 18:10:58 +03:00
parent 21accb012d
commit ec72c76b9c
5 changed files with 53 additions and 15 deletions

View file

@ -19,6 +19,8 @@
"arrowless",
"attl",
"autonumber",
"bgutil",
"brainicism",
"brotlicffi",
"consoletitle",
"cookiesfrombrowser",

38
FAQ.md
View file

@ -46,6 +46,44 @@ You can force specific version of `yt-dlp` by setting the `YTP_YTDLP_VERSION` en
```env
YTP_YTDLP_VERSION=2025.07.21 or master or nightly
```
Then restart the container to apply the changes.
# How to generate POT tokens?
You need to start up a pot provider server we already have extractor `bgutil-ytdlp-pot-provider` pre-installed in the container.
You can simply do the following to enable the support for it.
```yaml
services:
ytptube:
user: "${UID:-1000}:${UID:-1000}" # change this to your user id and group id, for example: "1000:1000"
image: ghcr.io/arabcoders/ytptube:latest
container_name: ytptube
restart: unless-stopped
ports:
- "8081:8081"
volumes:
- ./config:/config:rw
- ./downloads:/downloads:rw
tmpfs:
- /tmp
depends_on:
- bgutil_provider
bgutil_provider:
init: true
image: brainicism/bgutil-ytdlp-pot-provider:latest
container_name: bgutil_provider
restart: unless-stopped
ports:
- "127.0.0.1:4416:4416"
```
Then simply create a new preset, and in the `Command options for yt-dlp` field set the following:
```bash
--extractor-args "youtubepot-bgutilhttp:base_url=http://bgutil_provider:4416;disable_innertube=1"
--extractor-args "youtube:player-client=default,tv,mweb;formats=incomplete"
```
For more information please visit [bgutil-ytdlp-pot-provider](https://github.com/Brainicism/bgutil-ytdlp-pot-provider) project.

View file

@ -167,7 +167,7 @@ postprocessing, permissions, other `yt-dlp options` configurations which seem no
concerns the workings of the underlying yt-dlp library, need not be opened on the YTPTube project.
In order to debug and troubleshoot them, it's advised to try using the yt-dlp binary directly first, bypassing the UI,
and once that is working, importing the options that worked for you into a new `preset` or `ytdlp.cli` file.
and once that is working, importing the options that worked for you into a new `preset`.
## Via HTTP
@ -186,20 +186,6 @@ yt-dlp ....
Once there, you can use the yt-dlp command freely.
# ytdlp.cli file
The `config/ytdlp.cli`, is a command line options file for `yt-dlp` it will be globally applied to all downloads.
We strongly recommend not use this file for options that aren't **truly global**, everything that can be done via the
file can also be done via the presets which is dynamic can be altered per download. Example of good global options
are to be used for all downloads are:
```bash
--continue --windows-filenames --live-from-start
```
Everything else can be done via the presets, and it's more flexible and easier to manage.
# Authentication
To enable basic authentication, set the `YTP_AUTH_USERNAME` and `YTP_AUTH_PASSWORD` environment variables. And restart

View file

@ -38,6 +38,7 @@ dependencies = [
"defusedxml>=0.7.1",
"zipstream-ng>=1.8.0",
"apprise>=1.9.3",
"bgutil-ytdlp-pot-provider>=1.2.1",
]
[tool.ruff]

11
uv.lock
View file

@ -164,6 +164,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 },
]
[[package]]
name = "bgutil-ytdlp-pot-provider"
version = "1.2.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/a7/3f/62fc3c3668a0518cc6a0dab159362bf2c213c0baf7631d15899a98b83176/bgutil_ytdlp_pot_provider-1.2.1.tar.gz", hash = "sha256:771173df631451046c982dcac27482cc89b300ce0aedc487043f80e45774b9f6", size = 8889 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/6f/37/c66e32bdb34b84581b8a794bdc86775b1161208f915f103e39bd1ad665d3/bgutil_ytdlp_pot_provider-1.2.1-py3-none-any.whl", hash = "sha256:ddf9fee9857fb64c7fdfb4db96db81ca5864a6004fff5549a2043693776184ef", size = 9473 },
]
[[package]]
name = "bidict"
version = "0.23.1"
@ -1575,6 +1584,7 @@ dependencies = [
{ name = "anyio" },
{ name = "apprise" },
{ name = "async-timeout" },
{ name = "bgutil-ytdlp-pot-provider" },
{ name = "brotli" },
{ name = "brotlicffi" },
{ name = "caribou" },
@ -1615,6 +1625,7 @@ requires-dist = [
{ name = "anyio" },
{ name = "apprise", specifier = ">=1.9.3" },
{ name = "async-timeout" },
{ name = "bgutil-ytdlp-pot-provider", specifier = ">=1.2.1" },
{ name = "brotli" },
{ name = "brotlicffi" },
{ name = "caribou", specifier = ">=0.3.0" },