전체 글

FourA 다이제스트, 2026년 8월 7일 - 8월 14일

Auto는 사이트의 진입 페이지에서 발급하는 세션을 확보한 뒤, 요청한 딥 페이지를 엽니다. Browser는 동시 요청 시 Cloudflare 체크박스를 해결합니다.

주요 업데이트

많은 사이트가 첫 페이지는 누구에게나 제공하지만 한 단계 더 들어가면 모든 것을 차단합니다. 이제 Auto는 정문으로 들어갑니다. 진입 페이지가 제공하는 세션을 가져온 다음 이를 유지한 채 원하는 페이지를 요청합니다. 이번 주 Browser는 더 까다로운 작업을 처리합니다. 여러 request가 동일한 페이지에 동시에 도달할 때 Cloudflare의 체크박스 챌린지를 해결하며, 페이지가 계속 닫혀 있을 때는 단답형 대신 발견한 내용을 보고합니다.

새로운 기능

Auto는 세션 뒤에 차단된 페이지를 엽니다

eBay 상품 페이지는 우리가 가진 모든 라우트에서 초기 request를 거부합니다. request가 eBay 자체 진입 페이지에서 모든 방문자에게 제공하는 cookie를 포함하면 동일한 URL이 열립니다. 로그인이나 차용한 계정 없이 탭에서 수동으로 할 수 있는 작업과 동일합니다.

이제 Auto가 이 작업을 대신 수행합니다. exit가 origin에 도달한 후에도 하위 페이지 접근이 거부되면, Auto는 동일한 exit를 통해 사이트 루트를 가져오고 반환된 모든 cookie를 유지한 채 다시 요청합니다. response에서 이 과정을 확인할 수 있습니다. 성공한 단계는 warmup로 표시됩니다.

하지만 흥미로운 부분은 비용입니다. 이 세션은 이동이 가능하므로 cookie가 이를 획득한 exit에 종속되지 않습니다. 후속 읽기는 /api/proxy을 통해 반복되며 2크레딧으로 /api/single에 도달합니다. 이는 우리가 Cloudflare 우회에 대해 작성했던 권한 상승 후 반복 체인과 동일하며, 벤더 자체 세션 cookie가 cf_clearance을 대신합니다.

이는 의도적으로 제한됩니다. request당 두 번 시도하며, 각기 다른 exit를 사용하고, 하위 URL이 이미 실패한 이후, 그리고 exit가 애초에 origin에 도달했을 때만 작동합니다. 따라서 단순히 우리를 차단하는 사이트는 무한 루프 대신 추가로 두 번의 하위 호출 비용만 지불합니다. 사다리가 단계를 선택하는 방법에 대한 자세한 내용은 Auto 문서를 참조하십시오.

Browser는 request가 겹칠 때 체크박스 챌린지를 해결합니다

이제 Browser는 동일한 페이지에 대한 동시 request에서 Cloudflare의 체크박스 위젯을 해결합니다. Turnstile 뒤에 있는 뉴스 사이트에 세 번 동시에 요청한 결과: 5.2초, 5.8초, 9.1초.

두 가지 작은 변경 사항이 추가되었습니다. Cloudflare는 예상보다 자주 챌린지를 다시 발행하므로(첫 번째 클릭이 일반적으로 끝이 아님), 클릭은 위젯이 실제로 사라진 후에만 계산됩니다. 그리고 우회된 페이지는 이를 우회한 호출에 defenseSolved: true를 보고하며, 이는 해결 비용으로 청구된 동일한 호출입니다.

차단된 페이지는 솔버가 확인한 내용을 알려줍니다

"Timeout"은 지연 시간을 의미합니다. 대부분의 경우 지연 시간은 문제가 아니며 정답은 다른 exit를 사용하는 것입니다.

Cloudflare가 해결을 거부하면 챌린지를 다시 발행하고 자체 재시도 마커를 cookie에 넣습니다. Browser는 이 마커를 읽습니다. 제한 시간을 기다리는 대신 약 17초 내에 응답하여 벤더, 수행한 클릭 수 및 통과 여부를 명시합니다:

Timeout after 12s: the cloudflare challenge did not complete from this exit
(2 checkbox presses, clearance granted, challenge re-issued by the site)

이 줄 중 하나는 request를 다른 방식으로 보내라고 알려줍니다. 다른 하나는 아무런 정보도 제공하지 않습니다.

API 계층의 오류도 더 명확해졌습니다. 대기 시간을 초과한 request는 timeout으로 반환되고, 연결할 수 없는 서비스는 unavailable로 반환되며, request에 proxy가 전혀 없는 경우 어느 쪽도 proxy 문제로 설명되지 않습니다. 브라우저 호출의 timeout_ms은 API가 허용하는 최대 120초까지 유지되므로, 느린 대상은 설정된 예산을 받고 게이트웨이 대신 엔진 자체의 결과를 확인할 수 있습니다. 매개변수는 API reference에 나열되어 있습니다.

청구 세부정보 및 발행 월의 청구서 수정

불가리아 청구서는 수신자 란에 회사 대표(MOL)를 인쇄합니다. 시스템에서 이를 수집하지 않았기 때문에, 해당 줄은 항상 비어있을 수밖에 없었습니다. 이제 청구 세부정보에 해당 필드가 추가되었습니다.

청구서 테이블은 또한 발행 월이 지나지 않았고 고정된 세부정보가 현재 청구 프로필과 다른 청구서에 대해 세부정보 업데이트를 제공합니다. 대화 상자에서는 변경되는 각 필드와 변경된 내용을 명시하고, 번호, 날짜 및 금액은 그대로 유지됨을 분명히 밝히며, 이를 확인하는 것은 귀하의 동의로서 시스템에 기록됩니다. 변경할 내용이 없는 상태의 청구서에는 "Editable until"과 날짜가 표시되므로, 기한을 나중에 알게 되는 것이 아니라 바로 확인할 수 있습니다.

내부 구조

대시보드에서 실행되는 모든 스크립트는 자체 origin에서 제공되며, 로그인하면 이 사이트의 경로로만 이동합니다.

렌더링 서비스 배포는 한 번에 하나의 서버씩 진행되며, 다음 서버를 처리하기 전에 각 서버는 실제 페이지를 제공해야 합니다.

상태 포털에서 issues endpoint는 페이지에 나열된 내용과 일치하도록 공개 API를 통해 미해결 및 해결된 항목을 제공합니다.

자신의 이름을 지정하는 거부는 하나의 호출입니다. "Timeout"으로 끝나는 대기는 다음 시도에 대한 추측이며, 동일한 비용이 청구됩니다. 오류도 제품의 중요한 부분이며, 이번 주부터 우리는 이를 제품의 일부로 다루기 시작했습니다.