Compare commits

..

45 Commits

Author SHA1 Message Date
f89c6544dd Merge pull request 'Update Rust crate tokio to 1.48.0' () from renovate/tokio-1.x into master 2025-10-16 00:41:45 +00:00
bc2643ada5 Update Rust crate tokio to 1.48.0 2025-10-15 01:11:02 +00:00
3e4222d6c5 Merge pull request 'Update Rust crate clap to 4.5.49' () from renovate/clap-4.x into master 2025-10-15 01:10:58 +00:00
d1daba580c Update Rust crate clap to 4.5.49 2025-10-14 00:42:09 +00:00
a1f014df65 Merge pull request 'Update Rust crate webpki-roots to 1.0.3' () from renovate/webpki-roots-1.x into master 2025-10-09 00:15:43 +00:00
dd7f04f733 Update Rust crate webpki-roots to 1.0.3 2025-10-08 00:15:53 +00:00
e797f950dd Merge pull request 'Update Rust crate tokio-rustls to 0.26.4' () from renovate/tokio-rustls-0.x into master 2025-09-28 00:39:06 +00:00
c0ae5f2544 Update Rust crate tokio-rustls to 0.26.4 2025-09-27 00:40:41 +00:00
68f8a828cd Merge pull request 'Update Rust crate clap to 4.5.48' () from renovate/clap-4.x into master 2025-09-21 00:44:23 +00:00
2b8ccddef8 Update Rust crate clap to 4.5.48 2025-09-20 00:40:41 +00:00
e278caae07 Merge pull request 'Update Rust crate tokio-rustls to 0.26.3' () from renovate/tokio-rustls-0.x into master 2025-09-19 00:38:55 +00:00
3a6ee88ec2 Update Rust crate tokio-rustls to 0.26.3 2025-09-18 00:40:10 +00:00
2a503781cb Merge pull request 'Update Rust crate log to 0.4.28' () from renovate/log-0.x into master 2025-09-05 00:25:05 +00:00
39dc9a79ea Update Rust crate log to 0.4.28 2025-09-04 00:32:37 +00:00
aaeaf00e8c Merge pull request 'Update Rust crate clap to 4.5.47' () from renovate/clap-4.x into master 2025-09-04 00:32:35 +00:00
4ec90358a0 Update Rust crate clap to 4.5.47 2025-09-03 00:31:13 +00:00
387a53261c Fix cargo clippy issue 2025-08-28 08:07:41 +02:00
85fa873bb9 Merge pull request 'Update Rust crate clap to 4.5.46' () from renovate/clap-4.x into master 2025-08-28 00:31:39 +00:00
4c4ebedd10 Update Rust crate clap to 4.5.46 2025-08-27 00:31:25 +00:00
f21d66e765 Merge pull request 'Update Rust crate clap to 4.5.45' () from renovate/clap-4.x into master 2025-08-14 00:30:49 +00:00
9857b09658 Update Rust crate clap to 4.5.45 2025-08-13 00:31:21 +00:00
09708efc16 Merge pull request 'Update Rust crate clap to 4.5.43' () from renovate/clap-4.x into master 2025-08-08 00:18:22 +00:00
6bcc83ad49 Update Rust crate clap to 4.5.43 2025-08-07 00:18:51 +00:00
275352a3bb Merge pull request 'Update Rust crate tokio to 1.47.1' () from renovate/tokio-1.x into master 2025-08-03 00:21:03 +00:00
7f56138528 Update Rust crate tokio to 1.47.1 2025-08-02 00:20:05 +00:00
f9a7cc1ab4 Merge pull request 'Update Rust crate clap to 4.5.42' () from renovate/clap-4.x into master 2025-08-01 00:22:32 +00:00
4b0f065cd1 Update Rust crate clap to 4.5.42 2025-07-31 00:17:58 +00:00
1132d60c16 Merge pull request 'Update Rust crate tokio to 1.47.0' () from renovate/tokio-1.x into master 2025-07-27 00:18:43 +00:00
6b513e19dc Update Rust crate tokio to 1.47.0 2025-07-27 00:18:40 +00:00
e86e81cd7c Merge pull request 'Update Rust crate rand to 0.9.2' () from renovate/rand-0.x into master 2025-07-21 00:19:47 +00:00
9276191db2 Update Rust crate rand to 0.9.2 2025-07-21 00:19:45 +00:00
58b1f212d7 Merge pull request 'Update Rust crate webpki-roots to 1.0.2' () from renovate/webpki-roots-1.x into master 2025-07-19 00:20:31 +00:00
a0b691ec64 Update Rust crate webpki-roots to 1.0.2 2025-07-19 00:20:28 +00:00
f50904747b Merge pull request 'Update Rust crate clap to 4.5.41' () from renovate/clap-4.x into master 2025-07-10 01:57:30 +00:00
687684f8f8 Update Rust crate clap to 4.5.41 2025-07-10 00:18:12 +00:00
6cd8ca927b Merge pull request 'Update Rust crate tokio to 1.46.1' () from renovate/tokio-1.x into master 2025-07-05 01:39:52 +00:00
9930aac5e6 Update Rust crate tokio to 1.46.1 2025-07-05 00:11:01 +00:00
b5bcab095e Update Rust crate tokio to 1.46.0 2025-07-03 00:09:54 +00:00
11bcc632da Update Rust crate webpki-roots to 1.0.1 2025-06-20 00:22:32 +00:00
743904b1bf Update Rust crate clap to 4.5.40 2025-06-10 00:24:15 +00:00
044094ee57 Update Rust crate clap to 4.5.39 2025-05-28 00:09:57 +00:00
6af981c5a3 Update Rust crate tokio to 1.45.1 2025-05-25 00:08:49 +00:00
ed4c98d158 Update Rust crate clap to 4.5.38 2025-05-12 00:18:09 +00:00
c1d4d7ac36 Update Rust crate webpki-roots to v1 2025-05-10 00:17:43 +00:00
e9f449e283 Update Rust crate tokio to 1.45.0 2025-05-09 00:17:14 +00:00
3 changed files with 51 additions and 98 deletions

132
Cargo.lock generated

@@ -2,21 +2,6 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 4 version = 4
[[package]]
name = "addr2line"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
dependencies = [
"gimli",
]
[[package]]
name = "adler2"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.1.3" version = "1.1.3"
@@ -82,21 +67,6 @@ version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "backtrace"
version = "0.3.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
dependencies = [
"addr2line",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
"windows-targets",
]
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.8.0" version = "2.8.0"
@@ -132,9 +102,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.37" version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071" checksum = "f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@@ -142,9 +112,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.37" version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2" checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@@ -154,9 +124,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.32" version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@@ -222,12 +192,6 @@ dependencies = [
"windows-targets", "windows-targets",
] ]
[[package]]
name = "gimli"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]] [[package]]
name = "heck" name = "heck"
version = "0.5.0" version = "0.5.0"
@@ -266,9 +230,9 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.170" version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
@@ -282,9 +246,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.27" version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
[[package]] [[package]]
name = "memchr" name = "memchr"
@@ -292,15 +256,6 @@ version = "2.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "miniz_oxide"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
dependencies = [
"adler2",
]
[[package]] [[package]]
name = "mio" name = "mio"
version = "1.0.3" version = "1.0.3"
@@ -312,15 +267,6 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "object"
version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.20.3" version = "1.20.3"
@@ -414,9 +360,9 @@ dependencies = [
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.9.1" version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [ dependencies = [
"rand_chacha", "rand_chacha",
"rand_core", "rand_core",
@@ -494,17 +440,11 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "rustc-demangle"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]] [[package]]
name = "rustls" name = "rustls"
version = "0.23.23" version = "0.23.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"ring", "ring",
@@ -525,9 +465,9 @@ dependencies = [
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-webpki"
version = "0.102.8" version = "0.103.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb"
dependencies = [ dependencies = [
"ring", "ring",
"rustls-pki-types", "rustls-pki-types",
@@ -583,12 +523,12 @@ checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
[[package]] [[package]]
name = "socket2" name = "socket2"
version = "0.5.8" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -616,11 +556,10 @@ dependencies = [
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.44.2" version = "1.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
dependencies = [ dependencies = [
"backtrace",
"bytes", "bytes",
"libc", "libc",
"mio", "mio",
@@ -629,14 +568,14 @@ dependencies = [
"signal-hook-registry", "signal-hook-registry",
"socket2", "socket2",
"tokio-macros", "tokio-macros",
"windows-sys 0.52.0", "windows-sys 0.61.2",
] ]
[[package]] [[package]]
name = "tokio-macros" name = "tokio-macros"
version = "2.5.0" version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -645,9 +584,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio-rustls" name = "tokio-rustls"
version = "0.26.2" version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
dependencies = [ dependencies = [
"rustls", "rustls",
"tokio", "tokio",
@@ -688,13 +627,19 @@ dependencies = [
[[package]] [[package]]
name = "webpki-roots" name = "webpki-roots"
version = "1.0.0" version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" checksum = "32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8"
dependencies = [ dependencies = [
"rustls-pki-types", "rustls-pki-types",
] ]
[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"
version = "0.52.0" version = "0.52.0"
@@ -713,6 +658,15 @@ dependencies = [
"windows-targets", "windows-targets",
] ]
[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link",
]
[[package]] [[package]]
name = "windows-targets" name = "windows-targets"
version = "0.52.6" version = "0.52.6"

@@ -4,11 +4,11 @@ version = "0.1.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
log = "0.4.27" log = "0.4.28"
env_logger = "0.11.8" env_logger = "0.11.8"
clap = { version = "4.5.37", features = ["env", "derive"] } clap = { version = "4.5.49", features = ["env", "derive"] }
tokio = { version = "1.44.2", features = ["full"] } tokio = { version = "1.48.0", features = ["full"] }
tokio-rustls = { version = "0.26.2", features = ["ring", "tls12"], default-features = false } tokio-rustls = { version = "0.26.4", features = ["ring", "tls12"], default-features = false }
rustls-pki-types = "1.12.0" rustls-pki-types = "1.12.0"
webpki-roots = "1.0.0" webpki-roots = "1.0.3"
rand = "0.9.1" rand = "0.9.2"

@@ -137,13 +137,12 @@ async fn main() -> Result<(), Box<dyn Error>> {
let buff = if !modified_headers { let buff = if !modified_headers {
// Check for URL prefix // Check for URL prefix
if let Some(prefix) = &args.prefix { if let Some(prefix) = &args.prefix
if !String::from_utf8_lossy(&buf_client[..count]).split_once('\n').map(|l|l.0).unwrap_or("").contains(&format!(" {prefix}")) { && !String::from_utf8_lossy(&buf_client[..count]).split_once('\n').map(|l|l.0).unwrap_or("").contains(&format!(" {prefix}")) {
client_write.write_all(b"HTTP/1.1 401 Forbidden\r\n\r\nNot proxifiable.\r\n").await.expect("Failed to respond to client"); client_write.write_all(b"HTTP/1.1 401 Forbidden\r\n\r\nNot proxifiable.\r\n").await.expect("Failed to respond to client");
client_write.flush().await.expect("Failed to flush response to client!"); client_write.flush().await.expect("Failed to flush response to client!");
return; return;
} }
}
modified_headers = true; modified_headers = true;
manipulate_headers(&buf_client[..count], &args.upstream_dns) manipulate_headers(&buf_client[..count], &args.upstream_dns)