返回更新列表
新发布Jul 31, 2026

oproxy v0.1.10

开源的 MITM 代理,用于拦截、检查和模拟网络流量。

分享

oproxy

oproxy 是一个本地 HTTP、HTTPS 和 SOCKS5 代理,用于检查、重放和修改流量。

它面向开发人员,供他们在自己的机器或本地 Docker 容器中测试浏览器、CLI、移动应用、API 客户端、服务及测试套件。

sauravrao637%2Foproxy | Trendshift

功能

  • 信任本地 oproxy CA 后捕获 HTTP 和 HTTPS 流量。
  • 查看请求、响应、标头、正文、状态、时序、标签、备注以及选定的检查器数据。
  • 重放捕获的请求并在 Compose 中打开它们。
  • 使用标头、查询参数、认证、原始正文、变量、集合和 cURL 导出构建手动请求。
  • 将捕获导出为 HAR 或生成的 cURL、Fetch 和 Python 代码片段。
  • 通过规则集、map-remote、map-local、访问规则、限流、断点、模拟响应、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 文件使用桥接网络并发布环回端口,持久化 /app/certs/app/storage,并设置 OPROXY_BIND_HOST=0.0.0.0。Linux 用户可以选择启用主机网络。

源码

要求:

  • 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

该请求会出现在“会话”视图中。

首次 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 流量,请将 http://127.0.0.1:8080/admin/ca 中的 CA 安装到浏览器或操作系统的信任库中。

它能做什么

  • OPROXY_PORT/port 上充当正向 HTTP 代理,默认 8080
  • 在同一监听器上提供本地管理 UI 和 API。
  • 当启用 MITM 且客户端信任生成的 CA 时,拦截 HTTPS CONNECT 流量。
  • 可选择在 socks5_port 上监听 SOCKS5 CONNECT 流量。
  • 可选择使用 https_port 运行第二个 TLS 监听器。
  • 在内存中捕获实时会话,并限制会话和正文的保留量。
  • 通过管理端点显式保存和加载会话。
  • 导出 HAR、cURL、Fetch 和 Python 代码片段,默认经过脱敏处理。
  • 导入 HAR 文件和 oproxy JSON 会话数据。
  • 使用服务器发送事件流式传输会话变更通知。
  • 在捕获到匹配流量时检查 JWT、GraphQL、gRPC 和 WebSocket 帧元数据。

使用场景

  • 调试浏览器或 CLI 请求,无需更改应用程序代码。
  • 在 Compose 中编辑标头或正文后重放捕获的请求。
  • 使用模拟响应或本地夹具文件测试前端。
  • 将部分流量路由到预发布服务。
  • 重现缓慢或带宽受限的响应。
  • 在匹配的请求或响应继续之前将其暂停。
  • 验证当请求被阻止、重定向或重写时客户端的行为。

截图

oproxy 会话截图

oproxy Compose 截图

文档

许可证

MIT

分类