NoFlare - lightweight Cloudflare bypass service
Once FlareSolverr and Byparr stopped working for me, the snake convinced me write my own!
NoFlare is a small, async-first Python service that automates solving Cloudflare JavaScript challenges and Turnstile checks. It is built as a drop-in, modern alternative to projects like FlareSolverr and Byparr, using an undetected Chromium backend via nodriver and an async FastAPI HTTP API.
Why NoFlare?
- Minimal, async-first design for handling many concurrent requests.
- Designed to be a drop-in replacement for FlareSolverr/Byparr with a single HTTP endpoint.
- Packaged for PyPI and Docker for easy deployment.
Features
- Single POST
/v1endpoint that accepts a JSON payload withurlandtimeout. - Returns page HTML, cookies (including
cf_clearance/Turnstile solutions), and user-agent. - Configurable concurrency, headless mode, language, user data directory, and proxy via environment variables.
Quickstart - PyPI
-
Install from PyPI:
pip install noflare -
Run the service:
python -m noflare -
Example request with
httpie:http ://localhost:8191/v1 url="https://1337x.to"
Environment variables
See .env.example for a full list. Notable variables:
LOG_LEVEL- (default:INFO)HOST- Host (default:0.0.0.0)PORT- HTTP port (default:8191)MAX_WORKERS- Max concurrent Chromium tabs (default:4)HEADLESS-true/falseto run Chromium headless (default:false)SANDBOX-true/falseto run Chromium in Sandbox (default:falsein docker)DATA_DIR- Path to persistent user-data directory (default:~/.noflare/data)DISABLE_MEDIA- Disable loading (Images/Media) (default:false)LOCALE- Browser language/locale (default:en-US)DEBUG-true/false(default:false)
Docker
Build and run locally with Docker:
docker build -t noflare:local .
docker run --rm -p 8191:8191 \
-v /path/to/data:/data/noflare \
--env-file .env \
noflare:local
Docker Compose
Use the provided compose.yml for local development. Copy .env.example to .env and edit values before launching.
Development
-
Python 3.11+
-
Install dev deps (project uses
pyproject.toml):pip install -e .[dev]
Run with reload for development:
python -m noflare --debug
Contributing
- Contributions, PRs and issues are welcome. Please open issues for bugs or feature requests.
- Follow the repository
CODEOWNERSand maintainers' guidelines where provided.
License
MIT - see LICENSE for details.
Credits & Dependencies
- FastAPI - high-performance async API framework
- nodriver - Chromium automation backend (undetected/stealth)
- uvicorn - ASGI server
Metadata
Release files for noflare 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| noflare-1.3.1.tar.gz | 44.4 kB | Without provenance | Details for noflare-1.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| noflare-1.3.1-py3-none-any.whl | Python 3 | none | any | Details for noflare-1.3.1-py3-none-any.whl |
Total release size: 54.7 kB
Release files / noflare-1.3.1.tar.gz
| Download URL | noflare-1.3.1.tar.gz |
|---|---|
| Size | 44.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e825ca416be211861a94726ece01cd1f3ab1a93291cd0fc4ea902e527385696
|
|
BLAKE2b-256 checksum How to use checksums |
3dc81f62840f7fc0585e4ca48b20ff6e364284e91a26a035015399008321a748
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / noflare-1.3.1-py3-none-any.whl
| Download URL | noflare-1.3.1-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b1dbe6e0ac4c3b1e5d6e6809f793cf94bc38d4b8200bcf63146ab66f73d9fff
|
|
BLAKE2b-256 checksum How to use checksums |
112e3dfb7c399a7f6b0d6853ac6f759484e14f146b9afe4457a6c129350b0b0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for noflare 1.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.