Tất cảMớiCải tiếnĐã sửa
Đã sửa

Auto no longer accepts challenge pages as success

If you passed a negative validate to /api/auto (like {data: {fail: ['"Due to legal reasons"']}}), a Cloudflare 'Just a moment' interstitial could slip through as a cached success because the fail-list didn't happen to match its text. Auto now rejects challenge pages before applying your validate rules, and it swaps the bad exit and re-solves instead of scoring it.

Đã sửa

Long foura_auto calls now complete through the hosted MCP

If you set a long timeout on foura_auto through the hosted MCP server, the request could time out at the edge before your call finished. That's fixed. Full-budget auto calls now run their 180-second budget end to end.

Đã sửa

Auto spreads concurrent load across multiple exits

If you've been hitting 429s when firing many concurrent Auto calls at one target, those calls used to funnel onto a single cached exit because the warm path picked the score-favourite and replayed once. Auto now opens additional sessions on demand and routes each call to the least-loaded exit, so a burst fans out across multiple proxy IDs instead of hammering one. Measured locally: a 100-call burst on a no-cookie portable host now spreads across the grown pool within seconds.

Đã sửa

Clean Cloudflare pages skip the browser solve

Cloudflare injects a passive script even on pages that pass cleanly, and Auto used to treat any reference to it as an active challenge and run a full browser solve anyway. Now only true interstitial markers (the 'just a moment' page and friends) trigger the browser path; a clean 200 comes back from the cheaper proxy rung. Auto also follows up to 5 redirects by default (configurable via followRedirects).

Đã sửa

Browser captures the real status after Cloudflare clears

When a Cloudflare-protected target served a real geo-block page (451) after the challenge passed, the Browser product was reporting it as a 200 because the watcher hardcoded the cleared status. The watcher now reads the actual post-clearance Document, so a 200 stays 200, a 451 surfaces as 451, and Auto rejects the wrong content and keeps searching for an exit that genuinely matches your validate rules.

Đã sửa

Cmd+K opens on non-Latin keyboards

The Cmd+K (Ctrl+K) shortcut now opens the command palette and search modal regardless of keyboard layout. We were matching the typed character (к on a Cyrillic layout), so anyone on a non-Latin layout got nothing. Now we match the physical key. Fixed across the main site, the blog, and the docs.

Đã sửa

Auto requests stop 504-ing on cold solves

A cold Auto solve can run several minutes (proxy grind plus a browser solve). Our HTTP edge was capping requests at 2 minutes and returning a plain HTML 504, so the longest solves looked like a gateway failure even when the orchestrator was still working. We extended the edge timeout past Auto's worst-case run and switched /api/ error pages to JSON, so any error from any layer reads as JSON your client can parse.

Đã sửa

Auto amortizes to 2 credits on repeat requests

Cookie-reusable sites (bet365 was the canary) were sticking on the expensive browser solve at 15 credits per request instead of dropping to the cheap 2-credit replay after the first solve. Two bugs: the latch fired on any transient transport error, and a successful browser replay never refreshed the session cookies. Fixed both. Repeat requests on a cookie-reusable site now cost 2 credits after the first solve, exactly as the pricing implies.

Đã sửa

Thắt chặt quyền truy cập cross-origin trên API

Chúng tôi đã thắt chặt quyền truy cập cross-origin để chỉ duy nhất foura.ai có thể gọi API kèm theo credentials. Chúng tôi cũng đã gia cố bộ lọc đầu vào trên endpoint metrics và loại bỏ fallback secret chỉ dùng cho môi trường phát triển. Các tích hợp hiện tại không thay đổi.

Đã sửa

Quy tắc validate tùy chỉnh được tính là thành công

Nếu bạn đã thiết lập validate.status.accept trên một request, engine sẽ xử lý phản hồi non-200 được chấp nhận như một thành công hoàn toàn. Trước đây, Activity vẫn gắn nhãn những trường hợp đó là thất bại, làm sai lệch số liệu thống kê sử dụng của bạn. Giờ đây, kết quả sẽ tuân theo quyết định validate của bạn, vì vậy mã 403 mà bạn đã chấp nhận sẽ hiển thị là thành công, chứ không phải App Fail.

Đã sửa

Các trang không phải UTF-8 hiện được giải mã chính xác

Nếu bạn đang thu thập dữ liệu các trang tiếng Cyrillic, tiếng Trung, tiếng Nhật hoặc các trang không phải UTF-8 khác qua Single, phần body trước đây thường bị lỗi hiển thị (mojibake). Trước đây, chúng tôi đã ép buộc giải mã mọi response dưới dạng UTF-8 trước khi bạn nhận được các byte thô. Giờ đây, chúng tôi đọc charset từ response (Content-Type, sau đó đến <meta charset>, rồi cuối cùng là fallback về UTF-8) và giải mã chính xác. Cảm ơn Alexandar Kanchev (Sensika) đã báo cáo vấn đề này.

Đã sửa

Phát hiện proxy giả mạo phản hồi ngược lại request

Một số proxy ngoài thực tế không thực sự chuyển tiếp request của bạn. Chúng phản hồi ngược lại dưới dạng một bản dump máy chủ bằng plaintext và cố gắng thu thập dữ liệu bên trong. Hiện tại chúng tôi phát hiện ra pattern đó trước khi response chuyển đến code của bạn, vì vậy Single, Browser và Proxy Finder đều trả về một thông báo lỗi chính xác (hoặc thực hiện retry) thay vì dữ liệu rác.

Đã sửa

Các proxy mới được phát hiện tham gia pool nhanh hơn

Chúng tôi đã khắc phục tình trạng chậm trễ khiến các proxy mới được phát hiện phải chờ đợi trước khi được xác thực. Proxy Finder hiện kiểm tra chúng ngay lập tức, giúp pool luôn mới hơn với nhiều proxy đang hoạt động hơn trong vòng luân phiên.

Đã sửa

Cookie Playground tuân thủ quy tắc host-only của RFC 6265

Các cookie host-only đã bị rò rỉ sang các subdomain. Hiện tại chúng tôi đã theo dõi thuộc tính Domain một cách chính xác và thêm nhãn HO trong chế độ xem Parsed cho trường hợp host-only (ít gặp). Chế độ xem Raw khớp với những gì upstream gửi: Domain=.example.com đối với cookie domain, không có dòng Domain= đối với host-only.

Đã sửa

Các trường form Playground khớp với schema API thực tế

Endpoint Browser chỉ chấp nhận tám đầu vào (url, userAgent, headers, cookies, proxy, timeout_ms, checkStatus, checkText). Trước đây, playground hiển thị thêm các trường như wait_selector và viewport vốn bị âm thầm loại bỏ khi truyền tải. Hiện tại mọi trường đều đã khớp với schema: Browser bắt buộc sử dụng GET, ẩn textarea của body, và tab Raw hiển thị chính xác JSON được gửi đến API cùng với mã curl tái dựng.