
Proxy MITM open-source per intercettare, ispezionare e simulare il traffico di rete.
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.
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 up --build
Il file Compose incluso abilita MITM, HTTP/3 su UDP 8443, certificati/stato persistenti e un healthcheck.
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.
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.


oproxy è distribuito sotto MIT License.