Request-Identitätsprofile pro Proxy-Aufruf auswählbar machen #20

Closed
opened 2026-07-17 11:56:55 +02:00 by frank · 1 comment
Owner

Ziel

Der aufrufende Agent kann pro HTTP-Request auswählen, als welcher erlaubte Client sich der private Proxy gegenüber dem Zielserver präsentiert.

Scope

  • Die MCP-Tools http_get und http_request erhalten einen optionalen Parameter client_profile.
  • Der Agent wählt ausschließlich aus serverseitig konfigurierten und in der Toolbeschreibung sichtbaren Profilnamen.
  • Mitgelieferte Basisprofile mindestens:
    • default
    • chrome-desktop
    • firefox-desktop
    • mobile-chrome
  • Ein Profil bündelt konsistente HTTP-Merkmale:
    • User-Agent
    • Accept
    • Accept-Language
    • Accept-Encoding
    • passende Client-Hints wie Sec-CH-UA und Sec-CH-UA-Mobile
  • Betreiber können eigene Profile in der Viper-Konfiguration definieren und erlaubte Profile begrenzen.
  • Explizite Request-Header dürfen ein Profil nur gemäß bestehender Header-Policy überschreiben.
  • Authorization, Cookie, Host, Connection und weitere sensible beziehungsweise Hop-by-hop Header bleiben von Profilen ausgeschlossen.
  • Das Tool-Ergebnis nennt das effektiv verwendete Profil und nicht dessen sensitive Konfigurationsdetails.
  • Dokumentieren, dass ein Go-http.Client durch Header allein keinen echten Chrome-/Firefox-TLS-Fingerprint erzeugt. Wenn eine konsistente Browser-/TLS-Identität erforderlich ist, muss der Request über das Browser-Backend laufen.
  • Optional prüfen, ob ein kompatibles Profil an yt-dlp --impersonate weitergereicht werden kann; nur gegen eine Allowlist und nur wenn das installierte yt-dlp die Zielidentität unterstützt.
  • Profile und Browser-Versionen kontrolliert aktualisieren; keine behaupteten Versionsnummern dauerhaft fest codieren.

Sicherheits- und Datenschutzgrenzen

  • Die Auswahl darf keine Authentisierung umgehen und keine Cookies anderer Profile oder Benutzer übernehmen.
  • Logging enthält nur den Profilnamen; sensible Headerwerte werden weiterhin redigiert.
  • Profile sind eine Kompatibilitätsfunktion und keine Garantie zur Umgehung von Bot-Schutz.
  • Rate Limits, SSRF-Policy und Ziel-Allow-/Deny-Regeln gelten unverändert.

Akzeptanzkriterien

  • tools/list dokumentiert die erlaubten Profilnamen und Semantik.
  • Ohne client_profile bleibt das bisherige Default-Verhalten erhalten.
  • Integrationstests bestätigen die effektiven Header für jedes Basisprofil.
  • Tests verhindern widersprüchliche Client-Hints und gesperrte Header.
  • Ein unbekanntes oder nicht erlaubtes Profil erzeugt einen handlungsfähigen Tool Execution Error.
  • Dokumentation erklärt klar den Unterschied zwischen Headerprofil und echter Browser-/TLS-Emulation.

Abhängigkeiten

  • HTTP-Ausführungsengine
  • MCP-Webrequest-Tools
  • Netzwerk-/Header-Policy

Referenzen

## Ziel Der aufrufende Agent kann pro HTTP-Request auswählen, als welcher erlaubte Client sich der private Proxy gegenüber dem Zielserver präsentiert. ## Scope - Die MCP-Tools http_get und http_request erhalten einen optionalen Parameter client_profile. - Der Agent wählt ausschließlich aus serverseitig konfigurierten und in der Toolbeschreibung sichtbaren Profilnamen. - Mitgelieferte Basisprofile mindestens: - default - chrome-desktop - firefox-desktop - mobile-chrome - Ein Profil bündelt konsistente HTTP-Merkmale: - User-Agent - Accept - Accept-Language - Accept-Encoding - passende Client-Hints wie Sec-CH-UA und Sec-CH-UA-Mobile - Betreiber können eigene Profile in der Viper-Konfiguration definieren und erlaubte Profile begrenzen. - Explizite Request-Header dürfen ein Profil nur gemäß bestehender Header-Policy überschreiben. - Authorization, Cookie, Host, Connection und weitere sensible beziehungsweise Hop-by-hop Header bleiben von Profilen ausgeschlossen. - Das Tool-Ergebnis nennt das effektiv verwendete Profil und nicht dessen sensitive Konfigurationsdetails. - Dokumentieren, dass ein Go-http.Client durch Header allein keinen echten Chrome-/Firefox-TLS-Fingerprint erzeugt. Wenn eine konsistente Browser-/TLS-Identität erforderlich ist, muss der Request über das Browser-Backend laufen. - Optional prüfen, ob ein kompatibles Profil an yt-dlp --impersonate weitergereicht werden kann; nur gegen eine Allowlist und nur wenn das installierte yt-dlp die Zielidentität unterstützt. - Profile und Browser-Versionen kontrolliert aktualisieren; keine behaupteten Versionsnummern dauerhaft fest codieren. ## Sicherheits- und Datenschutzgrenzen - Die Auswahl darf keine Authentisierung umgehen und keine Cookies anderer Profile oder Benutzer übernehmen. - Logging enthält nur den Profilnamen; sensible Headerwerte werden weiterhin redigiert. - Profile sind eine Kompatibilitätsfunktion und keine Garantie zur Umgehung von Bot-Schutz. - Rate Limits, SSRF-Policy und Ziel-Allow-/Deny-Regeln gelten unverändert. ## Akzeptanzkriterien - tools/list dokumentiert die erlaubten Profilnamen und Semantik. - Ohne client_profile bleibt das bisherige Default-Verhalten erhalten. - Integrationstests bestätigen die effektiven Header für jedes Basisprofil. - Tests verhindern widersprüchliche Client-Hints und gesperrte Header. - Ein unbekanntes oder nicht erlaubtes Profil erzeugt einen handlungsfähigen Tool Execution Error. - Dokumentation erklärt klar den Unterschied zwischen Headerprofil und echter Browser-/TLS-Emulation. ## Abhängigkeiten - HTTP-Ausführungsengine - MCP-Webrequest-Tools - Netzwerk-/Header-Policy ## Referenzen - yt-dlp unterstützt optionale Client-Impersonation: https://github.com/yt-dlp/yt-dlp#network-options - Browser Use wird in einem separaten Feature-Issue umgesetzt.
Author
Owner

🤖 forge agent started

  • Agent: codex
  • Model: gpt-5.6-sol
  • Mode: pr
  • Trigger: assignee=agent|+5 mapped

Request-Identitätsprofile pro Proxy-Aufruf auswählbar machen — Der aufrufende Agent kann pro HTTP-Request auswählen, als welcher erlaubte Client sich der private Proxy gegenüber dem Zielserver präsentiert.

🤖 **forge agent started** - Agent: `codex` - Model: `gpt-5.6-sol` - Mode: `pr` - Trigger: `assignee=agent|+5 mapped` Request-Identitätsprofile pro Proxy-Aufruf auswählbar machen — Der aufrufende Agent kann pro HTTP-Request auswählen, als welcher erlaubte Client sich der private Proxy gegenüber dem Zielserver präsentiert.
frank 2026-07-17 14:42:20 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
ai-tools/private-proxy-mcp#20
No description provided.