[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"
arrayvec = { version = "0.7", features = ["zeroize"]}
boring = "4"
clap = { version = "4", features = ["derive"] }
core_affinity = "0.8"
httpdate = "1"
io-uring = "0.7"
ktls = "6"
libc = "0.2"
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]
[profile.release]
debug = true
[[bin]]
name = "sni_router"
path = "src/bin/sni.rs"
[lib]
name = "tarweb"
path = "src/lib.rs"