
oproxy v0.1.11
Открытый MITM-прокси для перехвата, анализа и имитации сетевого трафика.
oproxy
oproxy — это локальный прокси-сервер HTTP, HTTPS, HTTP/3, WebSocket и SOCKS5 для инспектирования, воспроизведения и модификации трафика из браузеров, CLI, мобильных приложений, API-клиентов, сервисов и тестовых наборов.
Он запускает веб-интерфейс, API и опционального ИИ-ассистента на одном локальном слушателе, что позволяет захватывать трафик, инспектировать запросы и ответы, воспроизводить запросы, подменять вышестоящие серверы, переписывать трафик, ограничивать скорость ответов и экспортировать воспроизводимые фрагменты кода без изменения кода приложения.
Ассистент — это клиент управляющей плоскости, совместимый с OpenAI: он может инспектировать текущее состояние прокси через инструменты из белого списка и подготавливать изменения трафика/конфигурации в виде карточек подтверждения для проверки.
Примечание по безопасности: перехват HTTPS требует доверия к локальному корневому CA oproxy. Устанавливайте этот CA только на машинах и в браузерах, которые вы контролируете, храните сгенерированный закрытый ключ в безопасности и не открывайте доступ к административному интерфейсу без надёжного токена.
Основные возможности
- Захват трафика HTTP и HTTPS с поддержкой MITM для HTTPS.
- Инспектирование заголовков, тел, статусов, таймингов, тегов, заметок, JWT, GraphQL, метаданных gRPC и кадров WebSocket.
- Воспроизведение захваченных запросов или их редактирование в Compose.
- Экспорт захватов в виде HAR, cURL, Fetch или фрагментов кода на Python.
- Модификация трафика с помощью правил, моков, map-local/map-remote, правил доступа, ограничения скорости, точек останова, переопределений DNS, скриптов Lua и цепочек вышестоящих прокси.
- Использование Ассистента для инспектирования сессий, понимания состояния прокси и подготовки подтверждённых изменений через чат-модель, совместимую с OpenAI.
- Запуск из Docker, Docker Compose или из исходного кода.
Быстрый старт
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
Откройте http://127.0.0.1:8080 и войдите с токеном.
Для сетевого моста Docker требуется OPROXY_BIND_HOST=0.0.0.0. Приведённая выше команда по-прежнему публикует порты только на loopback хоста. Измените OPROXY_ADMIN_TOKEN перед реальным использованием.
Docker Compose
docker compose up --build
Включённый в репозиторий файл Compose включает MITM, HTTP/3 на UDP 8443, постоянное хранение сертификатов/состояния и проверку работоспособности.
Из исходного кода
Требования: Rust 1.85+, Node.js 22+ и Yarn через Corepack.
corepack enable
yarn --cwd src/design install --frozen-lockfile
yarn --cwd src/design build
cargo run --release
Откройте http://127.0.0.1:8080.
Первый захват
curl -x http://127.0.0.1:8080 http://example.com
Запрос появится в представлении Sessions.
Для 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
Для захвата HTTPS в браузере настройте браузер или ОС на использование 127.0.0.1:8080 в качестве прокси для HTTP и HTTPS, затем импортируйте CA с http://127.0.0.1:8080/admin/ca.
Демонстрация
Короткое демонстрационное видео


Узнать больше
- Начало работы
- Docker
- HTTPS MITM
- Ассистент
- Конфигурация
- Безопасность
- Устранение неполадок
- Архитектура
- Участие в разработке
Лицензия
oproxy распространяется под лицензией MIT.