Skip to content

Torrent file downloads from Cloudflare-protected indexers fail (bypasses Prowlarr's FlareSolverr proxy) #459

@TrashedPandai

Description

@TrashedPandai

Summary

When downloading a release from a Cloudflare-protected torrent indexer (e.g., LimeTorrents), the download fails because Questarr fetches the .torrent file directly from the indexer rather than routing through Prowlarr's download proxy — which has FlareSolverr configured to handle Cloudflare challenges.

Steps to Reproduce

  1. Configure Prowlarr with FlareSolverr as an indexer proxy, tagged to Cloudflare-protected indexers
  2. Add a Cloudflare-protected torrent indexer (e.g., LimeTorrents) in Prowlarr
  3. Search for a game in Questarr — results from LimeTorrents appear (search works because it goes through Prowlarr → FlareSolverr)
  4. Click download on a LimeTorrents result

Expected Behavior

Questarr routes the .torrent download through Prowlarr's proxy endpoint, which uses FlareSolverr to bypass Cloudflare, then passes the file to the download client.

Actual Behavior

{"level":50,"module":"downloaders","error":{},"msg":"Error downloading file, passing URL to Transmission"}
{"level":30,"module":"express","method":"POST","path":"/api/downloads","statusCode":500,
  "response":{"success":false,"message":"All downloaders failed. Errors: Transmission: Fail...",
  "attemptedDownloaders":["Transmission"]}}

Questarr's safeFetch() attempts to download the .torrent file directly from the indexer URL. Cloudflare blocks this request. It then falls back to passing the raw URL to Transmission, which also can't bypass Cloudflare.

Confirmation

Downloading the same game from an indexer that provides magnet links (e.g., 1337x) works perfectly — because the magnet URI is passed directly to the download client with no HTTP fetch needed.

Environment

  • Questarr: latest Docker image (dev tag)
  • Prowlarr with FlareSolverr configured and working for search
  • Transmission as download client

Suggested Fix

Possible approaches:

  • Ensure the download URL uses Prowlarr's proxy endpoint rather than the raw indexer URL
  • Add optional HTTP proxy support (so users can route through FlareSolverr or similar)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    In progress

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions