A blazing-fast, lightweight HTTP proxy with intelligent caching, customizable logging, and support for multiple output formats. Designed for performance and flexibility.
- High-Performance HTTP Proxy: Efficiently forwards HTTP requests and responses, minimizing latency.
- Intelligent Caching: Dynamically caches frequently accessed content, significantly reducing server load and improving response times.
- Flexible Logging: Tailor logging levels and output formats to gain deep insights into proxy behavior.
- Multiple Output Formats: Supports JSON, plain text, and other formats for seamless integration with monitoring tools.
- Lightweight & Scalable: Optimized for minimal resource consumption and effortless scaling.
- Easy to Deploy: Simple installation and configuration for rapid deployment in any environment.
In today's demanding digital landscape, performance and efficiency are paramount. PlatypusX is engineered to provide a robust and scalable HTTP proxy solution that enhances your application's speed and reliability. Whether you're optimizing web applications, APIs, or microservices, PlatypusX delivers the performance you need.
Ensure you have Go installed (version 1.20 or higher). Then, install PlatypusX with the following command:
go get github.com/mekhushi/PlatypusX-
Navigate to the
cmd/platypusXdirectory:cd $GOPATH/src/github.com/mekhushi/PlatypusX/cmd/platypusX
-
Run PlatypusX with default settings:
go run main.go
This will start the proxy on port 8080.
PlatypusX offers extensive configuration options via command-line flags:
| Option | Type | Default | Description |
|---|---|---|---|
-port |
int |
8080 |
The port on which the proxy listens. |
-cache-size |
string |
1GB |
The maximum size of the cache (e.g., 1GB, 500MB). |
-log-level |
string |
info |
The logging level (debug, info, warn, error). |
-output-format |
string |
json |
The output format for logs and cached content (json, text). |
-upstream-url |
string |
"" |
The upstream server URL to forward requests to. |
Example:
go run main.go -port 9000 -cache-size 2GB -log-level debug -upstream-url http://example.comPlatypusX supports various caching strategies to optimize performance. You can configure the cache size and expiration policies to suit your specific needs.
Customize the logging output to monitor proxy behavior and troubleshoot issues effectively.
Configure PlatypusX to forward requests to an upstream proxy for enhanced security and control.
We welcome contributions from the community! Please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Write clear, concise commit messages.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, bug reports, and feature requests, please open an issue on GitHub.