展示 HN: Oproxy – 从浏览器检查和修改网络流量
oproxy 是一个本地 HTTP、HTTPS 和 SOCKS5 代理,用于检查、重放和修改流量。它为开发人员在自己的机器或本地 Docker 容器中测试浏览器、CLI、移动应用、API 客户端、服务和测试套件提供支持。功能: 捕获 HTTP 流量和 HTTPS 流量(在信任本地 oproxy CA 后)。查看请求、响应、头部、主体、状态、时间、标签、笔记和选定的检查数据。重放捕获的请求并在 Compose 中打开它们。构建包含头部、查询参数、身份验证、原始主体、变量、集合和 cURL 导出的手动请求。将捕获的数据导出为 HAR 或生成的 cURL、Fetch 和 Python 代码片段。使用规则集、映射远程、映射本地、访问规则、限速、断点、模拟响应、DNS 重写、捕获过滤器、Lua 脚本和上游代理链修改流量。使用身份验证助手检查状态,并通过与 OpenAI 兼容的聊天模型准备确认的代理更改。通过源代码或 Docker 运行,并为 CA 材料和本地状态设置持久卷。演示 短演示视频 快速开始 Docker docker run --rm \ --name oproxy \ -p 127.0.0.1:8080:8080 \ -p 127.0.0.1:1080:1080 \ -e OPROXY_BIND_HOST=0.0.0.0 \ -e OPROXY_MITM_ENABLED=true \ -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 。源代码要求: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 请求出现在会话视图中。第一次 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 / 端口,默认值为 8080 的情况下充当转发 HTTP 代理。从同一个监听器提供本地管理 UI 和 API。拦截 HTTPS CONNECT 流量,当 MITM 启用并且客户端信任生成的 CA 时。可选地监听 SOCKS5 CONNECT 流量。可选地运行第二个 TLS 监听器。 在内存中捕获实时会话,并限制会话和主体的保留时间。通过管理端点显式保存和加载会话。导出 HAR、cURL、Fetch 和 Python 代码片段,默认情况下经过简化。导入 HAR 文件和 oproxy JSON 会话数据。通过服务器发送事件流式传输会话更改通知。检查 JWT、GraphQL、gRPC 和 WebSocket 帧元数据,当捕获到匹配的流量时使用。用例: 在不更改应用程序代码的情况下调试浏览器或 CLI 请求。 在编辑头部或主体后重放捕获的请求。 测试前端是否与模拟响应或本地固定文件匹配。 将部分流量路由到临时服务。 复现缓慢或带宽有限的响应。 在匹配请求或响应继续之前暂停它们。 验证当请求被阻止、重定向或重写时客户端的行为。 截图 文档 入门 Docker HTTPS MITM Compose 助手 映射本地 DNS 重写 SOCKS5 配置 排错 安全性 许可证 MIT
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡