# FlareSolverr - Cloudflare Bypass Proxy ## Table of Contents - [Overview](#overview) - [What is FlareSolverr?](#what-is-flaresolverr) - [Why Use FlareSolverr?](#why-use-flaresolverr) - [How It Works](#how-it-works) - [Configuration in AI-Homelab](#configuration-in-ai-homelab) - [Official Resources](#official-resources) - [Educational Resources](#educational-resources) - [Docker Configuration](#docker-configuration) - [Usage](#usage) - [Troubleshooting](#troubleshooting) ## Overview **Category:** Proxy Service **Docker Image:** [ghcr.io/flaresolverr/flaresolverr](https://github.com/FlareSolverr/FlareSolverr/pkgs/container/flaresolverr) **Default Stack:** `media-management.yml` **API Port:** 8191 **Authentication:** None (internal service) **Used By:** Prowlarr, Jackett, NZBHydra2 ## What is FlareSolverr? FlareSolverr is a proxy server that solves Cloudflare and DDoS-GUARD challenges automatically. Many torrent indexers and websites use Cloudflare protection to prevent automated access. FlareSolverr uses a headless browser to solve these challenges, allowing Prowlarr and other *arr apps to access protected indexers. ### Key Features - **Cloudflare Bypass:** Solves "Checking your browser" challenges - **DDoS-GUARD Support:** Handles DDoS protection pages - **Headless Browser:** Uses Chromium to simulate real browser - **Simple API:** Easy integration with existing tools - **Session Management:** Maintains authentication cookies - **No Manual Intervention:** Fully automated - **Docker Ready:** Easy deployment - **Lightweight:** Minimal resource usage ## Why Use FlareSolverr? 1. **Access Protected Indexers:** Bypass Cloudflare challenges 2. **Automated:** No manual captcha solving 3. **Essential for Prowlarr:** Many indexers require it 4. **Free:** No paid services needed 5. **Simple Integration:** Works with *arr apps 6. **Session Support:** Maintains login state 7. **Multiple Sites:** Works with various protections 8. **Open Source:** Community-maintained ## How It Works ``` Prowlarr → Indexer (Protected by Cloudflare) ↓ Cloudflare Challenge Detected ↓ Prowlarr → FlareSolverr API ↓ FlareSolverr Opens Headless Browser ↓ Solves Cloudflare Challenge ↓ Returns Cookies/Content to Prowlarr ↓ Prowlarr Accesses Indexer Successfully ``` ### Challenge Types **Cloudflare:** - "Checking your browser before accessing..." - JavaScript challenge - Captcha (in some cases) **DDoS-GUARD:** - Similar protection mechanism - Requires browser verification ## Configuration in AI-Homelab ### Directory Structure ``` # No persistent data needed # FlareSolverr is stateless ``` ### Environment Variables ```bash # Log level LOG_LEVEL=info # Optional: Log HTML responses LOG_HTML=false # Optional: Captcha solver (paid services) # CAPTCHA_SOLVER=none # Optional: Timeout # TIMEOUT=60000 ``` ## Official Resources - **GitHub:** https://github.com/FlareSolverr/FlareSolverr - **Docker Hub:** https://github.com/FlareSolverr/FlareSolverr/pkgs/container/flaresolverr - **Documentation:** https://github.com/FlareSolverr/FlareSolverr/wiki ## Educational Resources ### Videos - [FlareSolverr Setup](https://www.youtube.com/results?search_query=flaresolverr+prowlarr+setup) - [Bypass Cloudflare with FlareSolverr](https://www.youtube.com/results?search_query=flaresolverr+cloudflare) ### Articles & Guides - [GitHub Documentation](https://github.com/FlareSolverr/FlareSolverr) - [Prowlarr Integration](https://wiki.servarr.com/prowlarr/settings#flaresolverr) ### Concepts to Learn - **Cloudflare Challenge:** Browser verification system - **Headless Browser:** Browser without UI - **Session Management:** Cookie persistence - **Proxy Server:** Intermediary for requests - **Rate Limiting:** Request throttling ## Docker Configuration ### Complete Service Definition ```yaml flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr restart: unless-stopped networks: - traefik-network ports: - "8191:8191" environment: - LOG_LEVEL=info - LOG_HTML=false - CAPTCHA_SOLVER=none - TZ=America/New_York ``` **Note:** No volume needed - stateless service ### Resource Limits (Optional) ```yaml flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr deploy: resources: limits: memory: 1G cpus: '1.0' # ... rest of config ``` ## Usage ### Prowlarr Integration **Settings → Indexers → FlareSolverr:** 1. **Tags:** Create tag "flaresolverr" 2. **Host:** `http://flaresolverr:8191` 3. **Test connection** 4. **Save** **Tag Indexers:** - Edit indexer that needs FlareSolverr - Tags → Add "flaresolverr" - Save **When to Tag:** - Indexer returns Cloudflare errors - "Checking your browser" messages - "DDoS protection by Cloudflare" - 403 Forbidden errors ### Manual API Testing ```bash # Test FlareSolverr curl -X POST http://localhost:8191/v1 \ -H "Content-Type: application/json" \ -d '{ "cmd": "request.get", "url": "https://example.com", "maxTimeout": 60000 }' ``` **Response:** - Status - Cookies - HTML content - Challenge solution ### Session Management **Create Session:** ```bash curl -X POST http://localhost:8191/v1 \ -d '{"cmd": "sessions.create"}' ``` **Use Session:** ```bash curl -X POST http://localhost:8191/v1 \ -d '{ "cmd": "request.get", "url": "https://example.com", "session": "SESSION_ID" }' ``` **Destroy Session:** ```bash curl -X POST http://localhost:8191/v1 \ -d '{ "cmd": "sessions.destroy", "session": "SESSION_ID" }' ``` ## Troubleshooting ### FlareSolverr Not Working ```bash # Check container status docker ps | grep flaresolverr # Check logs docker logs flaresolverr # Test API curl http://localhost:8191/health # Should return: {"status": "ok"} # Check connectivity from Prowlarr docker exec prowlarr curl http://flaresolverr:8191/health ``` ### Indexer Still Blocked ```bash # Common causes: # 1. FlareSolverr not tagged on indexer # 2. Cloudflare updated protection # 3. IP temporarily banned # 4. Rate limiting # Verify tag # Prowlarr → Indexers → Edit indexer → Tags # Check FlareSolverr logs docker logs flaresolverr | tail -50 # Try different indexer # Some sites may be too aggressive # Wait and retry # Temporary bans usually lift after time ``` ### High Memory Usage ```bash # Check resource usage docker stats flaresolverr # Chromium uses significant memory # Normal: 200-500MB # High load: 500MB-1GB # Restart if memory leak docker restart flaresolverr # Set memory limit # Add to docker-compose: deploy: resources: limits: memory: 1G ``` ### Timeout Errors ```bash # Increase timeout # Environment variable: TIMEOUT=120000 # 2 minutes # Or in request: curl -X POST http://localhost:8191/v1 \ -d '{ "cmd": "request.get", "url": "https://example.com", "maxTimeout": 120000 }' # Check network speed # Slow connections need longer timeout ``` ### Browser Crashes ```bash # Check logs for crashes docker logs flaresolverr | grep -i crash # Restart container docker restart flaresolverr # Check memory limits # May need more RAM # Update to latest version docker pull ghcr.io/flaresolverr/flaresolverr:latest docker compose up -d flaresolverr ``` ## Performance Optimization ### Resource Allocation **Recommended:** - CPU: 0.5-1 core - RAM: 500MB-1GB - No disk I/O needed **High Load:** - Increase memory limit - More CPU if many requests ### Request Throttling **Prowlarr automatically throttles:** - Don't overload FlareSolverr - Rate limits prevent bans ### Session Reuse **For authenticated sites:** - Create persistent session - Reuse across requests - Reduces challenge frequency ## Security Best Practices 1. **Internal Network Only:** Don't expose port 8191 publicly 2. **No Authentication:** FlareSolverr has no auth (keep internal) 3. **Docker Network:** Use private Docker network 4. **Regular Updates:** Keep FlareSolverr current 5. **Monitor Logs:** Watch for abuse 6. **Resource Limits:** Prevent DoS via resource exhaustion ## Integration with Other Services ### FlareSolverr + Prowlarr - Bypass Cloudflare on indexers - Tag-based activation - Automatic challenge solving ### FlareSolverr + Jackett - Similar integration - Configure FlareSolverr endpoint - Tag indexers needing it ### FlareSolverr + NZBHydra2 - Usenet indexer aggregator - Cloudflare bypass support - Configure endpoint URL ## Summary FlareSolverr is the Cloudflare bypass proxy offering: - Automatic challenge solving - Prowlarr integration - Headless browser technology - Session management - Simple API - Free and open-source **Perfect for:** - Protected indexer access - Prowlarr users - Cloudflare bypassing - Automated workflows - *arr stack integration **Key Points:** - Tag indexers in Prowlarr - No authentication (keep internal) - Uses headless Chromium - Memory usage ~500MB - Stateless service - Essential for many indexers **Remember:** - Don't expose publicly - Tag only needed indexers - Monitor resource usage - Restart if memory issues - Keep updated - Internal Docker network only FlareSolverr enables access to Cloudflare-protected indexers automatically!