Compare commits

..

48 Commits

Author SHA1 Message Date
e278caae07 Merge pull request 'Update Rust crate tokio-rustls to 0.26.3' (#47) from renovate/tokio-rustls-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-19 00:38:55 +00:00
3a6ee88ec2 Update Rust crate tokio-rustls to 0.26.3
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-18 00:40:10 +00:00
2a503781cb Merge pull request 'Update Rust crate log to 0.4.28' (#46) from renovate/log-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-05 00:25:05 +00:00
39dc9a79ea Update Rust crate log to 0.4.28
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-04 00:32:37 +00:00
aaeaf00e8c Merge pull request 'Update Rust crate clap to 4.5.47' (#45) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-04 00:32:35 +00:00
4ec90358a0 Update Rust crate clap to 4.5.47
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-03 00:31:13 +00:00
387a53261c Fix cargo clippy issue
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-28 08:07:41 +02:00
85fa873bb9 Merge pull request 'Update Rust crate clap to 4.5.46' (#44) from renovate/clap-4.x into master
Some checks failed
continuous-integration/drone/push Build is failing
2025-08-28 00:31:39 +00:00
4c4ebedd10 Update Rust crate clap to 4.5.46
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-08-27 00:31:25 +00:00
f21d66e765 Merge pull request 'Update Rust crate clap to 4.5.45' (#43) from renovate/clap-4.x into master
Some checks failed
continuous-integration/drone/push Build is failing
2025-08-14 00:30:49 +00:00
9857b09658 Update Rust crate clap to 4.5.45
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-08-13 00:31:21 +00:00
09708efc16 Merge pull request 'Update Rust crate clap to 4.5.43' (#42) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-08 00:18:22 +00:00
6bcc83ad49 Update Rust crate clap to 4.5.43
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-07 00:18:51 +00:00
275352a3bb Merge pull request 'Update Rust crate tokio to 1.47.1' (#41) from renovate/tokio-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-03 00:21:03 +00:00
7f56138528 Update Rust crate tokio to 1.47.1
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-08-02 00:20:05 +00:00
f9a7cc1ab4 Merge pull request 'Update Rust crate clap to 4.5.42' (#40) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-01 00:22:32 +00:00
4b0f065cd1 Update Rust crate clap to 4.5.42
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-07-31 00:17:58 +00:00
1132d60c16 Merge pull request 'Update Rust crate tokio to 1.47.0' (#39) from renovate/tokio-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-27 00:18:43 +00:00
6b513e19dc Update Rust crate tokio to 1.47.0
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
2025-07-27 00:18:40 +00:00
e86e81cd7c Merge pull request 'Update Rust crate rand to 0.9.2' (#38) from renovate/rand-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-21 00:19:47 +00:00
9276191db2 Update Rust crate rand to 0.9.2
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
2025-07-21 00:19:45 +00:00
58b1f212d7 Merge pull request 'Update Rust crate webpki-roots to 1.0.2' (#37) from renovate/webpki-roots-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-19 00:20:31 +00:00
a0b691ec64 Update Rust crate webpki-roots to 1.0.2
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
2025-07-19 00:20:28 +00:00
f50904747b Merge pull request 'Update Rust crate clap to 4.5.41' (#36) from renovate/clap-4.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-10 01:57:30 +00:00
687684f8f8 Update Rust crate clap to 4.5.41
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-07-10 00:18:12 +00:00
6cd8ca927b Merge pull request 'Update Rust crate tokio to 1.46.1' (#35) from renovate/tokio-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-05 01:39:52 +00:00
9930aac5e6 Update Rust crate tokio to 1.46.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-07-05 00:11:01 +00:00
b5bcab095e Update Rust crate tokio to 1.46.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-07-03 00:09:54 +00:00
11bcc632da Update Rust crate webpki-roots to 1.0.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-06-20 00:22:32 +00:00
743904b1bf Update Rust crate clap to 4.5.40
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-06-10 00:24:15 +00:00
044094ee57 Update Rust crate clap to 4.5.39
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-28 00:09:57 +00:00
6af981c5a3 Update Rust crate tokio to 1.45.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-25 00:08:49 +00:00
ed4c98d158 Update Rust crate clap to 4.5.38
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-12 00:18:09 +00:00
c1d4d7ac36 Update Rust crate webpki-roots to v1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-10 00:17:43 +00:00
e9f449e283 Update Rust crate tokio to 1.45.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-09 00:17:14 +00:00
4c54c7790b Update Rust crate rustls-pki-types to 1.12.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-08 00:26:15 +00:00
255f4c9a7a Update Rust crate webpki-roots to 0.26.11
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-07 00:26:11 +00:00
997dce8502 Update Rust crate webpki-roots to 0.26.10
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-01 00:20:53 +00:00
44f40a3f6e Update Rust crate webpki-roots to 0.26.9
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-28 00:20:35 +00:00
197a9cf0c9 Update Rust crate clap to 4.5.37
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-19 00:29:20 +00:00
dc5d2e2f4b Update Rust crate rand to 0.9.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-18 00:28:58 +00:00
f844fc3ba9 Update Rust crate clap to 4.5.36
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-12 00:28:45 +00:00
f48de5beff Update Rust crate tokio to 1.44.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-06 00:35:43 +00:00
8aaffd2ca1 Update Rust crate env_logger to 0.11.8
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-03 00:36:37 +00:00
5373a0df51 Update Rust crate clap to 4.5.35
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-02 00:37:00 +00:00
037766ac0d Update Rust crate tokio-rustls to 0.26.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-03-31 20:52:27 +00:00
7394030f5b Update Rust crate tokio to 1.44.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-03-31 00:36:35 +00:00
c3452d4c1f Update Rust crate log to 0.4.27
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-03-30 02:22:32 +00:00
3 changed files with 62 additions and 42 deletions

83
Cargo.lock generated
View File

@@ -132,9 +132,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "4.5.34"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e958897981290da2a852763fe9cdb89cd36977a5d729023127095fa94d95e2ff"
checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931"
dependencies = [
"clap_builder",
"clap_derive",
@@ -142,9 +142,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.34"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83b0f35019843db2160b5bb19ae09b4e6411ac33fc6a712003c33e03090e2489"
checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6"
dependencies = [
"anstream",
"anstyle",
@@ -154,9 +154,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.32"
version = "4.5.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
dependencies = [
"heck",
"proc-macro2",
@@ -188,9 +188,9 @@ dependencies = [
[[package]]
name = "env_logger"
version = "0.11.7"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697"
checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f"
dependencies = [
"anstream",
"anstyle",
@@ -234,6 +234,17 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "io-uring"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
dependencies = [
"bitflags",
"cfg-if",
"libc",
]
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
@@ -266,9 +277,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.170"
version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]]
name = "lock_api"
@@ -282,9 +293,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.27"
version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
[[package]]
name = "memchr"
@@ -414,13 +425,12 @@ dependencies = [
[[package]]
name = "rand"
version = "0.9.0"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha",
"rand_core",
"zerocopy 0.8.20",
]
[[package]]
@@ -503,9 +513,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustls"
version = "0.23.23"
version = "0.23.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395"
checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
dependencies = [
"once_cell",
"ring",
@@ -517,15 +527,18 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
version = "1.11.0"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
dependencies = [
"zeroize",
]
[[package]]
name = "rustls-webpki"
version = "0.102.8"
version = "0.103.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb"
dependencies = [
"ring",
"rustls-pki-types",
@@ -573,6 +586,12 @@ dependencies = [
"libc",
]
[[package]]
name = "slab"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
[[package]]
name = "smallvec"
version = "1.14.0"
@@ -581,12 +600,12 @@ checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
[[package]]
name = "socket2"
version = "0.5.8"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
dependencies = [
"libc",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -614,20 +633,22 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.44.1"
version = "1.47.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
dependencies = [
"backtrace",
"bytes",
"io-uring",
"libc",
"mio",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
"slab",
"socket2",
"tokio-macros",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -643,9 +664,9 @@ dependencies = [
[[package]]
name = "tokio-rustls"
version = "0.26.2"
version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
checksum = "05f63835928ca123f1bef57abbcd23bb2ba0ac9ae1235f1e65bda0d06e7786bd"
dependencies = [
"rustls",
"tokio",
@@ -686,9 +707,9 @@ dependencies = [
[[package]]
name = "webpki-roots"
version = "0.26.8"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9"
checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
dependencies = [
"rustls-pki-types",
]

View File

@@ -4,11 +4,11 @@ version = "0.1.0"
edition = "2024"
[dependencies]
log = "0.4.26"
env_logger = "0.11.7"
clap = { version = "4.5.34", features = ["env", "derive"] }
tokio = { version = "1.43.0", features = ["full"] }
tokio-rustls = { version = "0.26.2", features = ["ring", "tls12"], default-features = false }
rustls-pki-types = "1.11.0"
webpki-roots = "0.26.8"
rand = "0.9.0"
log = "0.4.28"
env_logger = "0.11.8"
clap = { version = "4.5.47", features = ["env", "derive"] }
tokio = { version = "1.47.1", features = ["full"] }
tokio-rustls = { version = "0.26.3", features = ["ring", "tls12"], default-features = false }
rustls-pki-types = "1.12.0"
webpki-roots = "1.0.2"
rand = "0.9.2"

View File

@@ -137,13 +137,12 @@ async fn main() -> Result<(), Box<dyn Error>> {
let buff = if !modified_headers {
// Check for URL 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}")) {
if let Some(prefix) = &args.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.flush().await.expect("Failed to flush response to client!");
return;
}
}
modified_headers = true;
manipulate_headers(&buf_client[..count], &args.upstream_dns)