# Send FlareSolverr — Cloudflare Bypass to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "flaresolverr",
    "name": "FlareSolverr — Cloudflare Bypass",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Dolverin/flaresolverr",
    "canonicalUrl": "https://clawhub.ai/Dolverin/flaresolverr",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/flaresolverr",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=flaresolverr",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "flaresolverr",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T07:43:58.602Z",
      "expiresAt": "2026-05-10T07:43:58.602Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=flaresolverr",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=flaresolverr",
        "contentDisposition": "attachment; filename=\"flaresolverr-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "flaresolverr"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/flaresolverr"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/flaresolverr",
    "downloadUrl": "https://openagent3.xyz/downloads/flaresolverr",
    "agentUrl": "https://openagent3.xyz/skills/flaresolverr/agent",
    "manifestUrl": "https://openagent3.xyz/skills/flaresolverr/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/flaresolverr/agent.md"
  }
}
```
## Documentation

### FlareSolverr — Cloudflare Bypass

Use FlareSolverr to bypass Cloudflare protection when direct curl requests fail with 403 or Cloudflare challenge pages.

### Setup

Run FlareSolverr (Docker recommended):

docker run -d --name flaresolverr -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest

Set the environment variable:

export FLARESOLVERR_URL="http://localhost:8191"

Verify:

curl -s "$FLARESOLVERR_URL/health" | jq '.'
# Expected: {"status":"ok","version":"3.x.x"}

### When to Use

Direct curl fails with 403 Forbidden
Cloudflare challenge page appears (JS challenge, captcha, "Checking your browser")
Bot detection blocks automated requests
Rate limiting or anti-scraping measures

### Workflow

Try direct curl first (it's faster and simpler)
If blocked: Use FlareSolverr to get cookies/user-agent
Reuse session for subsequent requests (optional, for performance)

### Simple GET Request

curl -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com/protected-page",
    "maxTimeout": 60000
  }' | jq '.'

### Response Structure

{
  "status": "ok",
  "message": "Challenge solved!",
  "solution": {
    "url": "https://example.com/protected-page",
    "status": 200,
    "headers": {},
    "response": "<html>...</html>",
    "cookies": [
      {
        "name": "cf_clearance",
        "value": "...",
        "domain": ".example.com"
      }
    ],
    "userAgent": "Mozilla/5.0 ..."
  },
  "startTimestamp": 1234567890,
  "endTimestamp": 1234567895,
  "version": "3.3.2"
}

### Extract Page Content

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com/protected-page"
  }' | jq -r '.solution.response'

### Extract Cookies

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com"
  }' | jq -r '.solution.cookies[] | "\\(.name)=\\(.value)"'

### Session Management

Sessions allow reusing browser context (cookies, user-agent) for multiple requests, improving performance.

### Create Session

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{"cmd": "sessions.create"}' | jq -r '.session'

### Use Session for Request

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com/page1",
    "session": "SESSION_ID"
  }' | jq -r '.solution.response'

### List Active Sessions

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{"cmd": "sessions.list"}' | jq '.sessions'

### Destroy Session

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "sessions.destroy",
    "session": "SESSION_ID"
  }'

### POST Requests

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.post",
    "url": "https://example.com/api/endpoint",
    "postData": "key1=value1&key2=value2",
    "maxTimeout": 60000
  }' | jq '.'

For JSON POST data:

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.post",
    "url": "https://example.com/api/endpoint",
    "postData": "{\\"key\\":\\"value\\"}",
    "headers": {
      "Content-Type": "application/json"
    }
  }' | jq '.'

### Custom User-Agent

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
  }' | jq '.'

### Custom Headers

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "headers": {
      "Accept-Language": "en-US,en;q=0.9",
      "Referer": "https://google.com"
    }
  }' | jq '.'

### Proxy Support

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "proxy": {
      "url": "http://proxy.example.com:8080"
    }
  }' | jq '.'

### Download Binary Content

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com/file.pdf",
    "download": true
  }' | jq -r '.solution.response' | base64 -d > file.pdf

### Common Errors

"status": "error": Request failed (check message field)
"status": "timeout": maxTimeout exceeded (increase timeout)
"status": "captcha": Manual captcha required (rare, usually auto-solved)

### Check Status

curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{"cmd": "request.get", "url": "https://example.com"}' | \\
  jq -r '.status'

### Bypass Cloudflare and Extract Data

# Step 1: Fetch page through FlareSolverr
RESPONSE=$(curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{
    "cmd": "request.get",
    "url": "https://example.com/protected-page"
  }')

# Step 2: Check if successful
STATUS=$(echo "$RESPONSE" | jq -r '.status')
if [ "$STATUS" != "ok" ]; then
  echo "Failed: $(echo "$RESPONSE" | jq -r '.message')"
  exit 1
fi

# Step 3: Extract and parse HTML
echo "$RESPONSE" | jq -r '.solution.response'

### Multi-Page Session

# Create session
SESSION=$(curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d '{"cmd": "sessions.create"}' | jq -r '.session')

# Page 1
curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d "{\\"cmd\\": \\"request.get\\", \\"url\\": \\"https://example.com/page1\\", \\"session\\": \\"$SESSION\\"}" | \\
  jq -r '.solution.response'

# Page 2 (reuses cookies from page 1)
curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d "{\\"cmd\\": \\"request.get\\", \\"url\\": \\"https://example.com/page2\\", \\"session\\": \\"$SESSION\\"}" | \\
  jq -r '.solution.response'

# Cleanup
curl -s -X POST "$FLARESOLVERR_URL/v1" \\
  -H "Content-Type: application/json" \\
  -d "{\\"cmd\\": \\"sessions.destroy\\", \\"session\\": \\"$SESSION\\"}"

### Health Check

curl -s "$FLARESOLVERR_URL/health" | jq '.'

### Performance Tips

Use sessions for multiple requests to same domain (reuses cookies/context)
Increase maxTimeout for slow sites (default: 60000ms)
Fallback to direct curl when possible (FlareSolverr is slower due to browser overhead)
Destroy sessions when done to free resources

### Limitations

Slower than direct curl (launches headless browser)
Resource intensive (limit concurrent requests)
May not solve all captchas (most Cloudflare challenges work)
HTML only in response (no client-side JS execution after fetch)

### Best Practices

Always try direct curl first
Use sessions for multi-page workflows
Set appropriate maxTimeout (default 60s, increase for slow sites)
Clean up sessions when done
Handle errors gracefully (check status field)
Rate limit your requests (don't overwhelm FlareSolverr or target site)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Dolverin
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T07:43:58.602Z
- Expires at: 2026-05-10T07:43:58.602Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/flaresolverr)
- [Send to Agent page](https://openagent3.xyz/skills/flaresolverr/agent)
- [JSON manifest](https://openagent3.xyz/skills/flaresolverr/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/flaresolverr/agent.md)
- [Download page](https://openagent3.xyz/downloads/flaresolverr)