mitmproxy installieren
Nutze den Paketmanager, mit dem du am liebsten arbeitest. Die folgenden Befehle sind nur Beispiele.
# macOS
brew install mitmproxy
# Python/pipx
pipx install mitmproxy
# Python/pip
python -m pip install --user mitmproxy
Leitfaden zur Netzwerk-Verifizierung
Prüfe den Datenverkehr von GhostBro selbst mit einem lokalen Proxy. Unsere Standardempfehlung ist mitmproxy, weil es kostenlos, transparent, skriptfähig und plattformübergreifend ist.
Die KI-Aufrufe von GhostBro tauchen nicht im Netzwerk-Tab der Browser-DevTools auf. Mit einem lokalen HTTPS-Proxy kannst du Ziel, Header, Request-Body und Antwort direkt auf deinem Rechner prüfen.
mitmproxy --listen-port 8080
# Du bevorzugst eine Browser-Oberfläche?
mitmweb --listen-port 8080
So lässt sich die Prüfung sauber nachvollziehen: Proxy installieren, dem lokalen Zertifikat vertrauen, GhostBro darüber leiten und anschließend nur die relevanten Provider-Anfragen prüfen.
Nutze den Paketmanager, mit dem du am liebsten arbeitest. Die folgenden Befehle sind nur Beispiele.
# macOS
brew install mitmproxy
# Python/pipx
pipx install mitmproxy
# Python/pip
python -m pip install --user mitmproxy
Nutze die Terminal-Oberfläche für eine gezielte Prüfung oder starte die Web-Oberfläche, wenn du Anfragen lieber im Browser durchgehst.
# Terminal-Oberfläche
mitmproxy --listen-port 8080
# Browser-Oberfläche
mitmweb --listen-port 8080
Öffne bei laufendem Proxy auf derselben Maschine http://mitm.it und installiere das Zertifikat für dein Betriebssystem. Erst dann kannst du HTTPS-Request-Bodies lokal einsehen.
Starte GhostBro mit Proxy-Umgebungsvariablen, damit der Netzwerkverkehr der App über mitmproxy läuft.
# macOS
HTTPS_PROXY=http://localhost:8080 \
HTTP_PROXY=http://localhost:8080 \
/Applications/GhostBro.app/Contents/MacOS/GhostBro
# Windows PowerShell
$env:HTTPS_PROXY = "http://localhost:8080"
$env:HTTP_PROXY = "http://localhost:8080"
& "$env:LOCALAPPDATA\Programs\GhostBro\GhostBro.exe"
Wenn dein Betriebssystem oder dein App-Build den System-Proxy bereits berücksichtigt, kannst du ihn auch dort konfigurieren. Der Start über Umgebungsvariablen bleibt trotzdem praktisch, weil sich die Prüfung damit leichter nachvollziehen und wiederholen lässt.
Löse in GhostBro eine KI-Aktion aus und filtere die Aufzeichnung anschließend auf den Provider, den du konfiguriert hast.
Suche in mitmproxy nach der Provider-Domain, die du in GhostBro ausgewählt hast. Typische Ziele für KI-Anfragen sind:
Die KI-Anfrage sollte nur das Modell, den Prompt-Text und die Bildschirmaufnahme oder Audiodaten für die ausgelöste Aktion enthalten.
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-********************************
Content-Type: application/json
{
"model": "gpt-4o",
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "Löse dieses Programmierproblem..." },
{ "type": "image_url", "image_url": { "url": "data:image/png;base64,..." } }
]
}]
}
Eine saubere Aufzeichnung ist im besten Sinne unspektakulär: Provider-Aufrufe für die KI-Arbeit, GhostBro-Aufrufe für den Account-Status und keine unerwarteten Datenabflüsse.
ghostbro.app für Authentifizierung und Abonnement-Prüfungen.Die genauen Felder unterscheiden sich je nach Provider, die Struktur sollte aber schlank und nachvollziehbar bleiben.
| Feld | Was es enthält |
|---|---|
| Bildschirmaufnahme | PNG-Capture für die Bildschirm-Analyse, in der Regel als Base64-Data-URL gesendet. |
| Prompt-Text | Die Anweisung, die GhostBro für die ausgewählte Aktion nutzt, plus deine konfigurierte Sprache und dein Kontext. |
| Modell-Identifier | Zum Beispiel gpt-4o, claude-3-5-sonnet-latest oder dein benutzerdefinierter Modellname. |
| API-Schlüssel | Dein Provider-Schlüssel, der nur im Authorization-Header der Provider-Anfrage enthalten ist. |
Dein Provider-API-Schlüssel darf niemals an die GhostBro-Server gesendet werden. Er darf nur in Anfragen an den KI-Provider erscheinen, den du ausgewählt hast.
mitmproxy ist der empfohlene Ausgangspunkt. Wenn du eine kostenpflichtige GUI möchtest, sind hier die gängigen Alternativen:
Stöbere in weiterer Dokumentation oder kontaktiere unser Team, wenn du nicht weiterkommst.