Files
Magnus HedemarkandGitHub 035e58d3e3 docs(routing): remediate description and neighbor boundaries
Squash-merge verified routing remediation at exact head 690f9c14b0. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
2026-09-01 20:05:48 -04:00

4.1 KiB

name, description
name description
flaresolverr Use the minimal FlareSolverr wrapper for a one-off health check or browser-backed GET/POST when ordinary retrieval is blocked by Cloudflare or DDoS-GUARD. Choose flaresolverr-cli instead for named session lifecycle, cookie-only returns, dry-run planning, or the full operational command surface. Do not use this skill for unrelated requests; route to the nearest named specialist.

FlareSolverr

Quick Start

python3 scripts/flaresolverr --server http://localhost:8191 health

Use this skill when ordinary HTTP retrieval is blocked by a browser challenge. FlareSolverr must already be running; this skill does not bypass authentication or authorize access to restricted content.

When not to use

Use flaresolverr-cli when the task names that CLI, requires creating/listing/destroying named sessions, needs cookie-only responses or dry-run planning, or needs the full operational command surface. Keep this skill for the smaller one-off health, GET, or POST path.

Mutation Gate

The health command is read-only discovery. GET and POST send traffic to an external target, and POST may change target state.

Confirm the target, scope, and rollback path before acting. Read-only discovery may proceed without confirmation.

A POST or any request intended to change target state requires an explicit user directive. This skill does not authorize deletion, privilege changes, authentication bypass, or irreversible cleanup.

CLI

python3 flaresolverr/scripts/flaresolverr --server http://localhost:8191 health
python3 flaresolverr/scripts/flaresolverr --server http://localhost:8191 get https://example.com
python3 flaresolverr/scripts/flaresolverr session create
python3 flaresolverr/scripts/flaresolverr session list
python3 flaresolverr/scripts/flaresolverr session destroy SESSION_ID

Every command emits JSON. get and post use FlareSolverr's /v1 API and preserve the returned status, URL, headers, and response body. Use --timeout to bound a request and --session when a site needs cookie continuity.

Setup

Run FlareSolverr separately, commonly with Docker:

services:
  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    ports: ["8191:8191"]
    environment:
      LOG_LEVEL: info

Do not expose the service publicly. Prefer a pinned image tag in production and use the vendor's documentation for browser and platform compatibility.

Available Scripts

Script Purpose Invocation
scripts/flaresolverr Minimal JSON CLI for the FlareSolverr API: health, get, post, and session subcommands with --server and --timeout options. Run it for the one-off health check or challenge-solving GET/POST described above, and for short-lived session create/list/destroy when a site needs cookie continuity. python3 scripts/flaresolverr --server http://localhost:8191 get https://example.com
scripts/test-flaresolverr.sh Shell smoke test: verifies --help output and byte-compiles the CLI. Run it after modifying scripts/flaresolverr or when auditing the bundled script; CI runs it via scripts/check-skill-tests.py. sh scripts/test-flaresolverr.sh

Prerequisites

  • Python 3 with the standard library only; the CLI has no third-party dependencies.
  • A reachable FlareSolverr instance (commonly via Docker, per Setup above) — the CLI is a client and starts nothing itself.
  • Network access from the FlareSolverr instance to the target site; this skill does not bypass authentication or grant access to content you are not otherwise entitled to retrieve.

Limitations

  • The wrapper covers only the one-off health, get, post, and session paths; named-session lifecycle management, cookie-only returns, and dry-run planning belong to flaresolverr-cli (see When not to use).
  • Every command emits JSON and reports what FlareSolverr returned; it does not parse, extract, or rank page content for you.
  • Solving a browser challenge is not a guarantee: sites may still block, captcha, or rate-limit the underlying browser, and --timeout bounds only the request, not the target's behavior.