Pre-built binaries¶
Prerequisites¶
While ypb itself is lightweight, it relies on yt-dlp:
-
yt-dlp: For video info extraction and downloading. Nightly builds are recommended. If you use binaries, update with:
yt-dlp --update-to nightly. -
FFmpeg (optional): For muxing downloads with
ypb download
Additional dependencies¶
The following dependencies are optional, but strongly recommended in practice:
-
External JavaScript runtime: Required for full YouTube support
-
Proof-of-Origin (PO) token provider plugin: Required to avoid HTTP 403 errors
Install from binaries¶
Pre-built binaries for different platforms are available on the GitHub latest release page:
Latest release v2026.8.29
Linux/macOS¶
Download the binary for your operating system using the links above, and place
it to a directory that is in your PATH. Make the binary executable with chmod
+x.
Once installed, verify the installation:
Windows¶
Download the binary using the links above, and extract it to a permanent
location such as C:\Program Files\ypb\. Add this directory to your system
PATH via Environment Variables settings to make the binary accessible from any
location in PowerShell.
Setup¶
While optional, the setup steps below are strongly recommended.
Update yt-dlp to nightly¶
YouTube changes frequently, and the stable yt-dlp release can be outdated. Switch to the nightly build, which is updated daily:
Check the result with yt-dlp --version.
Configure yt-dlp¶
Ypb relies on yt-dlp for specific tasks like fetching video information and downloading. Because of that, your yt-dlp configuration file also apply to ypb: you can set the formats, cookies (see below), and other options there as usual.
Sign in with cookies¶
Some streams respond with a “Sign in to confirm you’re not a bot” error unless you provide cookies. Export your YouTube cookies from a logged-in browser (see yt-dlp’s instructions), then add a line to your yt-dlp configuration file:
Install a JavaScript runtime¶
If yt-dlp cannot find a JavaScript runtime, you will see this warning:
WARNING: [youtube] No supported JavaScript runtime could be found. Only deno is
enabled by default; to use another runtime add --js-runtimes RUNTIME[:PATH] to
your command/config. YouTube extraction without a JS runtime has been
deprecated, and some formats may be missing. See
https://github.com/yt-dlp/yt-dlp/wiki/EJS for details on installing one
Install Deno (version 2.0 or later). If it is not detected
automatically, point yt-dlp at it:
See the EJS wiki for other supported runtimes.
Avoid HTTP 403 errors with a PO token provider¶
During downloads you may see transient HTTP 403 errors, caused by YouTube’s bot verification. yt-dlp works around them with a Proof-of-Origin (PO) token provider plugin:
- Install the bgutil-ytdlp-pot-provider plugin.
- Run the provider’s HTTP server, which listens on
http://127.0.0.1:4416by default.
With the default address, no further configuration is needed. If you run the server elsewhere, point yt-dlp at it:
See yt-dlp’s PO Token Guide for details.
Install from source¶
If you have Go installed, you can build ypb from source:
This is not recommended unless you need a development version.