Getting Started
Prerequisites
- Linux Kernel Support: IO-uring requires a Linux kernel version that has io_uring 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 | sh
This 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
rustup
to nightly by running the following command:$ rustup default nightly
This command sets the default Rust toolchain to the nightly version.
-
Verify the installation and check the Rust version by running:
$ rustc --version
This 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 --release
-
Generate 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/