# 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, potentially reducing bot-check and HTTP 403 errors. It is open source and self-hosted, installable on Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/784/bgutils-pot-provider

## Description

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.

## Health score

64/100 (Good), based on 3 of 4 factors.
- Maintained: 82 (last commit 7 days ago)
- Popular: 58 (830 GitHub stars)
- Easy to install: 35 (1 install platform, install notes, Docker image)

## Links

- Docker Hub: https://hub.docker.com/r/brainicism/bgutil-ytdlp-pot-provider
- Unraid: https://ca.unraid.net/apps/bgutil-provider-1btm1yv185tepf?q=Bgutil-Provider

## 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.

---
Source: Our Local Host (https://ourlocalhost.com/app/784/bgutils-pot-provider), the self-hosted and open-source app directory.
