Highlights
Bislang hatte FourA genau eine Tür: Du schickst uns eine URL, wir schicken dir die Seite. Diese Woche haben wir eine zweite geöffnet: einen ganz normalen Proxy-Endpoint, den du in jeden HTTP-Client einfügen kannst, mit Zugangsdaten aus dem Dashboard. Proxy Finder kann jetzt auch bezahlte Exits für Targets ansteuern, die alles andere blockieren, und Auto merkt sich funktionierende Exits jetzt noch besser.
Was ist neu?
Richte jeden beliebigen HTTP-Client auf uns aus
Neuer Bereich im Dashboard: ACCESS, dann Proxy. Erstelle einen Proxy-Nutzer und du erhältst direkt den passenden Connection-String samt Beispielen für cURL, Python und Node. Wähle Exit-Typ, Land und ob der Exit über mehrere Requests hinweg gehalten werden soll; der String passt sich dabei live an.
Warum das Ganze, wenn die API schon funktioniert? Manche Aufgaben sind kein klassisches Request-Response-Muster. Ein Tunnel leitet Bytes direkt bei Ankunft weiter: ohne JSON-Hülle, ohne Pufferung. Genau das verlangen große Dateien oder Videostreams, und unsere API war dafür nie ausgelegt.
Das Targeting bei bezahlten Exits geht tiefer: Region, Stadt, Netzwerk nach ISP-Name und wie lange ein Exit dir gehört. Unser eigener Pool deckt bewusst nur Länder ab. Eine Stadt in einem schwach abgedeckten Land bedeutet nur eine Handvoll Adressen, und ein Filter, der meistens fehlschlägt, ist schlechter als gar kein Filter.
Ein Trade-off, ganz offen gesagt. Durch einen reinen Tunnel stellt dein Client die Verbindung zur Website her, nicht wir. Die Arbeit, die unsere API sonst für dich übernimmt, greift hier also nicht: das unblocker-Flag, browserbasiertes Lösen, validate-Regeln, Session-Replay. Der Tunnel gibt dir unsere Exits und unsere Bandbreite. Die API gibt dir das, was wir darauf aufbauen. Entscheide nach Anwendungsfall, nicht nach Unternehmen.
Premium-Exits und eine Response, die den genutzten Exit nennt
/api/proxy akzeptiert jetzt einen exitClass, entweder standard oder premium. Premium leitet dich über einen von uns bezahlten Exit weiter, gedacht für Targets, die unseren eigenen Pool dauerhaft blockieren.
Wenn du nichts übergibst, greift Auto: Zuerst kommt der Shared Pool, und ein bezahlter Exit wird erst hinzugezogen, wenn die Suche ins Stocken gerät. Gibst du eine Klasse explizit an, halten wir uns exakt daran. standard eskaliert nie eigenmächtig, was genau der Zweck dieser Angabe ist.
Die Response liefert exitClass zurück, damit du immer siehst, welcher Exit ausgeliefert hat. Ein Premium-Request, den unser eigener Pool direkt bedienen konnte, meldet standard zurück. Das ist ein Erfolg, kein Downgrade. Falls dein Tarif kein Premium enthält, wird der Request direkt abgewiesen, statt ihn stillschweigend über andere Wege auszuliefern.
Premium wird als Teil deines Datenvolumens aufgeführt, nie als zweiter Gesamtwert: eine Zeile unter Quota, eine Spalte in Metrics, eine Markierung in der entsprechenden Activity-Zeile, eine Kachel auf deiner Overview-Karte. Der Playground hat das Steuerelement ebenfalls erhalten, und die leere Option hat eine klare Funktion: Bleibt sie ungesetzt, wird gar kein Feld übertragen, denn "nie angefordert" und "angefordert, niemals zu eskalieren" sind zwei verschiedene Requests.
Auto merkt sich, was funktioniert hat
Die Leiter von Auto hat schon immer erfasst, welche Exits fehlgeschlagen sind. Jetzt erfasst sie auch, welche geliefert haben, und zwar auf jeder Stufe statt nur auf den Browser-Stufen. Zudem geschieht dies erst, nachdem der Inhalt dieselbe Prüfung bestanden hat, die entscheidet, ob wir die Seite an dich zurückgeben würden. Ein Exit kann nicht als gut markiert werden für eine Seite, die wir dir nicht ausliefern würden.
Bans laufen nun ebenfalls nach ihrem eigenen Zeitplan ab. Früher wurde die Ausschlussliste eines Hosts jedes Mal verlängert, wenn ein neuer Ban hinzukam. Jetzt verfällt jeder Ban nach dem ihm zugewiesenen Ablaufplan.
Und wenn ein Durchlauf das Browser-Limit deines Tarifs erreicht, stoppt die Leiter nicht mehr. Sie nutzt stattdessen die Proxy-Stufe und cached den erfolgreichen Exit, sodass spätere Aufrufe ihn kostengünstig auf Single wiederholen können.
Auto ist weiterhin der Pfadfinder, nicht die Produktionsroute. Lass es ermitteln, welche Stufe erfolgreich war und dir die Session übergeben. Richte dein Volumen danach direkt mit dieser Session auf /api/single oder /api/browser. Das war das Argument beim Start von Auto, und daran ändert sich nichts.
Eine Seite, die nicht die angeforderte Seite ist
Manche Exits befinden sich in einem gefilterten Unternehmensnetzwerk, in dem das Gateway statt der Website antwortet. Die Response kommt mit Status 200 und einem Body zurück und hat bisher jede unserer Prüfungen bestanden. Das ist vorbei: Eine solche Seite gilt nun als Beweis dafür, dass der Exit unbrauchbar ist, und nicht dafür, dass die Website geantwortet hat. Der Request zieht also weiter und der Exit verliert seine Priorität.
Jedes Seitenmuster, auf das wir prüfen, besitzt eine Größenbegrenzung. Ein echtes Dokument, das zufällig die entsprechenden Wörter zitiert, wird dadurch nicht fälschlicherweise blockiert. Die Größe dient als Schutzgrenze, nie als primäres Signal. Über das übergeordnete Thema haben wir vor zwei Wochen geschrieben: wenn ein Block wie ein Datenpunkt aussieht.
Unter der Haube
Rate Limits werden jetzt gegen das Limit deines eigenen Kontos geprüft, bevor gemeinsame Kapazitäten beansprucht werden. Ein Burst innerhalb eines einzelnen Kontos wird direkt an dessen eigenem Limit abgewiesen, ohne einen Slot zu verbrauchen, auf den andere warten.
Die In-Flight-Zahl auf deinem Dashboard stammt aus einer Live-Messung, die jede Instanz sekündlich neu übermittelt, und nicht mehr von einem Zähler, der ansteigen und nie wieder sinken könnte. Die Anzeige und der Limiter lesen jetzt denselben Wert.
Zahlen
In unseren eigenen Tests dauerte das Öffnen eines Tunnels zu einem Host, für den wir bereits Exits ermittelt hatten, bei einem Dutzend Stichproben zwischen 63 und 672 ms, die meisten unter 260 ms. Der Erstkontakt mit einem Host, den wir noch nie bedient haben, ist langsamer: Sekunden, manchmal einige zehn Sekunden, während der Pool nach funktionierenden Exits für dieses Ziel durchsucht wird. Das passiert einmal pro Host, nicht pro Request. Kleine Stichprobe, unsere eigenen Zahlen.
Zwei Wege bedeuten eine Frage, die du dir letzte Woche noch nicht stellen musstest: Geht es bei dieser Aufgabe um die Bytes oder darum, überhaupt durch die Tür zu kommen? Wenn du eine große Datei überträgst, ist der Tunnel die günstigste Option bei uns. Für alles, was komplexer ist, bleibt weiterhin die API zuständig.