opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

A self-hosted service that handles Cloudflare browser checks
GitHub RepoImpressions2

Project Description

View on GitHub

Byparr: A Self-Hosted Service for Getting Past Cloudflare Browser Checks

You've written a scraper or an automation script, pointed it at a site, and hit the wall: a Cloudflare browser check that won't let you through. The page loads, a challenge runs, and you're left staring at a spinner or a block page. Byparr is a self-hosted service that handles that browser check for you, so your requests have a better shot at getting where they're going.

What It Does

Byparr runs as a server that you host yourself. It's designed to pass the initial browser check that Cloudflare and similar captcha providers put in front of a connection, and it exposes options for binding to a host and port, routing through a proxy, and adjusting the browser's behavior.

The configuration is handled through environment variables. You can set HOST (defaults to 0.0.0.0, or use :: for IPv6, or 127.0.0.1/localhost for local-only access) and PORT (defaults to 8191). If you need to route traffic through a proxy, you've got PROXY_SERVER in protocol://host:port format, plus PROXY_USERNAME and PROXY_PASSWORD for authentication. There's also an OWUI_API_KEY option that acts as a bearer token for the /load endpoint—it needs to match EXTERNAL_WEB_LOADER_API_KEY in Open WebUI, which tells you this is built with that integration in mind.

One of the more thoughtful options is BROWSER_LOCALE. You can set it to a BCP-47 language tag like en-US, de-DE, or fr-FR to fix the browser's language and Accept-Language header. When you leave it unset, Byparr derives the locale from the egress country—so a French proxy gets you fr-FR, keeping the browser language consistent with the exit IP.

Why It's Cool

It's honest about what it can and can't do. The README opens with a prominent warning: this software doesn't guarantee that any challenge will be bypassed. It "only greatly increases the chance." The reasoning is spelled out—while Byparr passes the initial browser check, Cloudflare and other captcha providers likely require valid network traffic originating from your public IP address to mark a connection as legitimate. That kind of upfront honesty is rare and useful. You know what you're getting before you spend time debugging.

The locale-from-egress-country behavior is a small but smart detail. If you're using a proxy, having the browser language automatically match the exit IP's country avoids a mismatch that could look suspicious. And if you want to override it, you can—the BROWSER_LOCALE variable takes a standard BCP-47 tag, with links to the IANA registry and a friendlier ISO 639-1 list in the docs.

It plays well with existing tools. The OWUI_API_KEY option and its correspondence to Open WebUI's EXTERNAL_WEB_LOADER_API_KEY suggests this is meant to slot into a larger stack rather than stand alone. If you're running Open WebUI, the wiring is already there.

Proxy support is first-class, not an afterthought. You get PROXY_SERVER, PROXY_USERNAME, and PROXY_PASSWORD as separate variables, so authenticated proxies are straightforward to configure. The README also mentions a partnership with a proxy service called ProxyBase, with an affiliate code (byparr) and a note about pricing ($0.69/GB with occasional promotions at the time of writing). It's an affiliate arrangement, and the README says so plainly, but the underlying point—that proxies can significantly improve success rates—is a real one for this kind of tool.

How to Try It

Byparr is self-hosted and configured entirely through environment variables, so getting started is mostly about deciding how you want to run it and what options to set.

  1. Head to the repository and check the tags: v*.*.* and latest are considered stable releases, main is the latest from the main branch (untested), and pr-{number} tags exist for pull requests.

  2. Decide on your configuration. At minimum, you'll probably want to set HOST and PORT if the defaults (0.0.0.0 and 8191) don't suit your setup.

  3. If you're routing through a proxy, set PROXY_SERVER in protocol://host:port format, plus PROXY_USERNAME and PROXY_PASSWORD if the proxy needs auth.

  4. If you're integrating with Open WebUI, set OWUI_API_KEY to match your EXTERNAL_WEB_LOADER_API_KEY.

  5. If you want to pin the browser language—or you're not using a proxy and want to be explicit—set BROWSER_LOCALE to a tag like en-US or de-DE.

You can find the full details and any additional setup instructions at github.com/thephaseless/byparr.

Final Thoughts

Byparr is a focused tool for a specific, annoying problem. It won't magically defeat every Cloudflare challenge—the README is clear that valid traffic from your public IP is often part of the equation, and it suggests running troubleshooting steps and testing other sites before filing an issue. But if you're building scrapers, automation, or integrations that keep hitting browser checks, and you're willing to self-host and configure a proxy, this is worth a look. It's best suited for developers who already understand the constraints of anti-bot systems and want a configurable piece of infrastructure to help with the first hurdle, not a silver bullet.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: 75eeb81b-9199-4daa-b53f-45d16dc24bb9Last updated: September 17, 2026 at 02:49 AM