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:
PORT- HTTP port (default:8191)MAX_TABS- Max concurrent Chromium tabs (default:10)HEADLESS-true/falseto run Chromium headless (default:false)DATA_DIR- Path to persistent user-data directory (default:~/.noflare/data)LANGUAGE- Browser language/locale (default:en-US)PROXY_SERVER- Proxy server URL (e.g.http://1.2.3.4:3128)
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noflare-1.0.1.tar.gz.
File metadata
- Download URL: noflare-1.0.1.tar.gz
- Upload date:
- Size: 42.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
937677fa11c2597152aaf2739b5691e11c578d602ec3c62c71b26f98057c345d
|
|
| MD5 |
3de00400432823f31181fb566ff1bec4
|
|
| BLAKE2b-256 |
350cc9b666de762eee3df1babe77db376253c48ecabbd4a00a545f1c4e97d828
|
File details
Details for the file noflare-1.0.1-py3-none-any.whl.
File metadata
- Download URL: noflare-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52259fcc11a6428dc53e8e947858c599a3809cbf5786623cb1a64611c33701e4
|
|
| MD5 |
987b381080c0db2941f6be64b2f16a20
|
|
| BLAKE2b-256 |
58be02b7b7206ab25624e230ac975ced8967aa25b6b7008a381f6dd5cc67924d
|