tarweb 0.1.1

io-uring based static file web server, with SNI router
[package]
name = "tarweb"
version = "0.1.1"
edition = "2024"
license = "MIT"
authors = ["Thomas Habets <thomas@habets.se>"]
readme = "README.md"
repository = "https://github.com/ThomasHabets/tarweb"
description = "io-uring based static file web server, with SNI router"
keywords = ["webserver"]
default-run = "tarweb"

[dependencies]
anyhow = "1"
# Not sure why I need to have the zeroize feature *and* dependency.
# The feature doesn't seem to add anything.
arrayvec = { version = "0.7", features = ["zeroize"]}
boring = "4"
clap = { version = "4", features = ["derive"] }
core_affinity = "0.8"
httpdate = "1"

# Need at least 0.7.5 for setsockopt support.
# Cannot use feature "bindgen" because it requires too modern headers for debian
# stable.
io-uring = "0.7"

# Need at least 6.0.2 for public CryptoInfo.as_ptr().
ktls = "6"
libc = "0.2"
# memmap2 should be at least 0.9.9 to be 128bit safe.
memmap2 = "0.9.9"
nix = { version = "0.29", features = ["feature", "uio", "socket", "user", "fs"] }
rayon = "1"
rtsan-standalone = "0.1"
rustls = { version = "0.23", features = ["prefer-post-quantum"] }
sha3 = "0.10"
stderrlog = "0.6"
tar = "0.4"
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
tokio = { version = "1.48.0", features = ["macros", "net", "rt-multi-thread", "signal", "time"] }
zeroize = { version = "1", features = ["simd"] }
regex = "1.12.2"
prost = "0.14.1"
serde = { version = "1.0.228", features = ["derive"] }
prost-reflect = { version = "0.16.2", features = ["text-format"] }
libseccomp = "0.4.0"
caps = "0.5.6"
landlock = "0.4.3"

[build-dependencies]
prost-build = "0.14.1"

[dev-dependencies]
tokio = { version = "1.48.0", features = ["macros", "net", "rt-multi-thread", "process", "sync", "time"] }
tempfile = "3.23.0"
reqwest = { version = "0.12.24", default-features = false, features = ["blocking", "rustls-tls", "gzip"] }
rcgen = "0.14.5"

[features]
# Not supported on riscv64
#rtsan = ["rtsan-standalone/enable"]

[profile.release]
debug = true

[[bin]]
name = "sni_router"
path = "src/bin/sni.rs"

[lib]
name = "tarweb"
path = "src/lib.rs"