deps(proxy): add raw HTTP write and native TLS cert dependencies

Add crates required for the raw TCP/TLS write path that bypasses
hyper's header encoder to preserve original header name casing:

- httparse: parse raw TCP peek bytes to capture header casings
- tokio-rustls + rustls: direct TLS connections for raw write path
- webpki-roots: Mozilla CA bundle baseline
- rustls-native-certs: load system keychain CAs (trusts proxy MITM
  certificates from Clash, mitmproxy, etc.)
This commit is contained in:
YoVinchen
2026-03-28 12:15:55 +08:00
parent 49f66bcc9a
commit 324a1da8e6
2 changed files with 21 additions and 2 deletions
+16 -2
View File
@@ -731,6 +731,7 @@ dependencies = [
"http",
"http-body",
"http-body-util",
"httparse",
"hyper",
"hyper-rustls",
"hyper-util",
@@ -746,6 +747,8 @@ dependencies = [
"rquickjs",
"rusqlite",
"rust_decimal",
"rustls",
"rustls-native-certs",
"serde",
"serde_json",
"serde_yaml",
@@ -764,6 +767,7 @@ dependencies = [
"tempfile",
"thiserror 2.0.18",
"tokio",
"tokio-rustls",
"toml 0.8.23",
"toml_edit 0.22.27",
"tower 0.4.13",
@@ -771,6 +775,7 @@ dependencies = [
"url",
"uuid",
"webkit2gtk",
"webpki-roots 0.26.11",
"winreg 0.52.0",
"zip 2.4.2",
]
@@ -2249,7 +2254,7 @@ dependencies = [
"tokio",
"tokio-rustls",
"tower-service",
"webpki-roots",
"webpki-roots 1.0.6",
]
[[package]]
@@ -4238,7 +4243,7 @@ dependencies = [
"wasm-bindgen-futures",
"wasm-streams 0.4.2",
"web-sys",
"webpki-roots",
"webpki-roots 1.0.6",
]
[[package]]
@@ -6601,6 +6606,15 @@ dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webpki-roots"
version = "0.26.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
dependencies = [
"webpki-roots 1.0.6",
]
[[package]]
name = "webpki-roots"
version = "1.0.6"
+5
View File
@@ -54,6 +54,11 @@ hyper-rustls = { version = "0.27", features = ["http1", "tls12", "ring", "webpki
http = "1"
http-body = "1"
http-body-util = "0.1"
httparse = "1"
tokio-rustls = "0.26"
rustls = "0.23"
webpki-roots = "0.26"
rustls-native-certs = "0.8"
regex = "1.10"
rquickjs = { version = "0.8", features = ["array-buffer", "classes"] }
thiserror = "2.0"