← Alle Beiträge

FourA Digest (26. Juni bis 3. Juli 2026)

Auto ist in Produktion: ein Endpoint, der Single, Proxy Finder oder Browser wählt und Cloudflare-Herausforderungen bewältigt. Plus 6 neue Sprachen auf unseren Seiten.

Highlights

Auto wurde diese Woche für die Production freigegeben. Übergib eine beliebige URL und Auto durchläuft eine kostenoptimierte Kette (Probe, Exit finden, Browser Solve, günstiger Replay) und liefert den Inhalt samt der erfolgreichen Session zurück. Ein kalter Turnstile-Check auf minfin.bg dauert über Auto etwa 5 Sekunden; der nächste Aufruf läuft als Replay über Single für 2 Credits. Außerdem haben wir 6 Sprachen für Blog, Docs und das Updates-Portal hinzugefügt, wodurch wir von 7 auf 13 wachsen.

Was gibt es Neues?

Auto: ein Endpoint, vier Produkte, kostenoptimiert

POST /api/auto ist live. Du übergibst eine URL und Auto wählt das passende Produkt (Single, Proxy Finder oder Browser), löst Cloudflare-Challenges bei Bedarf und liefert die Response zusammen mit einem session-Objekt zurück, das die funktionierende Proxy-ID, Cookies und den User-Agent enthält. Wenn du die zurückgegebene Session beim nächsten Aufruf wiederverwendest, spielt Auto die Anfrage über Single für 2 Credits ab, statt erneut einen vollständigen Solve durchzuführen.

Jede Response enthält jetzt einen meta-Trace. So siehst du genau, welche Stufe erfolgreich war, ob ein Schutzmechanismus gelöst wurde, wie viele Sub-Calls nötig waren und wie viele Credits insgesamt verbraucht wurden. Definiere eigene validate-Regeln, die Auto auf jeder Stufe prüft, nicht erst auf der letzten. Eine Seite mit Ländersperre und HTTP-Status 200 gilt damit nicht mehr fälschlicherweise als Erfolg.

Das Dashboard-Playground hat einen Auto-Tab mit timeout_ms, ignoreProxies, returnSession und forceProxy erhalten. Damit kannst du Auto über ein Formular testen, bevor du es in deinen Code einbindest.

6 neue Sprachen

Spanisch, Französisch, Japanisch, Koreanisch, brasilianisches Portugiesisch und Russisch sind jetzt auf dem Blog, in den Docs und im Updates-Portal verfügbar. Damit unterstützen unsere öffentlichen Seiten 13 statt bisher 7 Sprachen. Die Inhalte werden über eine rollenbasierte Pipeline übersetzt: Navigationslabels nutzen einen Prompt, der Kürze über wörtliche Übersetzung stellt, damit die Sidebar kompakt bleibt; Blogbeiträge nutzen einen Prompt zum Erhalt der Markdown-Struktur, damit Codeblöcke und Überschriften intakt bleiben.

Der Sprachwechsler wurde ebenfalls überarbeitet. Flaggen wurden entfernt (die Flagge Spaniens schließt die anderen 20 spanischsprachigen Länder aus, und dieselbe Logik gilt für Portugiesisch, Arabisch und Englisch). Native Sprachbezeichnungen sorgen nun für Klarheit, und jede Option zeigt zusätzlich ihren Namen in der aktiven UI-Sprache, sodass du "Deutsch" auch als "немски" in einem bulgarischen Browser findest. Tippe in das Suchfeld oben, um aus 13 Sprachen zu filtern, navigiere mit den Pfeiltasten und bestätige mit Enter. Jede Option ist ein echtes <a href> mit hreflang und lang, sodass Suchmaschinen und KI-Crawler jede Sprachversion erfassen können.

Cloudflare-Handling: was konkret behoben wurde

Auto bewältigt jetzt vier Cloudflare-Szenarien, die zuvor fehlerhafte Responses ausgeliefert haben:

  • Die Interstitial-Seite "Just a moment", die mit einem Transport-Status 200 ausgeliefert wird, zählt nicht mehr als Erfolg. Auto eskaliert zu einer Solve-Stufe, anstatt dir die Challenge-Seite zu übergeben.
  • Nicht-interaktive Challenges (der Auto-Pass "Checking your browser" von marathonbet) rendern nach der Freigabe clientseitig. Der Browser pollt das Live-DOM und schließt ab, sobald cf_clearance eintrifft, anstatt bei einer leeren Top-Level-Response in ein Timeout zu laufen.
  • Der echte Status nach der Freigabe wird berücksichtigt. Eine Ländersperre nach bestandenem Check liefert 451 zurück, nicht 200 mit einem verdächtigen Body.
  • Interaktives Turnstile (minfin.bg) wird End-to-End gelöst. Auto versucht zuerst ein Browser-Solve über direkten Egress (ein vertrauenswürdiger Egress-Endpoint passiert Turnstile dort, wo kostenlose Rechenzentrums-Exits zur Challenge eskaliert werden), und fällt auf die Proxy-Schleife zurück, falls das fehlschlägt.

MCP: foura_auto und Public Discovery

Der MCP-Server hat ein foura_auto Tool erhalten, das /api/auto spiegelt. Übergib ihm eine URL, erhalte Content und eine Session zurück. Discovery (Tools, Prompts, Capabilities) ist jetzt unauthentifiziert, damit Agents vor der Authentifizierung browsen können, und die /llms.txt Map wird am Root geproxt. Die Landingpage ist für Link-Equity nach foura.ai/mcp umgezogen, und die Subdomain leitet Browser per 301 dorthin weiter.

Unter der Haube

Wir haben die SSRF-Grenzen um die Fetcher verschärft. Eine Egress-Firewall auf Kernel-Ebene blockiert die beiden Request-sendenden Services davor, Verbindungen zu privaten, CGNAT-, Link-Local- und Cloud-Metadaten-Bereichen aufzubauen. Der Check auf App-Ebene deckte bereits die URL ab, nun kann auch auf den tieferen Ebenen nichts mehr durchrutschen. Das Feld proxy bei einem Request wird genauso behandelt: Ein vom Client bereitgestellter Proxy-Host, der zu einer privaten Adresse auflöst, wird abgewiesen, bevor der Request rausgeht.

Das Activity-Log speichert niemals mehr eine rohe Proxy-URL, selbst wenn ein Client eine mitgesendet hat. Die Response, die du siehst, enthält immer die opake Base36-Proxy-ID, und die gespeicherte Payload stimmt damit überein. Zudem haben wir den Header x-powered-by aus jeder API-Response entfernt.

Zahlen

  • Das interaktive Turnstile-Solve auf minfin.bg: 200 mit Inhalten des Ministeriums in etwa 5 Sekunden, danach 2 Credits pro Replay über die gecachte Session.
  • Bei einem zielbasierten Rate-Limit unter gleichzeitiger Last verteilt Auto die Anfragen jetzt über mehrere Exits (4 verschiedene Exits bei einem Fixed-Exit-Host genutzt, 21 von 24 Replays zu 2 Credits), anstatt jeden Request auf einen einzelnen Exit zu leiten.
  • 13 Sprachen sind über Blog, Dokumentation und Updates hinweg live.

Auto ist genau die Form von API, auf die wir das gesamte Quartal hingearbeitet haben. URL übergeben, Response erhalten, Session behalten. Die spannende Arbeit liegt jetzt an den Rändern: Messen, wie gut sich die kostenbewusste Kaskade bei deinem realen Traffic amortisiert, und Validierungsmuster finden, die jene False-Positive-Erfolgsfälle abfangen, an die niemand denkt.