feat: integrate FlareSolverr for Cloudflare bypass on clone sources
- Add FLARESOLVERR_URL env var to .env.example - Update fetchSourceFurnidata to fall back to FlareSolverr on CF challenges (403/HTML) - Add docker-compose.yml with FlareSolverr service - Add scripts/health-check.sh for FlareSolverr readiness check - Add health:check script to package.json - Document FlareSolverr setup in README
This commit is contained in:
1 parent
2e87e5bf09
commit
3edc987281
7 files changed
+125
-6
No files matched your search
@@ -514,6 +514,26 @@ Supports Cloudflare Turnstile and Google reCAPTCHA. Configure via CMS Settings.
|
||||
|
||||
Optional OpenAI-powered moderation for comments and guestbook posts. Set `OPENAI_API_KEY`.
|
||||
|
||||
### FlareSolverr (Cloudflare Bypass)
|
||||
|
||||
Some clone sources (e.g. Leet, Hubbly, Habblet City) are protected by Cloudflare and return challenge pages instead of JSON. FlareSolverr acts as a proxy that solves these challenges automatically.
|
||||
|
||||
**Setup:**
|
||||
|
||||
```bash
|
||||
docker compose up -d flaresolverr
|
||||
```
|
||||
|
||||
Set the URL in `.env`:
|
||||
|
||||
```
|
||||
FLARESOLVERR_URL=http://localhost:8191
|
||||
```
|
||||
|
||||
When a source URL returns a 403 or HTML (CF challenge), the clone import automatically falls back to FlareSolverr. If FlareSolverr is not running or is unreachable, the source is skipped with a warning.
|
||||
|
||||
See `docker-compose.yml` for the FlareSolverr service definition.
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
Reference in new issue
Block a user