
oproxy v0.1.11
Proxy MITM de código abierto para interceptar, inspeccionar y simular tráfico de red.
oproxy
oproxy es un proxy local HTTP, HTTPS, HTTP/3, WebSocket y SOCKS5 para inspeccionar, reproducir y modificar el tráfico de navegadores, CLIs, aplicaciones móviles, clientes de API, servicios y suites de pruebas.
Ejecuta una interfaz web, una API y un asistente de IA opcional en el mismo listener local, para que puedas capturar tráfico, inspeccionar solicitudes y respuestas, reproducir solicitudes, simular upstreams, reescribir tráfico, limitar respuestas y exportar fragmentos reproducibles sin cambiar el código de la aplicación.
El Asistente es un cliente de plano de control compatible con OpenAI: puede inspeccionar el estado actual del proxy a través de herramientas incluidas en la lista de permitidos y preparar cambios de tráfico/configuración como tarjetas de confirmación revisables.
Nota de seguridad: La interceptación HTTPS requiere confiar en una CA raíz local de oproxy. Instala esa CA solo en máquinas y navegadores que controles, mantén segura la clave privada generada y no expongas la interfaz de administración sin un token fuerte.
Aspectos destacados
- Captura tráfico HTTP y HTTPS, con soporte MITM para HTTPS.
- Inspecciona encabezados, cuerpos, estado, tiempos, etiquetas, notas, JWT, GraphQL, metadatos gRPC y tramas WebSocket.
- Reproduce solicitudes capturadas o edítalas en Compose.
- Exporta capturas como HAR, cURL, Fetch o fragmentos de Python.
- Modifica el tráfico con reglas, mocks, map-local/map-remote, reglas de acceso, limitación, breakpoints, anulaciones de DNS, scripts Lua y encadenamiento de proxy upstream.
- Usa el Asistente para inspeccionar sesiones, comprender el estado del proxy y preparar cambios confirmados a través de un modelo de chat compatible con OpenAI.
- Ejecuta desde Docker, Docker Compose o el código fuente.
Inicio rápido
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
Abre http://127.0.0.1:8080 e inicia sesión con el token.
La red bridge de Docker necesita OPROXY_BIND_HOST=0.0.0.0. El comando anterior sigue publicando puertos solo en el loopback del host. Cambia OPROXY_ADMIN_TOKEN antes de usarlo en producción.
Docker Compose
docker compose up --build
El archivo Compose incluido en el repositorio habilita MITM, HTTP/3 en UDP 8443, certificados/estado persistentes y un healthcheck.
Código fuente
Requisitos: Rust 1.85+, Node.js 22+ y Yarn mediante Corepack.
corepack enable
yarn --cwd src/design install --frozen-lockfile
yarn --cwd src/design build
cargo run --release
Abre http://127.0.0.1:8080.
Primera captura
curl -x http://127.0.0.1:8080 http://example.com
La solicitud aparece en la vista 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 la captura HTTPS en el navegador, configura el navegador o el sistema operativo para usar 127.0.0.1:8080 como proxy HTTP y HTTPS, luego importa la CA desde http://127.0.0.1:8080/admin/ca.
Demostración


Más información
- Primeros pasos
- Docker
- HTTPS MITM
- Asistente
- Configuración
- Seguridad
- Solución de problemas
- Arquitectura
- Contribuir
Licencia
oproxy está licenciado bajo la Licencia MIT.