Tất cả bài viết

FourA Digest: 26 tháng 6 đến 3 tháng 7, 2026

Auto đã được triển khai lên prod: một endpoint tự động lựa chọn Single, Proxy Finder, hoặc Browser và xử lý các thử thách Cloudflare. Thêm vào đó là 6 ngôn ngữ mới trên các trang web của chúng tôi.

Highlights

Auto đã được triển khai lên production tuần này. Chỉ cần trỏ nó tới bất kỳ URL nào, nó sẽ tự động đi qua một thang phân cấp tối ưu chi phí (probe, tìm exit, giải quyết bằng browser, replay giá rẻ) và trả về nội dung cùng với session đã lấy được nội dung đó. Việc giải quyết Cloudflare Turnstile nguội trên minfin.bg mất khoảng 5 giây thông qua Auto; cuộc gọi tiếp theo sẽ replay thông qua Single chỉ với 2 credits. Chúng tôi cũng đã thêm 6 ngôn ngữ trên blog, docs, và cổng thông tin cập nhật, nâng tổng số ngôn ngữ từ 7 lên 13.

What's New

Auto: một endpoint, bốn sản phẩm, tối ưu chi phí

POST /api/auto đã hoạt động. Bạn chỉ cần truyền vào một URL và nó sẽ tự động chọn sản phẩm phù hợp (Single, Proxy Finder, hoặc Browser), xử lý các thử thách Cloudflare khi chúng xuất hiện, và trả về response cùng một đối tượng session chứa proxy ID, các cookie, và user agent đã hoạt động thành công. Tái sử dụng session được trả về cho cuộc gọi tiếp theo và Auto sẽ thực hiện replay thông qua Single với mức phí 2 credits thay vì phải tốn công giải quyết lại từ đầu.

Mỗi response giờ đây đều đi kèm một vết meta để bạn có thể thấy bước nào đã thành công, hệ thống phòng thủ có được giải quyết hay không, mất bao nhiêu sub-call, và tổng số credits đã tiêu tốn. Bạn có thể tự định nghĩa các quy tắc validate của riêng mình và Auto sẽ áp dụng chúng trên mọi bước, chứ không chỉ bước cuối cùng, nhờ đó một trang geo-block trả về với mã transport 200 sẽ không còn được tính là thành công như trước đây nữa.

Trang thử nghiệm Dashboard đã có thêm tab Auto với các cấu hình timeout_ms, ignoreProxies, returnSession, và forceProxy được tích hợp sẵn, giúp bạn có thể chạy thử Auto từ một biểu mẫu trước khi tích hợp vào mã nguồn.

6 ngôn ngữ mới

Tiếng Tây Ban Nha, tiếng Pháp, tiếng Nhật, tiếng Hàn, tiếng Bồ Đào Nha Brazil, và tiếng Nga đã được bổ sung vào blog, docs, và cổng thông tin cập nhật, nâng tổng số ngôn ngữ từ 7 lên 13 trên các trang web công cộng của chúng tôi. Nội dung được dịch thuật thông qua một pipeline nhận biết vai trò (role-aware): các nhãn nav nhận được prompt ưu tiên sự ngắn gọn hơn là dịch sát nghĩa để sidebar luôn gọn gàng, phần body của bài viết nhận được prompt bảo toàn markdown để các khối code và tiêu đề được giữ nguyên vẹn.

Trình chuyển đổi ngôn ngữ cũng đã được xây dựng lại. Các lá cờ đã bị loại bỏ (lá cờ của Tây Ban Nha gây cảm giác xa lánh đối với 20 quốc gia nói tiếng Tây Ban Nha khác, và logic tương tự cũng áp dụng cho tiếng Bồ Đào Nha, tiếng Ả Rập, và tiếng Anh). Tên bản ngữ hiện đóng vai trò nhận diện chính, và mỗi tùy chọn cũng hiển thị tên của nó bằng ngôn ngữ giao diện người dùng đang hoạt động, vì vậy bạn có thể tìm thấy "Deutsch" dưới dạng "немски" từ một trình duyệt tiếng Bulgaria. Nhập vào hộp tìm kiếm ở trên cùng để lọc 13 locale xuống còn locale bạn muốn, sử dụng các phím mũi tên để di chuyển, nhấn enter để chuyển đổi. Mỗi tùy chọn là một thẻ <a href> thực tế với hreflanglang, nhờ đó các công cụ tìm kiếm và AI crawler có thể thu thập dữ liệu mọi phiên bản ngôn ngữ.

Xử lý Cloudflare: những gì thực sự đã được khắc phục

Auto giờ đây xử lý bốn tình huống Cloudflare từng làm rò rỉ sai response:

  • Trang trung gian "Just a moment" được trả về với transport 200 không còn được tính là thành công nữa. Auto sẽ chuyển tiếp lên một bước giải quyết thay vì trả về cho bạn trang thử thách.
  • Các thử thách không tương tác (tự động vượt qua "Checking your browser" của marathonbet) sẽ render ở phía client sau khi được thông qua. Browser sẽ poll DOM thực tế và hoàn tất ngay khi cf_clearance xuất hiện, thay vì bị timeout trên một response trống ở cấp cao nhất.
  • Trạng thái thực tế sau khi vượt qua thử thách sẽ được tôn trọng. Một geo-block mà Cloudflare hiển thị sau khi vượt qua thử thách sẽ trả về mã 451, chứ không phải 200 với một phần body đáng ngờ.
  • Giải quyết Turnstile tương tác (minfin.bg) từ đầu đến cuối. Auto sẽ thử giải quyết bằng browser với direct-egress trước (một egress endpoint đáng tin cậy sẽ vượt qua Turnstile trong khi các exit của datacenter miễn phí sẽ làm tăng cấp độ thử thách), sau đó chuyển sang phương án proxy dự phòng nếu thất bại.

MCP: foura_auto và khám phá công khai

MCP server đã tích hợp công cụ foura_auto mô phỏng /api/auto. Chỉ cần truyền vào một URL, bạn sẽ nhận lại nội dung và một session. Quá trình khám phá (tools, prompts, capabilities) hiện không yêu cầu xác thực để các agent có thể duyệt qua trước khi xác thực, và bản đồ /llms.txt được proxy tại root. Trang đích đã được chuyển đến foura.ai/mcp để tối ưu link equity, và subdomain sẽ thực hiện chuyển hướng 301 các trình duyệt đến đó.

Bên dưới hệ thống

Chúng tôi đã thắt chặt ranh giới SSRF xung quanh các fetcher. Một firewall egress ở cấp kernel sẽ chặn hai dịch vụ phát hành request mở kết nối tới các dải private, CGNAT, link-local, và cloud metadata. Kiểm tra ở cấp ứng dụng (app-level) vốn đã bao phủ URL, giờ đây các đường dẫn ở cấp thấp hơn cũng không thể bỏ lọt bất kỳ thứ gì. Trường proxy trên một request cũng được xử lý tương tự: một proxy host do client cung cấp nếu phân giải ra địa chỉ private sẽ bị từ chối trước khi request được gửi đi.

Activity log sẽ không bao giờ lưu trữ proxy URL thô nữa, ngay cả khi client gửi lên. Response bạn thấy sẽ luôn mang proxy ID dạng base36 ẩn danh, và payload được lưu trữ cũng khớp với thông tin đó. Chúng tôi cũng đã loại bỏ header x-powered-by khỏi mọi API response.

Số liệu thực tế

  • Giải quyết Turnstile tương tác trên minfin.bg: trả về mã 200 với nội dung của bộ trong khoảng 5 giây, sau đó là 2 credits cho mỗi lần replay thông qua session đã được cache.
  • Trên một mục tiêu bị rate-limited dưới tải đồng thời (concurrent load), Auto giờ đây sẽ phân bổ trên nhiều exit (sử dụng 4 exit riêng biệt trên một host có exit cố định, 21 trên 24 lần replay ở mức 2 credits) thay vì dồn mọi request vào một exit duy nhất.
  • 13 ngôn ngữ đã hoạt động trên blog, docs, và các bản cập nhật.

Auto là định hình của API mà chúng tôi đã hướng tới xây dựng trong suốt quý qua. Chỉ cần trỏ vào một URL, nhận response, và giữ lại session. Công việc thú vị hiện tại nằm ở các phần rìa: đo lường mức độ hiệu quả của thang phân cấp tối ưu chi phí đối với lưu lượng truy cập thực tế của bạn, và tìm ra các mẫu validate giúp phát hiện các trường hợp thành công giả mạo (false-positive) mà không ai nghĩ tới.