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 | |
|---|---|---|---|
| noflare-1.3.1.tar.gz | 44.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| noflare-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
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
|