
oproxy v0.1.11
Proxy MITM open-source per intercettare, ispezionare e simulare il traffico di rete.
oproxy
oproxy è un proxy locale HTTP, HTTPS, HTTP/3, WebSocket e SOCKS5 per ispezionare, riprodurre e modificare il traffico proveniente da browser, CLI, app mobile, client API, servizi e suite di test.
Esegue una web UI, un'API e un assistente AI opzionale sullo stesso listener locale, così puoi catturare il traffico, ispezionare richieste e risposte, riprodurre richieste, simulare upstream, riscrivere il traffico, limitare le risposte ed esportare snippet riproducibili senza modificare il codice dell'applicazione.
L'Assistente è un client control-plane compatibile con OpenAI: può ispezionare lo stato attuale del proxy tramite strumenti in allowlist e preparare modifiche di traffico/configurazione come schede di conferma revisionabili.
Nota di sicurezza: l'intercettazione HTTPS richiede di fidarsi di una root CA locale di oproxy. Installa quella CA solo su macchine e browser che controlli, conserva al sicuro la chiave privata generata e non esporre la UI di amministrazione senza un token forte.
Punti salienti
- Cattura il traffico HTTP e HTTPS, con supporto MITM per HTTPS.
- Ispeziona header, body, stato, timing, tag, note, JWT, GraphQL, metadati gRPC e frame WebSocket.
- Riproduci le richieste catturate o modificale in Compose.
- Esporta le catture come snippet HAR, cURL, Fetch o Python.
- Modifica il traffico con regole, mock, map-local/map-remote, regole di accesso, throttling, breakpoint, override DNS, script Lua e concatenamento di proxy upstream.
- Usa l'Assistente per ispezionare le sessioni, comprendere lo stato del proxy e preparare modifiche confermate tramite un modello di chat compatibile con OpenAI.
- Esegui da Docker, Docker Compose o dai sorgenti.
Avvio rapido
Docker
docker run --rm \
--name oproxy \
-p 127.0.0.1:8080:8080 \
-p 127.0.0.1:1080:1080 \
-p 127.0.0.1:8443:8443/udp \
-e OPROXY_BIND_HOST=0.0.0.0 \
-e OPROXY_MITM_ENABLED=true \
-e OPROXY_HTTP3_ENABLED=true \
-e OPROXY_HTTP3_PORT=8443 \
-e OPROXY_ALLOW_REMOTE_ADMIN=true \
-e OPROXY_ADMIN_TOKEN=change-me-to-a-strong-secret \
-v oproxy-certs:/app/certs \
-v oproxy-storage:/app/storage \
ghcr.io/sauravrao637/oproxy:latest
Apri http://127.0.0.1:8080 e accedi con il token.
Il networking bridge di Docker richiede OPROXY_BIND_HOST=0.0.0.0. Il comando sopra pubblica comunque le porte solo sul loopback dell'host. Cambia OPROXY_ADMIN_TOKEN prima dell'uso reale.
Docker Compose
docker compose up --build
Il file Compose incluso abilita MITM, HTTP/3 su UDP 8443, certificati/stato persistenti e un healthcheck.
Sorgenti
Requisiti: Rust 1.85+, Node.js 22+ e Yarn tramite Corepack.
corepack enable
yarn --cwd src/design install --frozen-lockfile
yarn --cwd src/design build
cargo run --release
Apri http://127.0.0.1:8080.
Prima cattura
curl -x http://127.0.0.1:8080 http://example.com
La richiesta appare nella vista Sessions.
Per HTTPS:
curl http://127.0.0.1:8080/admin/ca -o oproxy-ca.crt
curl --cacert oproxy-ca.crt -x http://127.0.0.1:8080 https://example.com
Per la cattura HTTPS nel browser, configura il browser o il sistema operativo per usare 127.0.0.1:8080 come proxy HTTP e HTTPS, poi importa la CA da http://127.0.0.1:8080/admin/ca.
Demo


Ulteriori informazioni
- Guida introduttiva
- Docker
- HTTPS MITM
- Assistente
- Configurazione
- Sicurezza
- Risoluzione dei problemi
- Architettura
- Contribuire
Licenza
oproxy è distribuito sotto MIT License.