Log-Einträge
In der ISP-Familie ist jeder Log-Eintrag eine Verbindung; Felder, Ergebniscodes, Kategorien und die drei häufigsten Fehler bei der Integration.
Bei ISP, Datacenter und Gaming ist jeder Log-Eintrag eine Verbindung, keine einzelne Anfrage: Der Eintrag wird geschrieben, wenn die Verbindung geschlossen wird. Bei reinem HTTP kann eine einzelne Keep-Alive-Verbindung mehrere Anfragen transportieren; das Feld request zeigt nur die erste. Eine noch offene Verbindung erscheint erst in der Liste, wenn sie geschlossen ist.
Jeder Eintrag kommt unabhängig vom Diensttyp mit demselben festen Satz an Schlüsseln; ein Schlüssel ohne Wert ist null und fehlt nie. Schlüssel, die nur die ISP-Familie kennt, sind in Mobile/Residential-Einträgen immer null, statusCode ist dagegen in der ISP-Familie immer null. Die Liste ist vom neuesten zum ältesten Eintrag sortiert.
Drei Fallstricke
Felder
✓ ist bei diesem Typ befüllt, null ist bei diesem Typ immer leer. Auch ein Feld mit ✓ kann null sein, wenn für diese Verbindung kein Wert erfasst wurde.
| Feld | ISP-Familie | Mobile / Residential | Bedeutung |
|---|---|---|---|
id | ✓ | ✓ | ID des Eintrags. In der ISP-Familie identisch mit requestId (ULID); bei Einträgen vor dem 17.09.2026 eine stabile, abgeleitete ID. |
timestamp | ✓ | ✓ | ISO-8601, UTC. In der ISP-Familie der Zeitpunkt, an dem die Verbindung GESCHLOSSEN wurde, sekundengenau. Die Liste ist von neu nach alt sortiert. |
level | ✓ | ✓ | connect, disconnect, error, quota oder auth. In der ISP-Familie aus result abgeleitet (Tabelle der Ergebniscodes). |
message | ✓ | ✓ | Lesbare Zusammenfassung, z. B. HTTP CONNECT → example.com:443. Bei fehlgeschlagenen Einträgen der ISP-Familie ohne Verbindungsdaten eine lesbare Beschreibung mit Ergebniscode (z. B. This command/protocol is not supported (#103)). Das Format kann sich ändern; parsen Sie es nicht, sondern lesen Sie die zugehörigen Felder. |
method | ✓ | ✓ | Befehl oder HTTP-Methode: CONNECT, GET, POST … In der ISP-Familie identisch mit command (einschließlich UDP ASSOCIATE). null, wenn die Verbindung abgelehnt wurde, bevor sie diese Phase erreichte. |
ip | ✓ | ✓ | Ziel im Format host:port (die IP, wenn kein Hostname vorliegt). null bei einer Verbindung, die abgelehnt wurde, bevor das Ziel feststand. |
sourceIp | ✓ | ✓ | IP Ihres Clients; der Rechner, der sich mit dem Proxy verbindet. |
bytesIn | ✓ | ✓ | HERUNTERGELADENE Bytes (vom Ziel zu Ihnen). |
bytesOut | ✓ | ✓ | HOCHGELADENE Bytes (von Ihnen zum Ziel). |
durationMs | ✓ | ✓ | Wie lange die Verbindung offen war, in ms. KEINE Latenz. |
statusCode | null | ✓ | HTTP-Statuscode. Nur Mobile/Residential. |
headers | null | ✓ | HTTP-Header der Anfrage (JSON-Text). Nur Mobile/Residential. |
requestId | ✓ | null | Eindeutige ID der Verbindung (26-stellige ULID). Geben Sie diese bei Support-Anfragen an. Bei Einträgen vor dem 17.09.2026 null. |
result | ✓ | null | Ergebniscode (Tabelle unten). Bei Einträgen vor dem 17.09.2026 null. |
resultCategory | ✓ | null | success, client, policy, upstream oder unknown. Ist result null, wird der Wert aus ok abgeleitet: success oder unknown. |
ok | ✓ | null | Ob die Verbindung erfolgreich war (true / false). |
errorCode | ✓ | null | result als fünfstelliger Text, z. B. 00104 (bei Erfolg 00000). null, wenn result null ist. |
service | ✓ | null | Das tatsächlich verwendete Protokoll: http oder socks (SOCKS5). Beim Protokoll auto nimmt derselbe Port beides an. null, wenn die Verbindung abgelehnt wurde, bevor sie diese Phase erreichte. |
proxyType | ✓ | null | Alter Name; derselbe Wert wie service. |
command | ✓ | null | CONNECT, GET, POST … oder UDP ASSOCIATE (UDP über SOCKS5; im Protokoll auto unterstützt). null, wenn die Verbindung abgelehnt wurde, bevor sie diese Phase erreichte. |
request | ✓ | null | Die ERSTE Anfragezeile der Verbindung. Bei Keep-Alive-Verbindungen wird nur die erste erfasst. null, wenn die Verbindung abgelehnt wurde, bevor die Anfrage gelesen war. |
targetHost | ✓ | null | Hostname des Ziels (die IP, wenn direkt eine IP angesprochen wurde). null, wenn die Verbindung abgelehnt wurde, bevor das Ziel feststand. |
targetIp | ✓ | null | Aufgelöste IP des Ziels. null, wenn keine Verbindung zum Ziel aufgebaut wurde. |
targetPort | ✓ | null | Zielport. null, wenn die Verbindung abgelehnt wurde, bevor das Ziel feststand. |
targetInfo | ✓ | null | Altes Format: targetIp:targetPort. |
clientPort | ✓ | null | Quellport Ihres Clients. |
gateIp | ✓ | null | Die Proxy-Adresse (Eingang), mit der Sie sich verbunden haben; meist der host aus der Proxy-Liste. NICHT Ihre Ausgangs-IP. |
gatePort | ✓ | null | Der Proxy-Port, mit dem Sie sich verbunden haben. |
egressIp | ✓ | null | Die TATSÄCHLICHE IP, über die Ihr Traffic ins Internet geht; die Adresse, die die Zielseite sieht. Wird nicht bei jeder Verbindung erfasst, sonst null (bei Einträgen vor dem 17.09.2026 immer null). |
extIp | ✓ | null | Alter Name; derselbe Wert wie egressIp. |
latencyMs | ✓ | null | Latenz des Verbindungsaufbaus zum Ziel, in ms. null, wenn nicht gemessen; nicht 0. |
totalBytes | ✓ | null | bytesIn + bytesOut. |
slot | ✓ | null | Port-Slot-Nummer der Bestellung. Bei Einträgen vor dem 17.09.2026 null. |
Ergebniscodes
Nur ISP, Datacenter und Gaming. Die Beschreibungen sind Texte, die Sie Ihren Kunden anzeigen können. Neue Codes können hinzukommen; behandeln Sie einen unbekannten Code als Fehler.
| result | errorCode | HTTP | Kategorie | level | Bedeutung |
|---|---|---|---|---|---|
0 | 00000 | 200 | success | connect | Verbindung erfolgreich |
100 | 00100 | 407 | client | auth | Benutzername oder Passwort falsch |
101 | 00101 | 403 | client | auth | Ihre IP-Adresse ist für diese Bestellung nicht berechtigt |
102 | 00102 | 400 | client | error | Fehlerhaftes Anfrageformat |
103 | 00103 | — | client | error | Dieser Befehl bzw. dieses Protokoll wird nicht unterstützt |
104 | 00104 | 403 | policy | error | Sie sind nicht berechtigt, die Zieladresse aufzurufen |
105 | 00105 | 403 | policy | quota | Kontingent aufgebraucht |
106 | 00106 | 429 | policy | quota | Verbindungslimit erreicht |
107 | 00107 | 403 | policy | error | Zielport gesperrt |
200 | 00200 | 502 | upstream | error | Zielserver nicht erreichbar |
201 | 00201 | — | client | disconnect | Verbindung vom Client geschlossen (kein Dienstfehler) |
— | — | — | unknown | error | Unbekannter Code; als Fehler behandeln |
Ergebniskategorien
| resultCategory | Bedeutung |
|---|---|
success | Verbindung hergestellt. |
client | Clientseitige Ursache: Anmeldedaten oder IP-Berechtigung, Anfrageformat, nicht unterstützter Befehl oder vom Client geschlossene Verbindung. |
policy | Nutzungsrichtlinie oder Kontolimit: gesperrtes Ziel, Kontingent, gleichzeitige Verbindungen, gesperrter Port. |
upstream | Keine Verbindung zum Ziel möglich; versuchen Sie es erneut. |
unknown | Unbekannter Code (oder ein fehlgeschlagener Eintrag aus der Zeit vor dem 17.09.2026). |
Filtern
ok, result, category, request_id, client_ip, egress_ip, target_host, service,udp, slot, port und min_latency_ms gelten nur für diese Typen. status_group liefert hier 400.
status_group (2xx, 4xx, 5xx) gilt nur für diese Typen. ip wird hier in der Ziel- oder Client-Adresse gesucht. Ein Parameter, den nur die ISP-Familie kennt, liefert 400 invalid_request; details.field nennt den Parameter.
Auch ein unbekannter Parameter oder ein Zeitraum, dessen Beginn nach seinem Ende liegt, liefert 400. Alle Parameter finden Sie beim EndpointLogs.
Unvollständige Liste
meta.partial kommt in jeder Antwort mit. Ist der Wert true, kann die Liste unvollständig sein: In der ISP-Familie konnten ältere Einträge in dem Moment nicht gelesen werden, bei Mobile/Residential wurden nur die neuesten Einträge zurückgegeben. Versuchen Sie es etwas später erneut. Ist der Log-Speicher vorübergehend nicht erreichbar, kommt503 service_unavailable zurück.
Einträge vor dem 17.09.2026
Wie Einträge aus dem alten Log-System zurückkommen
Das Log-System für ISP, Datacenter und Gaming wurde am 17.09.2026 erneuert. Ältere Einträge erscheinen ebenfalls in der Liste (nach den neuen Einträgen), Felder, die es in jenem System nicht gab, sind jedoch null: requestId, result, errorCode, egressIp, extIp, latencyMs und slot. In diesen Einträgen ist level nur connect oder error und resultCategory nur success oder unknown; id ist eine stabile, abgeleitete ID.
Filter, die nur auf Feldern des neuen Systems beruhen (ok, result, category, request_id, egress_ip, target_host,udp, slot, port, min_latency_ms), sowie Teilsuchen im Parameter ip liefern nur Einträge ab dem 17.09.2026. Auch die Log-Zeitleiste und die Nutzungszähler in den Dienstdetails umfassen nur das neue System.
Können die alten Einträge in dem Moment nicht gelesen werden, kommt die Antwort trotzdem, aber meta.partial ist true. In derselben Lage liefert der Nutzungsverlaufmeta.available false.
Nicht abwärtskompatible Änderungen
extIpist jetzt die tatsächliche Ausgangs-IP (identisch mitegressIp). Früher enthielt es die Proxy-Adresse, mit der Sie sich verbunden haben; diese steht jetzt ingateIp+gatePort.parentInfowurde entfernt.- In ISP-Einträgen ist
idjetzt dierequestId(ULID). timestampist jetzt der Zeitpunkt, an dem die Verbindung GESCHLOSSEN wurde, sekundengenau.levelkann jetzt auch die Werteauth,quotaunddisconnectannehmen.- Jeder Eintrag kommt mit demselben festen Satz an Schlüsseln. Neue Schlüssel sind hinzugekommen:
requestId,result,gateIp,egressIp,latencyMsund weitere. proxyTypeist jetzt nur nochhttpodersocks(identisch mitservice); ein unbekannter Wert wird alsnullgeliefert.- In der ISP-Familie ist der
source-Wert der Nutzungs-Endpoints jetztlogs. - In den Logs von Mobile/Residential waren
bytesInundbytesOutvertauscht. Jetzt sind bei jedem TypbytesIndie heruntergeladenen undbytesOutdie hochgeladenen Bytes (auch in älteren Einträgen).
Bei Support-Anfragen die requestId angeben
Wenn Sie Hilfe zu einer Verbindung brauchen, geben Sie den Wert requestId des Eintrags an; damit findet das Support-Team genau diese Verbindung. Mit dem Parameterrequest_id können Sie dieselbe Verbindung auch selbst abfragen. Das ist nicht die request_id aus Fehlerantworten: Jene bezeichnet Ihre API-Anfrage, diese eine Proxy-Verbindung.