Назад к обновлениям
New releaseJul 31, 2026

oproxy v0.1.10

Открытый MITM-прокси для перехвата, анализа и имитации сетевого трафика.

Поделиться

oproxy

oproxy — это локальный HTTP-, HTTPS- и SOCKS5-прокси для просмотра, повторного воспроизведения и изменения трафика.

Он предназначен для разработчиков, тестирующих браузеры, CLI-приложения, мобильные приложения, API-клиенты, сервисы и тестовые наборы на своей машине или в локальном Docker-контейнере.

sauravrao637%2Foproxy | Trendshift

Возможности

  • Захват HTTP-трафика и HTTPS-трафика после доверия к локальному CA oproxy.
  • Просмотр запросов, ответов, заголовков, тел, статусов, таймингов, тегов, заметок и выбранных данных инспектора.
  • Повторное воспроизведение захваченных запросов и их открытие в Compose.
  • Создание ручных запросов с заголовками, параметрами запроса, аутентификацией, raw-телами, переменными, коллекциями и экспортом в cURL.
  • Экспорт захватов в формате HAR или в виде сгенерированных snippet'ов cURL, Fetch и Python.
  • Изменение трафика с помощью наборов правил, map-remote, map-local, правил доступа, троттлинга, точек останова, mock-ответов, переопределений DNS, фильтров захвата, Lua-скриптов и цепочки вышестоящих прокси.
  • Использование аутентифицированного Assistant для проверки состояния и подготовки подтверждённых изменений прокси через чат-модель, совместимую с OpenAI.
  • Запуск из исходного кода или Docker с постоянными томами для материала CA и локального состояния.

Демо

Короткое демо-видео

Быстрый старт

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

Откройте http://127.0.0.1:8080 и войдите с помощью токена.

Или соберите локально:

docker build -t oproxy:latest .

Docker Compose

docker compose up --build

Включённый файл Compose использует bridge-сеть с опубликованными портами на loopback, сохраняет /app/certs и /app/storage и устанавливает OPROXY_BIND_HOST=0.0.0.0. Пользователи Linux могут дополнительно включить host-сеть.

Из исходного кода

Требования:

  • 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 в браузере установите CA из http://127.0.0.1:8080/admin/ca в хранилище доверия браузера или ОС.

Что он умеет

  • Работать как прямой HTTP-прокси на OPROXY_PORT/port, по умолчанию 8080.
  • Обслуживать локальный управляющий UI и API с того же слушателя.
  • Перехватывать HTTPS CONNECT-трафик, когда MITM включён и клиент доверяет сгенерированному CA.
  • Опционально принимать SOCKS5 CONNECT-трафик на socks5_port.
  • Опционально запускать второй TLS-слушатель на https_port.
  • Захватывать живые сессии в памяти с ограниченным хранением сессий и тел.
  • Явно сохранять и загружать сессии через admin-эндпоинты.
  • Экспортировать HAR, cURL, Fetch и Python snippet'ы, по умолчанию с редактированием конфиденциальных данных.
  • Импортировать HAR-файлы и данные сессий oproxy в формате JSON.
  • Передавать уведомления об изменениях сессий с помощью server-sent events.
  • Инспектировать метаданные кадров JWT, GraphQL, gRPC и WebSocket при захвате соответствующего трафика.

Варианты использования

  • Отладка запроса из браузера или CLI без изменения кода приложения.
  • Повторное воспроизведение захваченного запроса после редактирования заголовков или тела в Compose.
  • Тестирование фронтенда против mock-ответов или локальных fixture-файлов.
  • Маршрутизация части трафика на staging-сервис.
  • Воспроизведение медленных ответов или ответов с ограниченной пропускной способностью.
  • Приостановка подходящих запросов или ответов до их продолжения.
  • Проверка поведения клиента, когда запросы блокируются, перенаправляются или переписываются.

Скриншоты

скриншот сессий oproxy

скриншот Compose в oproxy

Документация

Лицензия

MIT

Категории