
네트워크 트래픽을 가로채고, 검사하고, 모의 처리하는 오픈소스 MITM 프록시
oproxy는 브라우저, CLI, 모바일 앱, API 클라이언트, 서비스, 테스트 스위트의 트래픽을 검사, 재생, 수정하기 위한 로컬 HTTP, HTTPS, HTTP/3, WebSocket, SOCKS5 프록시입니다.
동일한 로컬 리스너에서 웹 UI, API, 선택적 AI 어시스턴트를 실행하므로 애플리케이션 코드를 변경하지 않고도 트래픽을 캡처하고, 요청과 응답을 검사하고, 요청을 재생하고, 업스트림을 모킹하고, 트래픽을 재작성하고, 응답을 스로틀링하고, 재현 가능한 스니펫을 내보낼 수 있습니다.
어시스턴트는 OpenAI 호환 컨트롤 플레인 클라이언트로, 허용 목록에 등록된 도구를 통해 현재 프록시 상태를 검사하고 트래픽/구성 변경을 검토 가능한 확인 카드로 준비할 수 있습니다.
보안 참고: HTTPS 가로채기를 위해서는 로컬 oproxy 루트 CA를 신뢰해야 합니다. 이 CA는 본인이 제어하는 머신과 브라우저에만 설치하고, 생성된 개인 키를 안전하게 보관하며, 강력한 토큰 없이 관리자 UI를 노출하지 마십시오.
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이 필요합니다. 위 명령은 여전히 호스트 루프백에서만 포트를 게시합니다. 실제 사용 전에 OPROXY_ADMIN_TOKEN을 변경하십시오.
docker compose up --build
체크인된 Compose 파일은 MITM, UDP 8443의 HTTP/3, 영구 인증서/상태, 헬스체크를 활성화합니다.
요구 사항: Rust 1.85+, Node.js 22+, Corepack을 통한 Yarn.
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 캡처의 경우, 브라우저 또는 OS가 127.0.0.1:8080을 HTTP 및 HTTPS 프록시로 사용하도록 구성한 다음 http://127.0.0.1:8080/admin/ca에서 CA를 가져옵니다.


oproxy는 MIT License에 따라 라이선스가 부여됩니다.