This project, Solvearr, is a Cloudflare bypass proxy API designed to access and scrape sites protected by Cloudflare, such as https://www.1377x.to/. It provides a simple HTTP API that is fully compatible with the FlareSolverr specification, making it a drop-in replacement for existing integrations.
- Bypasses Cloudflare and similar anti-bot protections using advanced TLS fingerprint tampering (no browser emulation).
- More lightweight and memory-efficient than FlareSolverr, as it does not use browser emulation.
- Compatible with Prowlarr, Sonarr, and Radarr as an indexer proxy.
- Implements the same API as FlareSolverr for seamless integration.
- Supports GET and POST requests, cookies, custom headers, and proxy settings.
The container supports the following architectures:
linux/amd64
: Standard desktop/laptop computerslinux/arm64
: Modern Raspberry Pi (3, 4, and newer)
docker run -d \
--name=solvearr \
-p 8191:8191 \
--restart unless-stopped \
nabilak/solvearr
version: "3"
services:
solvearr:
image: nabilak/solvearr
container_name: solvearr
ports:
- 8191:8191
restart: unless-stopped
Parameter | Function |
---|---|
-p 8191:8191 |
The port the application runs on |
--restart unless-stopped |
Restart the container unless it is explicitly stopped |
If you prefer to run Solvearr without Docker, follow these steps:
- Ensu 8FDA re you have Python installed:
python --version
- Install uv (Python package installer):
curl -LsSf https://astral.sh/uv/install.sh | sh
- Clone the repository:
git clone https://github.com/nabilak/solvearr.git
cd solvearr
- Install dependencies and the project:
uv sync --frozen --no-dev
- Run the application:
uvicorn main:app --host 0.0.0.0 --port 8191
The application will be available at http://localhost:8191
.
You can set up Solvearr as an indexer proxy in Prowlarr, Sonarr or Radarr to bypass Cloudflare for your indexers. Here's how:
- Go to Settings > Indexers in Prowlarr.
- Click the + button to add a new indexer proxy.
- Select FlareSolverr as the proxy type.
- Set the Host field to your Solvearr server URL, e.g.:
http://localhost:8000/
(if running locally)
- Set the Request Timeout as desired (e.g.,
60
seconds). - Click Test to verify the connection.
- Click Save to apply the settings.
Send a request to open a Cloudflare-protected site:
curl -X POST "http://localhost:8000/v1" \
-H "Content-Type: application/json" \
-d '{
"cmd": "request.get",
"url": "https://www.1377x.to/",
"maxTimeout": 60000
}'
POST /v1
JSON object with the following fields:
Parameter | Type | Required | Description |
---|---|---|---|
cmd | string | Yes | "request.get" or "request.post" |
url | string | Yes | Target URL to open |
maxTimeout | integer | No | Timeout in milliseconds (default: 60000) |
cookies | array | No | List of cookies (objects with name/value) |
returnOnlyCookies | boolean | No | If true, only cookies are returned |
proxy | object | No | Proxy settings (e.g., {"url": "http://127.0.0.1:8888"}) |
postData | string | No | POST data (for "request.post"), must be x-www-form-urlencoded string |
{
"cmd": "request.get",
"url": "https://www.1377x.to/",
"maxTimeout": 60000
}
{
"cmd": "request.post",
"url": "https://somesite.com/login",
"postData": "username=foo&password=bar",
"maxTimeout": 60000
}
{
"solution": {
"url": "https://www.1377x.to/",
"status": 200,
"headers": { ... },
"response": "<html>...</html>",
"cookies": [ ... ],
"userAgent": "..."
},
"status": "ok",
"message": "",
"startTimestamp": 1594872947467,
"endTimestamp": 1594872949617,
"version": "1.0.0"
}
You can configure Prowlarr, Sonarr, or Radarr to use this API as a FlareSolverr endpoint for indexer proxying and Cloudflare bypass.