Oproxy: Browser-Based Network Traffic Inspection and Modification
Oproxy is a network proxy tool that allows developers to inspect and modify network traffic using a browser-based interface. By acting as an intermediary between the client and the server, Oproxy enables the interception of requests and responses, facilitating debugging, security testing, and traffic shaping.
Core Functionality and Deployment
Oproxy provides a mechanism to capture network traffic and modify it on the fly. It supports Man-in-the-Middle (MITM) capabilities, which are essential for decrypting and inspecting HTTPS traffic.
Deployment is primarily handled via Docker. A typical deployment command involves setting the bind host, enabling MITM, and mounting volumes for certificates and storage:
docker run --rm \
--name oproxy \
--ulimit nofile=65535:65535 \
-p 8080:8080 \
-p 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
Key Features and Experimental Tools
Traffic Modification and Shaping
Oproxy goes beyond simple inspection by allowing users to shape traffic. While browser-native network inspectors provide visibility into requests, Oproxy's ability to modify traffic in transit provides a level of control not available in standard browser DevTools.
Experimental AI Assistant
Oproxy includes an experimental AI assistant designed to improve the usability of traffic inspection. The developer, sauravrao637, has specifically requested user feedback on the assistant's effectiveness and usability.
Community Feedback and Comparisons
Community discussions on Hacker News highlight several points regarding the tool's positioning and usability:
- User Interface Discovery: Some users reported difficulty finding the web interface for traffic visualization after starting the Docker container, noting that the initial documentation may not explicitly guide users to the UI access point.
- Comparison to Native Tools: There is a debate regarding the overlap between Oproxy and built-in browser network inspectors. One user noted:
"I can understand the motivation for CLI-based clients, but the browser built-in network inspector overlaps a lot."
- Alternative Tools: The community mentioned several alternatives and similar projects, including
mitmproxyandferret(available at github.com/synlace/ferret). Additionally,Clawchromewas cited as another tool using MITM proxies for browser network capture to support agents without relying on the Chrome DevTools Protocol (CDP).
Technical Constraints
Oproxy requires specific configuration for high-volume traffic, as evidenced by the need to set the ulimit for open files (nofile=65535:65535) during Docker deployment to prevent the proxy from hitting system limits during heavy network activity.