From 690a364a7d931347db4efda5e23866bc438c93c3 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 19 Mar 2025 00:53:39 +0900 Subject: [PATCH 1/3] [skip ci] docs: update readme --- README.md | 3 +++ rpxy-acme/Cargo.toml | 4 ++-- rpxy-certs/Cargo.toml | 2 +- rpxy-lib/Cargo.toml | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6a918e5..c7a1183 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,9 @@ > **WIP Project** +> [!NOTE] +> This project is an HTTP, i.e., Layer 7, reverse-proxy. If you are looking for a TCP/UDP, i.e., Layer 4, reverse-proxy, please check my another project, [`rpxy-l4`](https://github.com/junkurihara/rust-rpxy-l4). + ## Introduction `rpxy` [ahr-pik-see] is an implementation of simple and lightweight reverse-proxy with some additional features. The implementation is based on [`hyper`](https://github.com/hyperium/hyper), [`rustls`](https://github.com/rustls/rustls) and [`tokio`](https://github.com/tokio-rs/tokio), i.e., written in Rust [^pure_rust]. Our `rpxy` routes multiple host names to appropriate backend application servers while serving TLS connections. diff --git a/rpxy-acme/Cargo.toml b/rpxy-acme/Cargo.toml index 8e6f004..07c3b9f 100644 --- a/rpxy-acme/Cargo.toml +++ b/rpxy-acme/Cargo.toml @@ -24,11 +24,11 @@ aws-lc-rs = { version = "1.12.6", default-features = false, features = [ "aws-lc-sys", ] } blocking = "1.6.1" -rustls = { version = "=0.23.23", default-features = false, features = [ +rustls = { version = "0.23.25", default-features = false, features = [ "std", "aws_lc_rs", ] } -rustls-platform-verifier = { version = "0.5.0" } +rustls-platform-verifier = { version = "0.5.1" } rustls-acme = { path = "../submodules/rustls-acme/", default-features = false, features = [ "aws-lc-rs", ] } diff --git a/rpxy-certs/Cargo.toml b/rpxy-certs/Cargo.toml index e548898..06b7297 100644 --- a/rpxy-certs/Cargo.toml +++ b/rpxy-certs/Cargo.toml @@ -22,7 +22,7 @@ derive_builder = { version = "0.20.2" } thiserror = { version = "2.0.12" } hot_reload = { version = "0.1.8" } async-trait = { version = "0.1.88" } -rustls = { version = "=0.23.23", default-features = false, features = [ +rustls = { version = "0.23.25", default-features = false, features = [ "std", "aws_lc_rs", ] } diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index a4e23be..84a7f22 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -80,7 +80,7 @@ hyper-rustls = { version = "0.27.5", default-features = false, features = [ # tls and cert management for server rpxy-certs = { path = "../rpxy-certs/", default-features = false } hot_reload = "0.1.8" -rustls = { version = "=0.23.23", default-features = false } +rustls = { version = "0.23.25", default-features = false } rustls-post-quantum = { version = "0.2.2", optional = true } tokio-rustls = { version = "0.26.2", features = ["early-data"] } @@ -91,7 +91,7 @@ rpxy-acme = { path = "../rpxy-acme/", default-features = false, optional = true tracing = { version = "0.1.41" } # http/3 -quinn = { version = "0.11.6", optional = true } +quinn = { version = "0.11.7", optional = true } h3 = { version = "0.0.7", features = ["tracing"], optional = true } h3-quinn = { version = "0.0.8", optional = true } s2n-quic = { version = "1.55.0", path = "../submodules/s2n-quic/quic/s2n-quic/", default-features = false, features = [ From 52335ddfdbcc4507834e2856ea7a55dee0240260 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 19 Mar 2025 01:17:30 +0900 Subject: [PATCH 2/3] fix --- Cargo.lock | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c3c89b4..812aea3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2135,7 +2135,7 @@ dependencies = [ "rustls", "rustls-pemfile", "rustls-post-quantum", - "rustls-webpki 0.103.0", + "rustls-webpki", "thiserror 2.0.12", "tokio", "tracing", @@ -2243,16 +2243,16 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki", "subtle", "zeroize", ] @@ -2313,9 +2313,9 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e012c45844a1790332c9386ed4ca3a06def221092eda277e6f079728f8ea99da" +checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" dependencies = [ "core-foundation 0.10.0", "core-foundation-sys", @@ -2325,11 +2325,11 @@ dependencies = [ "rustls", "rustls-native-certs", "rustls-platform-verifier-android", - "rustls-webpki 0.102.8", + "rustls-webpki", "security-framework 3.2.0", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2347,18 +2347,6 @@ dependencies = [ "rustls", ] -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "aws-lc-rs", - "ring", - "rustls-pki-types", - "untrusted 0.9.0", -] - [[package]] name = "rustls-webpki" version = "0.103.0" From 708b77b8a460b86bc1141d821da61872520eecce Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 19 Mar 2025 01:24:36 +0900 Subject: [PATCH 3/3] fixed by updating h3-quinn --- .github/workflows/ci.yml | 2 +- Cargo.lock | 4 ++-- rpxy-lib/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9ce36a..d9c9478 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,4 +18,4 @@ jobs: submodules: recursive - name: Run unit tests run: | - cargo update && cargo test --verbose + cargo test --verbose diff --git a/Cargo.lock b/Cargo.lock index 812aea3..e01c6f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1012,9 +1012,9 @@ dependencies = [ [[package]] name = "h3-quinn" -version = "0.0.8" +version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "690cbdc6600db8490412edf5e2bbec0c88f4d4e83f9e0800428b51e6c23372dc" +checksum = "6d482318ae94198fc8e3cbb0b7ba3099c865d744e6ec7c62039ca7b6b6c66fbf" dependencies = [ "bytes", "futures", diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index 84a7f22..33b5dcd 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -93,7 +93,7 @@ tracing = { version = "0.1.41" } # http/3 quinn = { version = "0.11.7", optional = true } h3 = { version = "0.0.7", features = ["tracing"], optional = true } -h3-quinn = { version = "0.0.8", optional = true } +h3-quinn = { version = "0.0.9", optional = true } s2n-quic = { version = "1.55.0", path = "../submodules/s2n-quic/quic/s2n-quic/", default-features = false, features = [ "provider-tls-rustls", ], optional = true }