주요 변경 사항
이번 주 Auto가 프로덕션에 배포되었습니다. 임의의 URL을 지정하면 비용을 고려한 단계별 절차(probe, 출구 탐색, 브라우저 해결, 저비용 replay)를 진행하여 콘텐츠와 이를 가져오는 데 사용된 세션을 함께 반환합니다. minfin.bg의 콜드 Turnstile 검사는 Auto를 통해 약 5초가 걸리며, 다음 호출은 Single을 통해 2 크레딧으로 replay됩니다. 또한 블로그, 문서, 업데이트 포털에 6개 언어를 추가하여 지원 언어를 7개에서 13개로 확장했습니다.
새로운 기능
Auto: 비용을 고려하는 4개 제품 통합 단일 endpoint
POST /api/auto가 정식 출시되었습니다. URL을 전달하면 적절한 제품(Single, Proxy Finder, Browser)을 선택하고, Cloudflare 챌린지가 발생하면 이를 처리하며, 응답과 함께 성공한 proxy ID, cookie, User-Agent가 포함된 session 객체를 반환합니다. 반환된 세션을 다음 호출에 재사용하면 Auto는 매번 새로 해결 과정을 거치는 대신 Single을 통해 2 크레딧으로 replay합니다.
이제 모든 응답에 meta 추적이 포함되어 어떤 단계에서 성공했는지, 방어 기제가 해결되었는지, 하위 호출이 몇 번 발생했는지, 사용된 총 크레딧을 확인할 수 있습니다. 사용자 정의 validate 규칙을 설정하면 Auto가 마지막 단계뿐만 아니라 모든 단계에 이를 적용하므로, 전송 계층에서 200을 반환한 국가 제한 페이지를 이전처럼 성공으로 잘못 처리하지 않습니다.
Dashboard 플레이그라운드에 timeout_ms, ignoreProxies, returnSession, forceProxy가 연결된 Auto 탭이 추가되어 코드로 구현하기 전에 폼 인터페이스에서 Auto를 직접 테스트해 볼 수 있습니다.
6개 신규 언어 추가
스페인어, 프랑스어, 일본어, 한국어, 브라질 포르투갈어, 러시아어가 블로그, 문서, 업데이트 포털에 추가되어 공개 사이트 지원 언어가 7개에서 13개로 늘어났습니다. 콘텐츠는 역할 인식 파이프라인을 통해 번역됩니다. 사이드바가 간결하게 유지되도록 네비게이션 라벨에는 직역보다 간결함을 우선하는 프롬프트가 적용되고, 게시물 본문에는 코드 블록과 제목 구조를 온전히 보존하는 프롬프트가 적용됩니다.
언어 전환 기능도 재구축되었습니다. 국기는 제거되었습니다(스페인 국기는 다른 20개 스페인어 사용 국가에 적합하지 않으며, 포르투갈어, 아랍어, 영어에도 동일한 기준이 적용됩니다). 이제 각 언어의 원어 표기가 기준이 되며, 현재 UI 언어로 된 명칭도 함께 표시되므로 불가리아어 브라우저 환경에서도 "Deutsch"를 "немски"로 찾아볼 수 있습니다. 상단 검색창에 입력하여 13개 언어를 원하는 언어로 필터링하고 화살표 키로 이동한 뒤 엔터 키를 눌러 전환할 수 있습니다. 각 옵션은 hreflang 및 lang를 포함한 실제 <a href>로 구성되어 검색 엔진과 AI 크롤러가 모든 언어 버전을 탐색할 수 있습니다.
Cloudflare 처리: 개선된 세부 사항
Auto는 이제 이전까지 잘못된 응답을 유출하던 네 가지 Cloudflare 상황을 처리합니다.
- 전송 계층 200과 함께 제공되는 "Just a moment" 중간 페이지는 더 이상 성공으로 간주되지 않습니다. Auto는 챌린지 페이지를 그대로 반환하는 대신 해결 단계로 승격합니다.
- 비대화형 챌린지(marathonbet의 "Checking your browser" 자동 통과)는 통과 후 클라이언트 측에서 렌더링됩니다. 브라우저는 빈 최상위 response에서 타임아웃을 발생시키는 대신, 실시간 DOM을 폴링하여
cf_clearance이 도달하는 즉시 완료 처리합니다. - 통과 후의 실제 상태 코드가 그대로 반영됩니다. 검사 통과 후 제공되는 국가 제한은 의심스러운 body를 포함한 200이 아니라 451을 반환합니다.
- 대화형 Turnstile(minfin.bg)을 엔드투엔드로 해결합니다. Auto는 먼저 직접 egress 브라우저 해결을 시도한 후(무료 데이터센터 출구에서는 챌린지가 승격되는 반면, 신뢰할 수 있는 egress endpoint는 Turnstile을 통과함), 실패할 경우 proxy 방식으로 장애 조치(fallback)합니다.
MCP: foura_auto 및 공개 탐색
MCP 서버에 /api/auto를 미러링하는 foura_auto 도구가 추가되었습니다. URL을 전달하면 콘텐츠와 session을 반환받을 수 있습니다. 이제 탐색(도구, 프롬프트, 기능)에 인증이 필요하지 않으므로 에이전트가 인증 전에 둘러볼 수 있으며, /llms.txt 맵은 루트에서 proxy 처리됩니다. 랜딩 페이지는 링크 자산 가치 유지를 위해 foura.ai/mcp로 이동되었으며, 서브도메인은 브라우저를 해당 위치로 301 리디렉션합니다.
내부 구조
fetcher 주변의 SSRF 경계를 강화했습니다. 커널 수준의 egress 방화벽이 request를 발행하는 두 서비스에서 사설, CGNAT, link-local 및 클라우드 메타데이터 대역으로의 연결 생성을 차단합니다. 애플리케이션 수준의 검사는 이미 URL을 처리하고 있었으며, 이제 하위 수준의 경로를 통해서도 어떤 우회도 불가능합니다. request의 proxy 필드도 동일하게 처리됩니다. 사설 주소로 확인(resolve)되는 클라이언트 제공 proxy 호스트는 request가 발송되기 전에 거부됩니다.
Activity 로그에는 클라이언트가 원본 proxy URL을 전송했더라도 이를 절대 저장하지 않습니다. 표시되는 response에는 항상 불투명한 base36 proxy ID가 포함되며, 저장되는 페이로드도 이에 일치합니다. 또한 모든 API response에서 x-powered-by header를 제거했습니다.
통계 수치
- minfin.bg의 대화형 Turnstile 해결: 약 5초 만에 부처 콘텐츠와 함께 200을 반환하고, 이후 캐시된 session을 통한 재시도당 2 크레딧이 소모됩니다.
- 동시 부하가 발생하는 rate limit 대상에 대해, Auto는 모든 request를 하나의 출구에 집중시키는 대신 여러 출구로 분산합니다(고정 출구 호스트에서 4개의 고유 출구 사용, 24개 재시도 중 21개가 2 크레딧 소모).
- 블로그, 문서, 업데이트 전반에 걸쳐 13개 언어가 지원됩니다.
Auto는 이번 분기 내내 구축해 온 API의 최종 형태입니다. URL을 지정하고, response를 받고, session을 유지합니다. 이제 핵심 과제는 경계 영역에 있습니다. 실제 트래픽에서 비용 인식 사다리가 얼마나 효과적으로 상각되는지 측정하고, 아무도 예상하지 못한 가짜 양성(false-positive) 성공 사례를 포착하는 유효성 검증 패턴을 찾아내는 것입니다.