
Proxy MITM de código aberto para interceptar, inspecionar e simular tráfego de rede.
oproxy é um proxy local HTTP, HTTPS, HTTP/3, WebSocket e SOCKS5 para inspecionar, reproduzir e modificar tráfego de navegadores, CLIs, aplicativos móveis, clientes de API, serviços e suítes de teste.
Ele executa uma interface web, API e assistente de IA opcional no mesmo listener local, para que você possa capturar tráfego, inspecionar requisições e respostas, reproduzir requisições, simular upstreams, reescrever tráfego, limitar respostas e exportar trechos reproduzíveis sem alterar o código da aplicação.
O Assistente é um cliente de plano de controle compatível com OpenAI: ele pode inspecionar o estado atual do proxy por meio de ferramentas permitidas e preparar alterações de tráfego/configuração como cartões de confirmação revisáveis.
Nota de segurança: A interceptação HTTPS exige confiar em uma CA raiz local do oproxy. Instale essa CA apenas em máquinas e navegadores que você controla, mantenha a chave privada gerada em segurança e não exponha a interface de administração sem um 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
Abra http://127.0.0.1:8080 e faça login com o token.
A rede bridge do Docker precisa de OPROXY_BIND_HOST=0.0.0.0. O comando acima ainda publica portas apenas no loopback do host. Altere OPROXY_ADMIN_TOKEN antes do uso real.
docker compose up --build
O arquivo Compose incluído no repositório habilita MITM, HTTP/3 em UDP 8443, certificados/estado persistentes e um healthcheck.
Requisitos: Rust 1.85+, Node.js 22+ e Yarn via Corepack.
corepack enable
yarn --cwd src/design install --frozen-lockfile
yarn --cwd src/design build
cargo run --release
Abra http://127.0.0.1:8080.
curl -x http://127.0.0.1:8080 http://example.com
A requisição aparece na visualização Sessions.
Para 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
Para captura HTTPS no navegador, configure o navegador ou o sistema operacional para usar 127.0.0.1:8080 como proxy HTTP e HTTPS, depois importe a CA de http://127.0.0.1:8080/admin/ca.


oproxy é licenciado sob a Licença MIT.