Todos los artículos

Resumen de FourA: del 8 al 15 de mayo de 2026

El dashboard ahora cuenta con un playground de request real para componer llamadas de API, y `unblocker: true` vuelve a funcionar de extremo a extremo en Single y Proxy Finder.

Highlights

Ahora puedes componer, enviar y repetir requests contra tu propia clave de API directamente en el dashboard. El nuevo playground cubre los tres productos y mantiene cookies, presets e historial entre ejecuciones. Junto a esto, se implementaron dos correcciones de fiabilidad: unblocker: true se estuvo degradando de forma silenciosa durante varias semanas (vuelve a funcionar de extremo a extremo) y Browser ahora captura la cookie cf_clearance del desafío pasivo de Cloudflare de manera fiable.

What's New

El playground del dashboard

/dashboard/#playground ahora es un verdadero banco de trabajo. Tres pestañas de producto (Single, Proxy Finder, Browser), una barra de URL, headers, body, y todas las flags por producto expuestas y adaptadas al esquema real de cada uno. Envía el request, observa cómo se renderiza la response con los modos de visualización de JSON, HTML y texto. Busca en los paneles de response con Ctrl/Cmd+K. Expanda la response a todo el viewport cuando necesites leer un muro de HTML.

Algunos detalles que surgieron al construirlo de la forma en que a nosotros mismos nos gustaría usarlo:

  • Las cookies que recibes se guardan en un contenedor (jar) por host. El siguiente request al mismo host las adjunta automáticamente, y puedes inspeccionar, editar o eliminar cualquier cookie antes de enviarla.
  • Una barra lateral de proxies activos recopila cada proxy id devuelto por una ejecución exitosa de Proxy Finder, lo que te permite hacer clic en "use" y reutilizar ese proxy en un request de Single o Browser sin tener que volver a escribirlo.
  • Guarda requests como presets. Repite cualquiera de tus últimas 20 ejecuciones desde un diálogo de historial.
  • Un reproductor de cURL muestra el comando exacto (con x-api-key) que ejecutarías desde una terminal para enviar el mismo request.

El playground firma un token interno de corta duración, por lo que tu clave en texto plano nunca sale del dashboard. La cuota, las métricas y last_used_at se contabilizan contra la clave que hayas elegido, de la misma manera que ocurriría si hubieras enviado el request desde tu propio código.

unblocker: true vuelve a funcionar de extremo a extremo

Detectamos un problema de compilación (build) que había estado degradando silenciosamente los requests de Single y Proxy Finder con unblocker: true durante las últimas semanas. La compilación se distribuyó sin el bypass realmente conectado, por lo que los requests que deberían haber superado las barreras anti-bot a nivel de handshake recibían en su lugar una firma de request genérica. Los sitios que deberían habernos dejado pasar nos estaban bloqueando.

La solución ya está implementada. Lo verificamos de extremo a extremo en once objetivos del mundo real, incluidos tres con páginas intermedias (intersticiales) de Cloudflare que antes requerían Browser para superarse. Single los supera por sí solo. El flujo encadenado Proxy Finder + Browser + Single (encontrar un proxy, obtener una cookie cf_clearance de Browser, enviar el request de la página con Single más la cookie más el mismo proxy) devuelve el HTML completo en un solo viaje de ida y vuelta (round trip).

Este error es responsabilidad nuestra. unblocker: true funcionaba el día que se lanzó y se rompió silenciosamente durante una reconstrucción de rutina. Si ejecutaste un request con unblocker: true contra un sitio protegido en las últimas semanas y viste un 403 donde esperabas un 200, esa es la razón. Inténtalo de nuevo.

Browser gestiona el desafío pasivo de JavaScript de Cloudflare

Cloudflare tiene dos modos de desafío. El modo activo (HTTP 403 más página intermedia) ya lo gestionábamos. El pasivo es más sigiloso: la página devuelve 200 inmediatamente, pero Cloudflare inyecta una sonda asíncrona de JavaScript que realiza el fingerprinting del cliente y solo entonces emite la cookie cf_clearance. Antes de esta corrección, Browser finalizaba la response antes de que la sonda pudiera completarse, por lo que la cookie de autorización nunca llegaba al contenedor (jar).

Browser ahora escucha explícitamente el evento Set-Cookie y espera a cf_clearance si detecta el marcador de desafío pasivo en el body. Sin polling, sin periodos de gracia fijos y sin esperas adicionales para sitios que no son de Cloudflare. Doce dominios del mundo real en la suite de pruebas, tres de ellos en la ruta pasiva, ahora devuelven cookies de autorización de manera fiable.

Cerrada una brecha de SSRF en el extremo de la API

Una clave de API pk_live_... válida no es una licencia para acceder a nuestra red privada. La API ahora rechaza cualquier objetivo cuyo hostname literal o resolución DNS se encuentre en un bloque reservado de RFC 5735, 6598 o IPv6. La misma comprobación se ejecuta en cada producto del backend como segunda línea de defensa.

No verás ningún cambio en la superficie. Cerramos un tipo de sondeo de red interna antes de que pueda completar un handshake TCP.

El blog recibe vistas previas sociales únicas y se corrige la paginación

Cada publicación del blog ahora genera su propia imagen de Open Graph con el título y el extracto de la publicación renderizados en una tarjeta de marca. Pega un enlace foura.ai/blog/... en Discord, LinkedIn, Slack o Twitter y verás la vista previa específica de la publicación en lugar de una genérica por defecto.

La paginación en el índice del blog estaba rota silenciosamente. El botón "Older" te devolvía a la página 1. La reconstruimos con URLs basadas en rutas (/blog/page/N/), añadimos navegación numerada con una ventana inteligente y agregamos etiquetas de enlace rel=prev/next adecuadas para series paginadas. Las antiguas URLs ?page=N realizan un redireccionamiento 301 a la nueva estructura, por lo que no se pierde nada de lo rastreado anteriormente.

Under the Hood

Nuestro servidor MCP ya está activo en mcp.foura.ai para cualquier herramienta de LLM que admita Model Context Protocol. La autenticación es el mismo token Bearer pk_live_... que utilizas contra la REST API. Expone los tres productos como herramientas (Single, Proxy Finder, Browser) y un puñado de prompts. Si estás integrando FourA en Claude Code o en cualquier agente compatible con MCP, puedes dejar de ejecutar un puente local.

Si no habías querido usar el dashboard porque el playground anterior era solo un esbozo, ábrelo esta semana. Es la interfaz que ahora usamos nosotros mismos cuando algo parece ir mal con un objetivo de la API.