Repository navigation
v.5.3.0
Docker:
docker pull ghcr.io/rix1337/quasarr:latest
Python:
uv tool upgrade quasarr
Note
Resolving interactive Google reCAPTCHA challenges requires flaresolverr-next v3.5.3 or newer, configured with a 2Captcha API key (TWOCAPTCHA_API_KEY). If Google blocks you, FlareSolverr automatically delegates the reCAPTCHA token solve to 2Captcha, injects the response, and returns the clearance session to Quasarr.
Overview
RM recently started presenting interactive reCAPTCHA security gates on challenged requests. While FlareSolverr automatically attempts to click the initial checkbox, server-grade and datacenter IPs often trigger Google's interactive image challenge. To reliably pass these gates without blocking manual searches or automated grabs, this PR routes RM's challenge clearance through FlareSolverr (with 2Captcha fallback support), updates session cookie persistence so solves are reused across requests, and introduces configurable solver timeout settings.
Changes
- Source Challenge Handling:
- Declared
requires_flaresolverr = Trueon RM in the Web UI so the capability chip is displayed and status checks reflect the dependency. - Routed RM responses encountering HTTP 403 or challenge pages through
LazyFlareSolverrSession. - Stored clearance cookies (
rapidmzzz) into RM's long-livedrequests.Sessionso subsequent searches and link extractions bypass challenges directly without repeated solver calls. - Solves one security check at a time: parallel RM requests wait for the running solve and reuse its cookie instead of each starting their own.
- Keeps a removed release (404) behind the security check out of hostname issues, and reports a missing FlareSolverr as a security check instead of an unexpected page layout.
- Logs a short note when a solve outlasts the Radarr/Sonarr search deadline, since that search comes back without RM and the next one answers normally.
- Declared
- Configurable Solver Timeout & Slow Mode:
- Added
FLARESOLVERR_REQUEST_TIMEOUT_SECONDS(90s fast / 180s slow mode) to timeout slow mode definitions and exposed it under Timeouts in the Web UI settings. - Guarded RM's FlareSolverr session calls with
max(timeout, FLARESOLVERR_REQUEST_TIMEOUT_SECONDS)so 2Captcha workers have enough headroom to finish solving without premature timeouts.
- Added
- Web UI & Security Quality-of-Life:
- Masked Radarr and Sonarr API key inputs with
type="password"in both the main settings view and setup forms so configured secrets are not immediately displayed on screen.
- Masked Radarr and Sonarr API key inputs with
- Agent Rules:
- Clarified in AGENTS.md that only crypter CAPTCHAs are reserved for userscripts; security checks in front of source sites go through FlareSolverr.
- Version Bump:
- Bumped version to
5.3.0(minor version bump).
- Bumped version to
Verification
- Tested live solving against RM using the updated FlareSolverr container with 2Captcha configured. Verified end-to-end token solve, form submission, and clearance cookie return.
- Verified persistent session lifecycle across 5 consecutive live requests (movie feed, show feed, 2 searches, and release link extraction), all passing directly in <1.5s with HTTP 200 and zero re-challenges.
- Ran full unit test suite (573 tests passed), ruff linting/formatting, and privacy gate checks (
check_trail.pyandtrail check).