oproxy is an open-source HTTP, HTTPS, and SOCKS5 proxy tool that enables developers to intercept, inspect, and modify network traffic with advanced features including AI-powered assistance, comprehensive traffic manipulation, and extensive export capabilities.
oproxy presents itself as a comprehensive solution for developers who need to inspect and manipulate network traffic during development and testing. This open-source tool, written in Rust, offers a local proxy server capable of handling HTTP, HTTPS, and SOCKS5 traffic with an impressive array of features for traffic analysis and modification.
Core Functionality
At its core, oproxy operates as a man-in-the-middle proxy that captures network traffic, allowing developers to examine requests and responses in detail. The tool supports both HTTP and HTTPS traffic, though the latter requires trusting the locally generated CA certificate—a standard practice for MITM proxies but one that introduces security considerations.
The proxy exposes two main ports by default: port 8080 for HTTP traffic and port 1080 for SOCKS5. It also serves a web-based management UI and API from the same listener, providing a unified interface for controlling the proxy and inspecting captured traffic.
Key Features
oproxy distinguishes itself through several notable features:
Traffic Inspection and Capture
The tool captures live sessions in memory with configurable retention limits for sessions and bodies. It provides detailed views of requests and responses, including headers, bodies, status codes, timing information, and the ability to add tags and notes. Specialized inspection capabilities exist for JWT tokens, GraphQL queries, gRPC calls, and WebSocket frames when matching traffic is captured.
Request Replay and Modification
Developers can replay captured requests after editing headers, bodies, or other parameters. The tool includes a "Compose" feature for building manual requests with various options including headers, query parameters, authentication, raw bodies, variables, and collections. Requests can be exported as cURL commands, Fetch API calls, or Python snippets.
Traffic Manipulation
oproxy offers extensive traffic manipulation capabilities through:
- Rule sets for modifying requests and responses
- Map-remote and map-local functionality for redirecting traffic
- Access rules for filtering traffic
- Throttling to simulate slow or bandwidth-limited connections
- Breakpoints to pause matching requests or responses
- Mock responses to replace actual server responses
- DNS overrides to control DNS resolution
- Capture filters to selectively process traffic
- Lua scripts for custom modifications
- Upstream proxy chaining for complex routing scenarios
AI-Powered Assistant
One of oproxy's more distinctive features is its integrated Assistant, which uses an OpenAI-compatible chat model to help developers analyze traffic and prepare confirmed proxy changes. This AI assistant can inspect the current state of captured traffic and suggest modifications, potentially speeding up the debugging process for complex network issues.
Data Import/Export
The tool supports importing HAR files and oproxy's own JSON session data, while allowing exports in HAR format or as generated code snippets (cURL, Fetch, Python). All exports can be redacted to remove sensitive information.
Practical Applications
oproxy can be valuable in several development scenarios:
Debugging Network Issues: Inspect browser or CLI requests without modifying application code, making it easier to diagnose problems in client-server communication.
API Development: Test frontend applications against mock responses or local fixture files before connecting to actual backends.
Traffic Reproduction: Capture and replay specific requests to reproduce issues that occur intermittently.
Environment Simulation: Route subsets of traffic to staging services or simulate slow/bandwidth-limited responses to test application resilience.
Security Testing: Validate how clients behave when requests are blocked, redirected, or rewritten to identify potential security vulnerabilities.
Technical Implementation
oproxy is built with Rust for the proxy core and Node.js for the web UI, requiring Rust 1.85 or newer and Node.js 22 or newer for building from source. The tool can be run directly from source code or deployed via Docker with persistent volumes for certificates and local state.
The Docker setup is straightforward, with a simple command to run the container with the necessary port mappings and volume mounts. For more complex setups, a Docker Compose file is provided that uses host networking and persists the necessary directories.
Limitations and Considerations
Despite its capabilities, oproxy has several limitations that developers should consider:
HTTPS Interception Requirements: As with all MITM proxies, HTTPS interception requires trusting a locally generated CA certificate, which may not be feasible in all environments, particularly corporate or security-conscious settings.
Performance Impact: Complex traffic modifications, especially those involving Lua scripts or the AI assistant, may introduce noticeable latency or performance overhead.
AI Assistant Dependency: The AI assistant requires access to an OpenAI-compatible model, which may incur costs if using a commercial service or require self-hosting capabilities.
Learning Curve: While the UI appears comprehensive, mastering all the traffic manipulation features may require a significant time investment.
Comparison with Alternatives
oproxy competes with several established tools in the network proxy space:
Charles Proxy: A commercial tool with similar capabilities but with a more polished UI and better documentation. However, it lacks the AI assistant feature and requires payment for full functionality.
Fiddler: A Windows-focused tool with strong .NET integration but less cross-platform support than oproxy.
mitmproxy: A Python-based open-source tool with a strong focus on scripting and extensibility, though its UI may feel less modern than oproxy's.
oproxy's main differentiators appear to be its AI-powered assistant and its comprehensive set of built-in traffic manipulation features, which reduce the need for custom scripting in many scenarios.
Getting Started
For developers interested in trying oproxy, the project provides clear documentation for multiple setup methods:
- Docker: The simplest approach, using a pre-built container image.
- Docker Compose: For more complex setups with persistent storage.
- From Source: For those who want to build and modify the codebase.
Initial setup involves downloading the CA certificate for HTTPS interception and configuring client applications or browsers to use the proxy. The web UI, accessible at http://127.0.0.1:8080, provides the interface for managing captures and configuring proxy behavior.
Conclusion
oproxy offers a compelling set of features for developers who need to inspect and manipulate network traffic during development and testing. Its combination of traditional proxy functionality with AI-powered assistance and comprehensive traffic manipulation capabilities makes it a versatile tool in the developer's toolbox.
While it faces competition from established commercial and open-source alternatives, oproxy's focus on providing a rich set of built-in features without requiring extensive scripting may appeal to developers who want powerful functionality without steep learning curves.
For developers working on browser extensions, mobile apps, API clients, or any application that communicates over HTTP/HTTPS, oproxy provides a robust solution for understanding and controlling network behavior during development.
For more information or to contribute to the project, visit the oproxy GitHub repository.

Comments
Please log in or register to join the discussion