[package]
edition = "2024"
rust-version = "1.85.1"
name = "domain-fronting"
version = "0.1.0"
authors = ["Mullvad VPN"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Domain fronting client and server implementation for tunneling connections through HTTP POST requests"
readme = "README.md"
keywords = [
"domain-fronting",
"networking",
]
categories = ["network-programming"]
license = "GPL-3.0-or-later"
repository = "https://github.com/mullvad/domain-fronting"
[features]
default = []
examples = [
"clap",
"tracing-subscriber",
"futures",
"tls",
]
tls = [
"rustls",
"rustls-pki-types",
"tokio-rustls",
]
[lib]
name = "domain_fronting"
crate-type = [
"rlib",
"staticlib",
]
path = "src/lib.rs"
[[bin]]
name = "domain_fronting"
path = "src/bin/domain_fronting.rs"
required-features = ["examples"]
[[bin]]
name = "domain_fronting_server"
path = "src/bin/domain_fronting_server.rs"
required-features = ["examples"]
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1.2"
[dependencies.clap]
version = "4.5"
features = [
"cargo",
"derive",
]
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.http]
version = "1.1.0"
[dependencies.http-body-util]
version = "0.1.2"
[dependencies.hyper]
version = "1.8.1"
features = [
"client",
"http1",
"server",
]
[dependencies.hyper-util]
version = "0.1"
features = [
"client-legacy",
"tokio",
]
[dependencies.log]
version = "0.4"
[dependencies.papaya]
version = "0.2"
[dependencies.rustls]
version = "0.23"
features = [
"aws-lc-rs",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.42"
features = [
"net",
"io-util",
"time",
"macros",
"sync",
"rt-multi-thread",
"fs",
]
[dependencies.tokio-rustls]
version = "0.26.0"
features = [
"logging",
"aws-lc-rs",
"tls12",
]
optional = true
default-features = false
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.uuid]
version = "1.4.1"
features = [
"v4",
"serde",
]
[dev-dependencies.tokio]
version = "1.42"
features = [
"test-util",
"time",
]