Puntos destacados
Muchos sitios entregan su página principal a cualquiera y bloquean todo lo que esté a un clic de distancia. Ahora Auto entra por la puerta principal: toma la sesión que otorga esa página de entrada y luego solicita la página que querías mientras la lleva consigo. Browser recibió el trabajo más pesado esta semana. Completa la verificación de checkbox de un sitio cuando varias requests acceden a la misma página a la vez, y cuando una página permanece cerrada, informa lo que vio en lugar de una sola palabra genérica.
Novedades
Auto abre páginas que se protegen tras una sesión
Una publicación de eBay rechaza una request en frío en cada ruta que tenemos. La misma URL se abre cuando la request lleva el cookie jar que la propia página de entrada de eBay entrega a cualquier visitante. Sin inicio de sesión, sin cuentas prestadas, nada que no pudieras hacer manualmente en una pestaña.
Auto lo hace por ti ahora. Cuando una salida llega al origen y aún así se le niega la página interna, Auto obtiene la raíz del sitio a través de esa misma salida, conserva las cookies devueltas y vuelve a solicitarla. La response te indica que sucedió: el nivel ganador indica warmup.
Pero el costo es la parte interesante. Esa sesión resulta ser portátil, por lo que el jar no queda atado a la salida que lo obtuvo. Las lecturas de seguimiento se reproducen a través de /api/proxy y llegan a /api/single a 2 créditos. Es la misma cadena de escalar y reproducir sobre la que escribimos para la autorización de Cloudflare, con las cookies de sesión del propio proveedor reemplazando a cf_clearance.
Limitado a propósito: dos intentos por request, en diferentes salidas, solo después de que la URL interna ya haya fallado, y solo cuando la salida haya alcanzado el origen en primer lugar. De este modo, un sitio que simplemente nos bloquea paga dos subllamadas adicionales una sola vez, no un bucle. Más detalles sobre cómo la escala elige sus niveles en el artículo de Auto.
Browser resuelve desafíos de checkbox cuando las requests se superponen
Browser ahora completa la verificación de checkbox en requests concurrentes a la misma página. Tres a la vez en un sitio de noticias protegido por Turnstile: 5.2s, 5.8s, 9.1s.
Se incluyeron dos cambios menores. Un clic cuenta solo cuando el widget realmente desaparece, porque Cloudflare vuelve a emitir su desafío más seguido de lo que esperarías (el primer clic a menudo no es el final de la interacción). Además, una página que se desbloquea reporta defenseSolved: true en la llamada que la desbloqueó, que es la misma llamada facturada por la resolución.
Una página bloqueada te dice qué vio el solver
"Timeout" apunta a la latencia. La mayoría de las veces la latencia no es el problema y la solución está a una salida de distancia.
Cuando el servicio de verificación rechaza un intento, vuelve a emitir la prueba e introduce su propio marcador de reintento en el jar. Browser lee ese marcador. En lugar de esperar a que se agote el tiempo, responde en unos 17 segundos, indicando el proveedor, los clics que realizó y si se otorgó la autorización:
Timeout after 12s: the cloudflare challenge did not complete from this exit
(2 checkbox presses, clearance granted, challenge re-issued by the site)
Una de esas líneas te indica que envíes la request de otra manera. La otra no te dice nada.
Los errores de la capa de API ahora también se leen con mayor claridad. Una request que supera el tiempo de espera devuelve un timeout, un servicio al que no podemos acceder devuelve unavailable, y ninguno se describe como un problema de proxy cuando la request no incluía ningún proxy. timeout_ms en una llamada de Browser se respeta hasta el límite total de 120 segundos que acepta la API, de modo que un destino lento recibe el presupuesto que definiste y tú lees el veredicto del propio motor en lugar del gateway. Los parámetros están listados en la referencia de la API.
Datos de facturación y corrección de facturas en su mes de emisión
Las facturas búlgaras imprimen un representante de la empresa (MOL) en el campo del destinatario. Nada en el sistema lo recopilaba, por lo que esa línea siempre salía vacía. La sección de datos de facturación ya incluye ese campo.
La tabla de facturas también ofrece la opción de actualizar datos en una factura que aún se encuentra dentro de su mes de emisión y cuyos datos congelados difieren de tu perfil de facturación actual. El cuadro de diálogo detalla cada campo que cambia y su nuevo valor, aclara de forma directa que el número, las fechas y los importes no se modifican, y confirmarlo constituye tu consentimiento, registrado en nuestro sistema. Una factura dentro del plazo sin cambios pendientes muestra "Editable hasta" junto con su fecha, de modo que el período disponible es visible y no algo que descubres después.
Bajo el capó
Cada script que ejecuta el Dashboard se sirve desde nuestro propio origen, e iniciar sesión solo te redirige a una ruta dentro de este sitio.
Los despliegues del servicio de renderizado se realizan servidor por servidor, y cada uno debe servir una página real antes de pasar al siguiente.
En el portal de estado, el endpoint de issues sirve incidentes abiertos y resueltos a través de su API pública, coincidiendo con lo que muestra la página.
Un rechazo explícito cuesta una sola llamada. Una espera que termina en "Timeout" es una suposición sobre qué intentar después, pagada al mismo precio. Los errores son parte de la superficie del producto, y esta semana comenzamos a tratarlos como tal.