89 lines
2.6 KiB
TOML
89 lines
2.6 KiB
TOML
[package]
|
|
name = "rpxy-lib"
|
|
version = "0.6.2"
|
|
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-s2n", "sticky-cookie", "cache"]
|
|
http3-quinn = ["quinn", "h3", "h3-quinn", "socket2"]
|
|
http3-s2n = ["h3", "s2n-quic", "s2n-quic-rustls", "s2n-quic-h3"]
|
|
sticky-cookie = ["base64", "sha2", "chrono"]
|
|
cache = ["http-cache-semantics", "lru"]
|
|
native-roots = ["hyper-rustls/native-tokio"]
|
|
|
|
[dependencies]
|
|
rand = "0.8.5"
|
|
rustc-hash = "1.1.0"
|
|
bytes = "1.5.0"
|
|
derive_builder = "0.12.0"
|
|
futures = { version = "0.3.29", features = ["alloc", "async-await"] }
|
|
tokio = { version = "1.34.0", default-features = false, features = [
|
|
"net",
|
|
"rt-multi-thread",
|
|
"time",
|
|
"sync",
|
|
"macros",
|
|
"fs",
|
|
] }
|
|
async-trait = "0.1.74"
|
|
hot_reload = "0.1.4" # reloading certs
|
|
|
|
# Error handling
|
|
anyhow = "1.0.75"
|
|
thiserror = "1.0.50"
|
|
|
|
# http and tls
|
|
http = "1.0.0"
|
|
http-body-util = "0.1.0"
|
|
hyper = { version = "1.0.1", default-features = false }
|
|
hyper-util = { version = "0.1.1", features = ["full"] }
|
|
hyper-rustls = { version = "0.24.2", default-features = false, features = [
|
|
"tokio-runtime",
|
|
"webpki-tokio",
|
|
"http1",
|
|
"http2",
|
|
] }
|
|
tokio-rustls = { version = "0.24.1", features = ["early-data"] }
|
|
rustls = { version = "0.21.9", default-features = false }
|
|
webpki = "0.22.4"
|
|
x509-parser = "0.15.1"
|
|
|
|
# logging
|
|
tracing = { version = "0.1.40" }
|
|
|
|
# http/3
|
|
quinn = { version = "0.10.2", optional = true }
|
|
h3 = { path = "../submodules/h3/h3/", optional = true }
|
|
h3-quinn = { path = "../submodules/h3/h3-quinn/", optional = true }
|
|
s2n-quic = { version = "1.31.0", default-features = false, features = [
|
|
"provider-tls-rustls",
|
|
], optional = true }
|
|
s2n-quic-h3 = { path = "../submodules/s2n-quic-h3/", optional = true }
|
|
s2n-quic-rustls = { version = "0.31.0", optional = true }
|
|
# for UDP socket wit SO_REUSEADDR when h3 with quinn
|
|
socket2 = { version = "0.5.5", features = ["all"], optional = true }
|
|
|
|
# cache
|
|
http-cache-semantics = { path = "../submodules/rusty-http-cache-semantics/", optional = true }
|
|
lru = { version = "0.12.0", optional = true }
|
|
|
|
# cookie handling for sticky cookie
|
|
chrono = { version = "0.4.31", default-features = false, features = [
|
|
"unstable-locales",
|
|
"alloc",
|
|
"clock",
|
|
], optional = true }
|
|
base64 = { version = "0.21.5", optional = true }
|
|
sha2 = { version = "0.10.8", default-features = false, optional = true }
|
|
|
|
|
|
[dev-dependencies]
|
|
# http and tls
|