← Tous les articles

FourA Digest, 26 juin au 3 juillet 2026

Auto est en production : un endpoint unique qui choisit Single, Proxy Finder ou Browser et gère les challenges Cloudflare. Plus 6 nouvelles langues sur nos sites.

Points clés

Auto est déployé en production cette semaine. Pointez-le vers n'importe quelle URL et il parcourt une échelle optimisée pour les coûts (sonde, recherche de sortie, résolution par navigateur, rejeu économique) puis renvoie le contenu ainsi que la session qui l'a obtenu. Un contrôle Turnstile à froid sur minfin.bg prend environ 5 secondes via Auto; l'appel suivant est rejoué via Single pour 2 crédits. Nous avons également ajouté 6 langues sur le blog, la documentation et le portail de mises à jour, passant ainsi de 7 à 13 langues.

Nouveautés

Auto : un endpoint, quatre produits, optimisé pour les coûts

POST /api/auto est en ligne. Vous lui fournissez une URL et il choisit le bon produit (Single, Proxy Finder ou Browser), gère les défis Cloudflare lorsqu'ils apparaissent et renvoie la réponse accompagnée d'un objet session contenant l'ID du proxy, les cookies et le User-Agent qui ont fonctionné. Réutilisez la session renvoyée lors de l'appel suivant et Auto effectue un rejeu via Single pour 2 crédits au lieu de relancer une résolution complète.

Chaque réponse contient désormais une trace meta afin que vous puissiez voir quel palier a réussi, si une protection a été résolue, le nombre de sous-appels nécessaires et le total des crédits consommés. Appliquez vos propres règles validate et Auto les applique à chaque palier, pas seulement au dernier, de sorte qu'une page de restriction géographique renvoyée avec un code 200 au niveau transport ne soit plus considérée comme un succès comme auparavant.

Le playground du Dashboard s'enrichit d'un onglet Auto intégrant timeout_ms, ignoreProxies, returnSession et forceProxy, ce qui vous permet de tester Auto depuis un formulaire avant de l'intégrer dans votre code.

6 nouvelles langues

L'espagnol, le français, le japonais, le coréen, le portugais brésilien et le russe sont désormais disponibles sur le blog, la documentation et le portail de mises à jour, portant nos sites publics de 7 à 13 langues. Le contenu est traduit via un pipeline sensible aux rôles : les libellés de navigation bénéficient d'un prompt privilégiant la concision pour garder la barre latérale compacte, tandis que les corps d'articles reçoivent un prompt de préservation du markdown pour maintenir intacts les blocs de code et les titres.

Le sélecteur de langue a également été reconstruit. Les drapeaux ont été supprimés (le drapeau de l'Espagne exclut les 20 autres pays hispanophones, et la même logique s'applique au portugais, à l'arabe et à l'anglais). Les noms natifs portent désormais le signal, et chaque option affiche également son nom dans la langue active de l'interface, vous permettant de trouver "Deutsch" sous la forme "немски" depuis un navigateur en bulgare. Saisissez votre texte dans le champ de recherche situé en haut pour filtrer les 13 langues selon votre choix, utilisez les touches fléchées pour naviguer et appuyez sur Entrée pour valider. Chaque option est un véritable <a href> avec hreflang et lang, ce qui permet aux moteurs de recherche et aux robots d'indexation IA de suivre chaque version linguistique.

Gestion de Cloudflare : ce qui a réellement été corrigé

Auto gère désormais quatre situations Cloudflare qui renvoyaient auparavant une mauvaise réponse :

  • L'interstitiel « Just a moment » servi avec un code de transport 200 n'est plus comptabilisé comme un succès. Auto passe à l'échelon de résolution supérieur au lieu de vous renvoyer la page de challenge.
  • Les challenges non interactifs (l'auto-validation « Checking your browser » de marathonbet) effectuent le rendu côté client après autorisation. Le navigateur interroge le DOM en direct et finalise dès que cf_clearance arrive, au lieu d'expirer sur une réponse initiale vide.
  • Le statut réel post-autorisation est respecté. Une restriction géographique servie après validation du contrôle renvoie une erreur 451, et non un code 200 avec un corps de réponse suspect.
  • Turnstile interactif (minfin.bg) est résolu de bout en bout. Auto tente d'abord une résolution par navigateur avec sortie directe (un endpoint de sortie de confiance valide Turnstile là où les sorties de datacenters gratuits voient le challenge s'intensifier), puis bascule sur la rotation de proxy en cas d'échec.

MCP : foura_auto et découverte publique

Le serveur MCP a intégré un outil foura_auto qui reproduit /api/auto. Fournissez-lui une URL, obtenez le contenu et une session en retour. La découverte (outils, prompts, capacités) est désormais non authentifiée afin que les agents puissent explorer avant de s'authentifier, et la carte /llms.txt passe par proxy à la racine. La page d'accueil a été déplacée vers foura.ai/mcp pour le maillage de liens, et le sous-domaine y redirige les navigateurs via une 301.

Sous le capot

Nous avons renforcé la frontière SSRF autour des modules de récupération. Un pare-feu de sortie au niveau du noyau empêche les deux services d'émission de requêtes d'ouvrir des connexions vers des plages privées, CGNAT, link-local et de métadonnées cloud. La vérification applicative couvrait déjà l'URL, désormais les couches inférieures ne laissent plus rien passer non plus. Le champ proxy d'une requête reçoit le même traitement : un hôte proxy fourni par le client qui résout vers une adresse privée est rejeté avant l'émission de la requête.

Le journal d'activité ne stocke plus jamais d'URL de proxy brute, même si un client en a transmis une. La réponse que vous voyez contient toujours l'ID opaque du proxy en base36, et la charge utile stockée correspond. Nous avons également retiré l'en-tête x-powered-by de chaque réponse d'API.

Chiffres

  • La résolution interactive de Turnstile sur minfin.bg : 200 avec le contenu du ministère en environ 5 secondes, puis 2 crédits par rejeu via la session en cache.
  • Sur une cible limitée en débit sous charge concurrente, Auto répartit désormais les requêtes sur plusieurs sorties (4 sorties distinctes utilisées sur un hôte à sortie fixe, 21 rejeux sur 24 à 2 crédits) au lieu de concentrer chaque requête sur une seule sortie.
  • 13 langues déployées sur le blog, la documentation et les mises à jour.

Auto représente l'architecture d'API vers laquelle nous avons tendu tout au long du trimestre. Ciblez une URL, obtenez la réponse, conservez la session. Le travail le plus intéressant se situe désormais à la marge : mesurer la rentabilité de l'échelle d'escalade des coûts sur votre trafic réel, et identifier les schémas de validation qui détectent les faux positifs auxquels personne ne pense.