From dcedd7f6b3fd16f8897569cd573325e7c715f367 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Mon, 25 Jul 2022 20:20:02 +0900 Subject: [PATCH] update readme --- README.md | 22 ++++++++++++++++++++++ TODO.md | 12 ++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 TODO.md diff --git a/README.md b/README.md index 47a0c3c..d87abdf 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,25 @@ This project is still *work-in-progress*. But it is already working in some production environments and serves numbers of domain names. Furthermore it dramatically outperforms NGINX and Caddy in the setting of very simple HTTP reverse-proxy scenario (See [`bench`](./bench/) directory). `rpxy` provides the sanitization of TLS's SNI (server name indication) in default by correctly binding a certificate used to establish an underlying TLS connection with backend application specified in the overlaid HTTP HOST header (or URL in Request line). Additionally, as a somewhat unstable feature, our `rpxy` can handle the brand-new HTTP/3 connection thanks to [`quinn`](https://github.com/quinn-rs/quinn) and [`hyperium/h3`](https://github.com/hyperium/h3). + +## Making an executable binary + +```:bash +% cargo build --release +``` + +Then you have a binary at `./target/release/rpxy`. + +You can also use [`docker` image](https://hub.docker.com/r/jqtype/rpxy) instead of building from the source. + +## Usage + +todo! + +## Configuration + +todo! + +## Using `docker` image + +todo! diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..3f1d8ff --- /dev/null +++ b/TODO.md @@ -0,0 +1,12 @@ +# TODO List + +- Improvement of path matcher +- Option for rewriting path like + ``` + https://example.com:8080/path/to -> http://backend:3030/any_path + ``` + Currently, incoming path (`/path/to/`) is always preserved in the mapping process, i.e., mapped to `backend:3030/path/to`. +- Smaller footprint of docker image using musl +- Refactoring +- Options to serve custom http_error page. +- etc.