BgUtils POT Provider

BgUtils POT Provider is a proof-of-origin (POT) token provider HTTP server for yt-dlp that generates tokens to help YouTube downloads appear more legitimate,…

  • Other
  • Productivity
  • Tools & Utilities
BgUtils POT Provider is a proof-of-origin (POT) token provider HTTP server for yt-dlp that generates tokens to help YouTube downloads appear more legitimate, potentially reducing bot-check and HTTP 403 errors. Commonly paired with Tube Archivist, which includes a built-in integration. The service is unauthenticated by design and must remain on your local network only.

Platform availability

Available on 1 of 6 install platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)

Also on Docker Hub

Health score

64/100 Good

Maintained
82last commit 7 days ago
Popular
58830 GitHub stars
Easy to install
351 install platform, install notes, Docker image
Light to run
No data

Based on 3 of 4 factors.

How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today, links checked 9 days ago

GitHub stars
830
Open issues
26
Last commit
2026-10-02
Latest release
2.0.1
License
GPL-3.0
Activity
declining

Checked 3 days ago - source: GitHub (Brainicism/bgutil-ytdlp-pot-provider)

Resources & Compatibility

Minimum requirements: 512 MB RAM. ARM (e.g. Raspberry Pi) is supported.

Checked 10 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Install yt-dlp and the Bgutil plugin Install yt-dlp and the bgutil-ytdlp-pot-provider plugin with pip (the Python package manager), and keep the plugin and server on the same release version. If they don't match, yt-dlp may not be able to generate the POT (a YouTube anti-abuse token), so downloads or playback info can fail. source
  • Start the Bgutil HTTP server first Start the provider's local web server before using yt-dlp, and check that it says it started on a port (the numbered address it listens on) such as 4416. If the server is off or the port is blocked, yt-dlp can't ask it for the YouTube token, so downloads can fail. source
  • Give the yt-dlp user access if shared If you put the server in a shared folder or run it as a background service (a program that keeps running when you close the terminal), make sure the yt-dlp user or group can read and write that folder. Wrong permissions can make the server seem installed but stop it from working for yt-dlp. source
  • Security The token server is unauthenticated by design. Never expose it to the internet or through a reverse proxy. Accessible tokens from untrusted clients could be misused, consume resources, or potentially trigger remote code execution. Keep it on the local network only. source
  • Tube Archivist integration In Tube Archivist, set the 'PO Token Provider URL' in Application settings to the Unraid IP address and port 4416 of this container. source

Fetched today - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

Should I expose the token server to the internet or put it behind a reverse proxy?

No. Keep it on the local network only and do not expose it through a reverse proxy, because the token server is unauthenticated by design.

Do the yt-dlp plugin and provider server have to be the same version?

Yes. Keep the yt-dlp plugin and the provider server on the same release version, otherwise yt-dlp may not be able to generate the POT token and downloads can fail.

What permissions are needed when running the server as a background service?

If the server runs from a shared folder or as a background service, make sure the yt-dlp user or group can read and write that folder. Wrong permissions can make the server appear installed while yt-dlp still cannot use it.

What can cause the provider to be installed but not work for yt-dlp?

Use the exact plugin directory name bgutil-ytdlp-pot-provider rather than a -rs variant, and remove any conflicting old TypeScript plugin first. An incorrect directory name or leftover plugin can stop yt-dlp from using the provider.

Answers sourced from deepwiki.com, github.com, github.com, github.com

Community

Collected 9 days ago - public community threads