mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-16 22:16:52 +03:00
Squash-merge verified routing remediation at exact head 690f9c14b0. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
78 lines
4.1 KiB
Markdown
78 lines
4.1 KiB
Markdown
---
|
|
name: flaresolverr
|
|
description: >-
|
|
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
|
|
|
|
```sh
|
|
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](../flaresolverr-cli/SKILL.md) 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
|
|
|
|
```text
|
|
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:
|
|
|
|
```yaml
|
|
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.
|