Torna agli aggiornamenti
New releaseJul 31, 2026

oproxy v0.1.10

Proxy MITM open-source per intercettare, ispezionare e simulare il traffico di rete.

Condividi

oproxy

oproxy è un proxy locale HTTP, HTTPS e SOCKS5 per ispezionare, riprodurre e modificare il traffico.

È pensato per sviluppatori che testano browser, CLI, app mobili, client API, servizi e suite di test sulla propria macchina o in un container Docker locale.

sauravrao637%2Foproxy | Trendshift

Caratteristiche

  • Cattura il traffico HTTP e HTTPS dopo aver aggiunto la CA locale di oproxy ai certificati fidati.
  • Visualizza richieste, risposte, header, body, stato, tempi, tag, note e dati selezionati dagli inspector.
  • Riproduce le richieste catturate e le apre in Compose.
  • Costruisce richieste manuali con header, parametri di query, autenticazione, body grezzi, variabili, raccolte ed esportazione in cURL.
  • Esporta le catture come HAR o snippet generati in cURL, Fetch e Python.
  • Modifica il traffico con set di regole, map-remote, map-local, regole di accesso, throttling, breakpoint, risposte mock, override DNS, filtri di cattura, script Lua e concatenamento di proxy upstream.
  • Usa l'Assistant autenticato per ispezionare lo stato e preparare modifiche confermate al proxy tramite un modello di chat compatibile con OpenAI.
  • Esegui da sorgente o Docker con volumi persistenti per i materiali della CA e lo stato locale.

Demo

Breve video dimostrativo

Avvio rapido

Docker

docker run --rm \
  --name oproxy \
  -p 127.0.0.1:8080:8080 \
  -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.

Oppure compila localmente:

docker build -t oproxy:latest .

Docker Compose

docker compose up --build

Il file Compose incluso utilizza il networking bridge con porte pubblicate su loopback, mantiene persistenti /app/certs e /app/storage e imposta OPROXY_BIND_HOST=0.0.0.0. Gli utenti Linux possono facoltativamente abilitare il networking host.

Sorgente

Requisiti:

  • Rust 1.85 o successivo
  • Node.js 22 o successivo
  • 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 richiesta

curl -x http://127.0.0.1:8080 http://example.com

La richiesta appare nella vista Sessioni.

Prima cattura 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, installa la CA da http://127.0.0.1:8080/admin/ca nel trust store del browser o del sistema operativo.

Cosa può fare

  • Agire come proxy HTTP forward su OPROXY_PORT/port, predefinito 8080.
  • Servire l'interfaccia di gestione locale e l'API dallo stesso listener.
  • Intercettare il traffico HTTPS CONNECT quando il MITM è abilitato e il client si fida della CA generata.
  • Ascoltare opzionalmente il traffico SOCKS5 CONNECT su socks5_port.
  • Eseguire opzionalmente un secondo listener TLS con https_port.
  • Catturare sessioni live in memoria con conservazione limitata di sessioni e body.
  • Salvare e caricare sessioni esplicitamente con endpoint di amministrazione.
  • Esportare snippet HAR, cURL, Fetch e Python, con dati oscurati per impostazione predefinita.
  • Importare file HAR e dati di sessione JSON di oproxy.
  • Trasmettere notifiche di modifica delle sessioni con eventi server-sent.
  • Ispezionare i metadati dei frame JWT, GraphQL, gRPC e WebSocket quando viene catturato traffico corrispondente.

Casi d'uso

  • Eseguire il debug di una richiesta da browser o CLI senza modificare il codice dell'applicazione.
  • Riprodurre una richiesta catturata dopo aver modificato header o body in Compose.
  • Testare un frontend con risposte mock o file fixture locali.
  • Instradare un sottoinsieme di traffico verso un servizio di staging.
  • Riprodurre risposte lente o con larghezza di banda limitata.
  • Mettere in pausa richieste o risposte corrispondenti prima che continuino.
  • Validare il comportamento di un client quando le richieste vengono bloccate, reindirizzate o riscritte.

Screenshot

oproxy sessions screenshot

oproxy compose screenshot

Documentazione

Licenza

MIT

Categorie