Bypass Cloudflare protection for RSS feeds using FlareSolverr.
- Routes feed fetching through FlareSolverr to bypass Cloudflare JS challenges
- Per-feed toggle: enable only for specific feeds in the feed editor
- FlareSolverr session management: persistent browser context for multi-step PoW challenges
- Retry on challenge: detects if FlareSolverr returned a challenge page and retries with session
- Clone this plugin to the TT-RSS plugin directory:
cd /path/to/tt-rss/plugins.local
git clone https://github.com/P6g9YHK6/fu_cloudflare.git
- Enable the plugin in Preferences → Plugins.
- Deploy FlareSolverr (Docker):
docker run -d --name flaresolverr -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest
Configure the following in Preferences → Feeds → Plugins → Cloudflare Bypass:
- Plugin: enable/disable the plugin globally
- FlareSolverr URL: address of your FlareSolverr instance (default:
http://localhost:8191) - Max timeout: maximum wait time in milliseconds (default:
60000) - Test Feed Fetch: enter any feed URL and click "Test Fetch" to verify FlareSolverr can bypass Cloudflare for that URL
- Right-click a feed → Edit → set FlareSolverr mode to "Always bypass via FlareSolverr".
- If FlareSolverr returns a challenge page, the plugin retries once after 3s using the persistent session. If it still fails, a warning is logged to the Event Log.
If feeds are still failing:
- Check FlareSolverr is reachable via Health Check in plugin settings.
- Check the Event Log for
fu_cloudflare:warning messages. - Use the feed debugger at Verbose level (
?debug=1in URL) to seefu_cloudflare:log lines. - Click Reset Session to create a fresh browser context on FlareSolverr.
- Increase Max timeout if the PoW computation takes longer (try 120000ms).
- Check FlareSolverr logs:
docker logs flaresolverr.
| Tag | Range | Description |
|---|---|---|
| v1 | d3c76c9 → 8e368e3 |
initial commit, bare minimum plugin scaffold |
| v2 | 6c211af → 6f8fd53 |
first feature-complete: Test Feed Fetch, per-feed sessions, stats, scan feeds, retry |
| v3 | 806e557 → 8d339be |
major rewrite: 3 connection modes, 4 feed selectors, per-feed include/exclude, probe_cloudflare, cookie passthrough |
| v3.5 | 6a70aa5 → 6cf5ccb |
UI card layout, per-feed challenge counters, help tooltips, URL validation, JSON save response, Notify.close fixes, session reset creates new session |