Getting Started
Prerequisites
- Linux Kernel Support: io_uring requires linux kernel support. Generally, kernel versions 5.1 and above provide the necessary support. Ensure that your target system has an appropriate kernel version installed. Monolake will fall back to epoll on Mac OS.
- Rust nightly: See the “Rust installation section” below
Quick Start
This chapter will get you started with Monolake proxy using a simple example config.
Rust installation
To download and install Rust, and set rustup to nightly, you can follow these instructions:
Download and install Rust by running the following command in your terminal:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shThis command will download the Rust installation script and initiate the installation process.
Close the terminal and open a new terminal window to ensure the changes take effect.
Set
rustupto nightly by running the following command:$ rustup default nightlyThis command sets the default Rust toolchain to the nightly version.
Verify the installation and check the Rust version by running:
$ rustc --versionThis command will display the installed Rust version, which should now be set to nightly.
Build Monolake
Clone the monolake repository
git clone https://github.com/cloudwego/monolake.git.Build the binary:
$ cargo build --releaseGenerate the certificates for the example:
$ sh examples/gen_cert.sh
Run the example
- Start the proxy
$ ./target/release/monolake -c examples/config.toml
- Send a request to the HTTP proxy.
$ curl -vvv http://127.0.0.1:8080/
- Send a request to the HTTPS proxy.
$ curl --resolve gateway.monolake.rs:8081:127.0.0.1 --cacert examples/certs/rootCA.crt -vvv https://gateway.monolake.rs:8081/