[package] name = "rpxy" version = "0.3.0" authors = ["Jun Kurihara"] homepage = "https://github.com/junkurihara/rust-rpxy" repository = "https://github.com/junkurihara/rust-rpxy" license = "MIT" readme = "README.md" edition = "2021" publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["http3"] http3 = ["quinn", "h3", "h3-quinn"] [dependencies] anyhow = "1.0.71" clap = { version = "4.3.0", features = ["std", "cargo", "wrap_help"] } rand = "0.8.5" toml = { version = "0.7.4", default-features = false, features = ["parse"] } rustc-hash = "1.1.0" serde = { version = "1.0.163", default-features = false, features = ["derive"] } bytes = "1.4.0" thiserror = "1.0.40" x509-parser = "0.15.0" derive_builder = "0.12.0" futures = { version = "0.3.28", features = ["alloc", "async-await"] } tokio = { version = "1.28.1", default-features = false, features = [ "net", "rt-multi-thread", "parking_lot", "time", "sync", "macros", ] } # http and tls hyper = { version = "0.14.26", default-features = false, features = [ "server", "http1", "http2", "stream", ] } hyper-rustls = { version = "0.24.0", default-features = false, features = [ "tokio-runtime", "webpki-tokio", "http1", "http2", ] } tokio-rustls = { version = "0.24.0", features = ["early-data"] } rustls-pemfile = "1.0.2" rustls = { version = "0.21.1", default-features = false } webpki = "0.22.0" # logging tracing = { version = "0.1.37" } tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } # http/3 # quinn = { version = "0.9.3", optional = true } quinn = { path = "./quinn/quinn", optional = true } # Tentative to support rustls-0.21 h3 = { path = "./h3/h3/", optional = true } # h3-quinn = { path = "./h3/h3-quinn/", optional = true } h3-quinn = { path = "./h3-quinn/", optional = true } # Tentative to support rustls-0.21 [target.'cfg(not(target_env = "msvc"))'.dependencies] tikv-jemallocator = "0.5.0" [dev-dependencies] [profile.release] codegen-units = 1 incremental = false lto = "fat" opt-level = 3 panic = "abort" strip = true