#2810·Prowlarr

Potential Resolution to "Blocked by CloudFlare Protection" errors despite FlareSolverr success

Author: RalphORamaCreated Sep 3, 2026Updated Sep 18, 2026
LabelsType: BugStatus: Needs Triage

I attest that there is not an existing issue for this?

  • I have searched the existing open and closed issues

I attest this is not related to a Cardigann YML Indexer.

  • I confirm this is not related to a Cardigann YML Indexer

Current Behavior

I believe I have found a solution for the reported issue of Prowlarr failing to connect to trackers despite Flaresolverr showing a successful challenge solve. It appears Flaresolverr only resolves domains/grabs cookies for a machine's IPv4 address, then Prowlarr resolves the tracker's IPv6 address and attempts to connect with an invalid cookie. Issues reporting this include #2527 and #2577

After disabling IPv6 networking for Prowlarr + Flaresolverr, the following trackers began working, resolving "Blocked by CloudFlare Protection" errors:

  • 1337x
  • uIndex
  • KickassTorrents (dot) ws
  • Magnet Cat
  • EZTV

The Pirate Bay is still not working, I get the message Unable to access apibay (dot) org, blocked by CloudFlare Protection, but when accessing apibay (dot) org in my web browser, I get a 403 Forbidden Nginx error, so this may be unrelated.

I am not entirely sure how this issue would be remediated when running the software directly on a host machine, but since I'm running everything through Docker, I'm able to easily disable IPv6 networking in compose.yaml which solves the issue.

Expected Behavior

When using Prowlarr + Flaresolverr, both programs should resolve hostnames to the same IP address to ensure cookies grabbed by Flaresolverr work for Prowlarr's indexing requests. This clearly appears to be an issue with how Flaresolverr resolves hostnames, but I'm posting here as well since I originally ran into the issue with Prowlarr and it appears other users are also experiencing this issue.

Steps To Reproduce

Reproduction

  1. Make sure your system supports IPv6 by running curl -6 icanhazip.com (should output your WAN IPv6 address)
  2. Set up the following compose.yaml file:
yaml
x-dns-config: &dns-config
  dns:
    # radicalDNS - https://libreops.cc/radicaldns.html
    - 88.198.92.222
    - 192.71.166.92
    - "2a01:4f8:1c0c:82c0::1"
    - "2a03:f80:30:be4e:192:71:166:92"

networks:
  default:
    enable_ipv4: true
    enable_ipv6: true

services:
  flaresolverr:
    image: "ghcr.io/flaresolverr/flaresolverr:latest"
    container_name: flaresolverr
    <<: *dns-config
    environment:
      - LOG_LEVEL=debug
      - TZ=Etc/UTC
      - LANG=en_US
      - BROWSER_WAIT_TIMEOUT=3
      - PORT=8191
      - "LOG_HTML=true"
    healthcheck:
      test: "curl -f http://localhost:8191 || exit 1"
      interval: 1m
      timeout: 5s
      retries: 3
      start_period: 1m
      start_interval: 22s
    restart: unless-stopped
  prowlarr:
    image: "ghcr.io/hotio/prowlarr:latest"
    container_name: prowlarr
    <<: *dns-config
    environment:
      - LOG_LEVEL=debug
      - TZ=Etc/UTC
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - WEBUI_PORTS=9696/tcp
    ports:
      - "9696:9696"
    volumes:
      - "./data/prowlarr/config:/config"
    depends_on:
      flaresolverr:
        condition: service_healthy
        restart: true
    restart: unless-stopped
  1. Start the services with docker compose up -d
  2. Check if Prowlarr is resolving domain names to IPv6 addresses by running
bash
sudo docker compose exec -it prowlarr curl -fsSL http://icanhazip.com
  1. You should see your IPv6 address returned.
  2. Check if Flaresolverr is resolving domain names to IPv6 addresses by running
bash
sudo docker compose exec -it flaresolverr \
  curl -fsSL \
    -X POST \
    -H 'Content-Type: application/json' \
    'http://localhost:8191/v1' \
    --data-raw '{"cmd": "request.get", "url": "http://icanhazip.com", "maxTimeout": 20000}' \
  | grep --color=always -i "response"
  1. You should see your external IPv4 address reflected in the response data.
  2. Open Prowlarr in a web browser, configure Flaresolverr, and attempt to add indexer which require Flaresolverr (1337x and uIndex are good options to test)
  3. You should encounter "Blocked by CloudFlare Protection" issues when attempting to add these indexers.

Remediation

  1. Edit the compose.yaml file created in step 1 of Reproduction, and change the x-dns-config and networks section to look like this:
yaml
x-dns-config: &dns-config
  dns:
    # radicalDNS - https://libreops.cc/radicaldns.html
    - 88.198.92.222
    - 192.71.166.92
    #- "2a01:4f8:1c0c:82c0::1"
    #- "2a03:f80:30:be4e:192:71:166:92"

networks:
  default:
    enable_ipv4: true
    # NB: Change this to "false"!!
    enable_ipv6: false
  1. Run sudo docker compose down; sudo docker compose up -d
  2. Repeat step 4-7 from Reproduction, seeing now that only an IPv4 address is returned.
  3. Refresh the Prowlarr instance in your browser and attempt to add 1337x and uIndex again
  4. You should now see that the "Blocked by CloudFlare Protection" errors no longer occur.

Environment

markdown
- OS: Debian 13 Trixie
- Prowlarr: 2.5.2.5491 (`release-0e8cd5f by hotio`)
- Flaresolverr: 3.5.0 (`ghcr.io/flaresolverr/flaresolverr:latest`)
   - Flaresolverr platform: `Linux-6.12.101+deb13-amd64-x86_64-with-glibc2.36`
   - Flaresolverr Chromium: major version 148
- Docker Install: Yes
- Docker version: 29.7.2, build `a7dcaa6`
- Using Reverse Proxy: Yes
- Browser: Waterfox 6.7.1.1

What branch are you running?

Master

Trace Logs?

I don't believe trace logs are applicable in this case but I can provide them if needed.

I attest that Trace Logs have been provided as applicable. Reports will be closed if the required logs are not provided.

  • I attest that I have read and followed the steps in the wiki link above and provided the required trace logs - the logs contain trace - that are relevant and show this issue.