Cómo instalar Trawl en Docker - Motor scraping adaptativo que bypasa Cloudflare autohospedado
Trawl en Docker: Motor scraping adaptativo autohospedado que bypasa Cloudflare y captchas (alternativa FlareSolverr, Byparr)
Motor scraping self-hosted adaptive. Bypass nativo Cloudflare, Turnstile, reCAPTCHA, hCaptcha, GeeTest. Resultados cached 4-15seg. Sub-500ms cached repeats. Redis persistencia. FlareSolverr compatible (drop-in replacement *arr stack). API REST. Bun runtime. Dos tags hardware (latest, baseline). MIT open source.
¿Qué es Trawl?
Trawl es un motor de scraping web self-hosted que resuelve desafíos de protección (Cloudflare, captchas) de forma nativa sin APIs externas, permitiendo raspado de contenido web con total privacidad y cero cuotas/tokens, siendo compatible drop-in con stack *arr (Prowlarr, Jackett, Sonarr, Radarr) como reemplazo de FlareSolverr. Es la solución moderna para automatización web escalable sin limitaciones cloud.
Propuesta clave: Resolución nativa Cloudflare challenges (4-15 segundos). Captchas automáticos (Turnstile, reCAPTCHA, hCaptcha, GeeTest, Imperva experimental). Caching agresivo Redis (sub-500ms repeats). Pool de browsers pooled. Estrategia adaptativa (fetch → Cloudflare → browser). Cero APIs externas. Cero tokens/cuotas. FlareSolverr compatible (reemplazo directo Prowlarr/Jackett/Sonarr/Radarr). API REST simple. Docker compose fácil. Dos tags (latest para hardware moderno, baseline para Synology/kernel 4.4). Multiarch (amd64, arm64). Bun runtime (rápido). Activamente mantenido.
Características principales: Resolución adaptativa de 5 tiers: fetch simple (headers reales, UA Chrome) → Cloudflare cached (cookies Redis warmpool) → Cloudflare fresh (CF managed-mode 4-15s) → Browser context (captchas automáticos) → Custom headers. Soporta Cloudflare Interstitial, Turnstile, reCAPTCHA v2/v3, hCaptcha, GeeTest, Imperva (experimental). Caching redis por dominio. Session pooling per-domain. API v1 (metadata enriquecida: tier usado, timings, sessionCached, cookies) + API scrape simple. FlareSolverr compatible (url http://trawl:8191). Health checks. Soporte Docker secrets. Dos builds (latest AVX2, baseline kernel 4.4+). Logging detallado. Métricas debug. Open source MIT.
Características principales
Bypass nativo Cloudflare
Resuelve challenges en 4-15 seg. Sin APIs externas. Cero cuotas.
Captchas automáticos
Turnstile, reCAPTCHA, hCaptcha, GeeTest. Solución integrada.
Caching agresivo
Sub-500ms repeats. Redis persistencia. Por dominio session pooling.
Estrategia adaptativa
Fetch → CF cached → CF fresh → Browser. Escalata inteligente.
FlareSolverr compatible
Drop-in replacement Prowlarr, Jackett, Sonarr, Radarr (*arr stack).
API REST simple
v1 (metadata enriquecida) + scrape endpoint. JSON request/response.
Dos builds hardware
:latest (modern AVX2) + :baseline (kernel 4.4+, Synology compatible).
Browser pool + warmup
Boot 15-30s. Subsecuentes rápido. Pooled browsers reutilizables.
Multiarch Docker
amd64, arm64. Raspberry Pi, Synology, x86 server compatible.
Logging + métricas debug
Verbose logs. Timing data. Tier utilizado visible.
Docker Compose simple
Scraper + Redis included. .env config. Un comando up.
MIT open source
Código abierto. Activamente mantenido. GitHub community.
Requisitos del sistema
- Docker & Docker Compose v2+
- 2 GB - 8 GB RAM mínimo (browser pool, Redis)
- 10 GB espacio disco (imagen + cache + logs)
- Puerto 8191 (configurable, API scraping)
- Redis integrado (para caching sesiones)
- CPU moderno (AVX2) O baseline kernel 4.4+ (dos builds disponibles)
- Conexión red estable (HTTP/HTTPS outbound)
- Opcional: Prowlarr/Jackett/Sonarr/Radarr (para integración *arr)
Instalación con Docker Compose
Opción 1: Git clone + docker compose (recomendado)
Opción 2: Docker Compose manual (si quieres control manual)
Opción 3: Hardware antiguo (Synology, kernel 4.4+)
Acceder (API disponible)
http://localhost:8191/health - Health check
Primer test (scraping simple)
Primeros pasos
1. Verificar health (container running)
2. Test scraping simple (sin protección)
3. Test con Cloudflare (captcha automático)
4. Simpler scrape endpoint (si Prowlarr/Jackett espera)
5. Integrar con Prowlarr (reemplazo FlareSolverr)
- Prowlarr → Settings → Clients
- Busca "FlareSolverr" (Trawl es compatible)
- URL:
http://trawl:8191(si en Docker Compose) ohttp://localhost:8191(if docker bridge) - Guarda
- Prowlarr ahora usa Trawl para bypasear Cloudflare
6. Integrar con Jackett
- Jackett → Indexer Proxy Settings
- Proxy: "Flaresolverr"
- Host:
http://trawl:8191 - Trawl resuelve CF antes retornar resultados
7. Ver logs detallados
8. Configuración avanzada (.env)
9. Monitorear consumo (browser pool)
Casos de uso
- *arr stack (Prowlarr, Jackett, Sonarr, Radarr): Bypass Cloudflare nativo. Reemplaza FlareSolverr. Cero cuotas.
- Web scraping automatizado: Sitios con Cloudflare. Datos públicos. Automatización inteligente.
- Data collection: APIs bloqueadas por CF. Scraping escalable. Caching eficiente.
- Reverse proxy scraping: Integrable en cualquier stack web. API REST simple.
- Testing web apps: Simula interacción usuario. Resuelve captchas automático. QA automation.
HTTPS con Caddy (si expones remoto)
Caddyfile (exponer scraper remoto seguro)
Acceso remoto seguro
https://trawl.tudominio.com con HTTPS automático + auth
IMPORTANTE: Seguridad
Trawl NO debe exponerse sin autenticación. Usar Caddy basic_auth o firewall network-level. Limitar acceso solo *arr stack.
Gestión y mantenimiento
Ver logs detallados
Limpiar cache Redis (si needed)
Limpieza selectiva por dominio
Reiniciar containers
Actualizar a versión más reciente
Monitorear consumo (browsers + Redis)
Backup Redis cache (importante)
Comparativa con alternativas
vs FlareSolverr
Trawl gana: Bypass más rápido, captchas automáticos, caching inteligente, estrategia adaptativa, desarrollo activo. FlareSolverr gana: Más maduro, más comunidad histórica, Docker bien documentado.
vs Byparr
Trawl gana: Cero cuotas, self-hosted puro, performance, desarrollo activo. Byparr gana: Cloud simplicity, managed infrastructure.
vs requests-html + Selenium
Trawl gana: Cloudflare nativo, caching, optimizado. Selenium gana: Control fino browsers, custom scripts.
vs Bright Data / Residential Proxies
Trawl gana: Costo bajo/cero, self-hosted, privacidad. Bright gana: Escala masiva, IP rotation, support enterprise.
Comentarios
Publicar un comentario