Byparr
FlareSolverr-compatible proxy server to bypass Cloudflare protection. Prowlarr uses it to reach indexers that sit behind Cloudflare.
| Image | ghcr.io/thephaseless/byparr:latest |
| Port | 8192 (container port 8191) |
| API docs | http://your-server:8192/docs |
| Config path | {BASE_DIR}/byparr/config |
| Source code | GitHub |
Resource Impact
| Performance | Medium — Headless Firefox (Camoufox) |
| Storage | Low — No persistent data (the image itself is ~2.3 GB) |
Installation
Byparr is installed automatically as a companion to Prowlarr. To add it to an existing install (for example one that still uses FlareSolverr), run:
mithrandir install byparrSetup in Prowlarr
Byparr implements the FlareSolverr API, so Prowlarr's built-in FlareSolverr indexer proxy works with it as-is.
The proxy is added for you: the setup wizard and mithrandir install byparr (when Prowlarr is installed) create a FlareSolverr-type proxy named Byparr, pointing at http://<local ip>:8192, with the tag byparr. Running it again doesn't create duplicates. The only thing left to do is to add the byparr tag to every indexer that is behind a Cloudflare challenge.
If the proxy couldn't be added automatically (the install prints a warning in that case), add it manually:
- Go to Settings → Indexers, click the "+" sign and choose
FlareSolverr. - Set the name to
Byparr, the tag tobyparrand the host tohttp://<local ip>:8192. - Click Test, then Save.
- Add the
byparrtag to every indexer that is behind a Cloudflare challenge.
Switching from FlareSolverr
Installing Byparr adds the Byparr proxy next to your existing FlareSolverr proxy, which is left untouched. Move your Cloudflare-protected indexers from the FlareSolverr proxy's tag to byparr, then delete the old proxy in Prowlarr. Once everything works, you can remove FlareSolverr with mithrandir uninstall flaresolverr.
Notes
- The generated compose file gives the container 1 GB of shared memory (
shm_size) and keeps/tmpin RAM (tmpfs), as upstream recommends. This avoids browser crashes and reduces disk wear. /cacheis not put in a tmpfs, even though upstream suggests it. The browser binary is stored in/cacheinside the image, so a tmpfs there would make Byparr download it again at every start.- Byparr only performs GET requests. It ignores FlareSolverr's
request.postcommand, so indexers that need a POST login through the proxy won't work. - Bypassing a challenge isn't guaranteed. Cloudflare also scores the reputation of your public IP.
- The
TZvalue from.envis used as a fallback timezone. Byparr otherwise derives the browser's timezone and locale from your public IP.