
Open-source MITM proxy to intercept, inspect, and mock network traffic.
oproxy is a local HTTP, HTTPS, and SOCKS5 proxy for inspecting, replaying, and modifying traffic.
It is for developers testing browsers, CLIs, mobile apps, API clients, services, and test suites on their own machine or in a local Docker container.
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
Open http://127.0.0.1:8080 and sign in with the token.
Or build locally:
docker build -t oproxy:latest .
docker compose up --build
The included Compose file uses bridge networking with loopback-published ports, persists /app/certs and /app/storage, and sets OPROXY_BIND_HOST=0.0.0.0. Linux users may optionally enable host networking.
Requirements:
corepack enable
yarn --cwd src/design install --frozen-lockfile
yarn --cwd src/design build
cargo run --release
Open http://127.0.0.1:8080.
curl -x http://127.0.0.1:8080 http://example.com
The request appears in the Sessions view.
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
For browser HTTPS capture, install the CA from http://127.0.0.1:8080/admin/ca into the browser or OS trust store.
OPROXY_PORT/port, default 8080.socks5_port.https_port.

MIT