[package]
name = "splithello"
version = "0.1.1"
edition = "2024"
description = "Local HTTPS CONNECT proxy that splits the TLS ClientHello for selected sites, with DNS over HTTPS"
license = "MIT"
repository = "https://github.com/therealhieu/splithello"
homepage = "https://github.com/therealhieu/splithello"
readme = "README.md"
keywords = ["proxy", "tls", "doh", "dpi", "censorship"]
categories = ["command-line-utilities", "network-programming"]
include = ["src/**", "Cargo.toml", "Cargo.lock", "README.md", "LICENSE", "config.example.toml"]
[dependencies]
clap = { version = "4.6.6", features = ["derive"] }
getrandom = "0.4.3"
hickory-proto = "0.26.3"
humantime = "2.4.0"
idna = "1.1.0"
jiff = "0.2.38"
reqwest = { version = "0.13.5", default-features = false, features = ["http2", "rustls", "stream"] }
rustls = { version = "0.23.44", default-features = false, features = ["aws-lc-rs", "std", "tls12"] }
rustls-platform-verifier = "0.7.0"
self_update = { version = "1.3", default-features = false, features = ["reqwest", "rustls", "github", "async", "checksums", "archive-tar", "compression-tar-gz", "archive-zip", "compression-zip-deflate"] }
serde = { version = "1.0.229", features = ["derive"] }
thiserror = "2.0.20"
tokio = { version = "1.53.1", features = ["io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] }
tokio-util = { version = "0.7.19", features = ["rt"] }
toml = "1.1.6"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", default-features = false, features = ["env-filter", "fmt"] }
[dev-dependencies]
assert_cmd = "2.2.2"
criterion = { version = "0.8.2", features = ["async_tokio"] }
predicates = "3.1.4"
rcgen = { version = "0.14.10", default-features = false, features = ["pem", "ring"] }
serde_json = "1.0.154"
tempfile = "3.27.0"
tokio-rustls = { version = "0.26.5", default-features = false, features = ["ring"] }
[[bench]]
name = "proxy"
harness = false
[target."cfg(unix)".dependencies]
rustix = { version = "1.1.4", features = ["process"] }
[target."cfg(windows)".dependencies]
windows-sys = { version = "0.61.2", features = ["Win32_Foundation"] }