[package]
edition = "2024"
name = "vicarian"
version = "0.2.3"
authors = ["Steve Smith <tarkasteve@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Vicarian is a reverse proxy server with ACME support"
homepage = "https://github.com/tarka/vicarian"
readme = "README.md"
keywords = [
"proxy",
"https",
"reverse-proxy",
"pingora",
]
categories = [
"web-programming::http-server",
"network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/tarka/vicarian"
[package.metadata.binstall]
bin-dir = "{ name }-v{ version }-{ target }/bin/{ bin }{ binary-ext }"
[package.metadata.bacon]
apply_gitignore = false
watch = ["vicarian.corn"]
[features]
default = ["integration_tests"]
integration_tests = []
[[bin]]
name = "vicarian"
path = "src/main.rs"
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.camino]
version = "1.2.2"
features = ["serde1"]
[dependencies.clap]
version = "4.5.60"
features = ["derive"]
[dependencies.dnsclient]
version = "0.2.0"
[dependencies.fastrand]
version = "2.3.0"
[dependencies.futures]
version = "0.3.32"
[dependencies.futures-lite]
version = "2.6.1"
[dependencies.http]
version = "1.4.0"
[dependencies.http-serde]
version = "2.1.1"
[dependencies.instant-acme]
version = "0.8.5"
features = ["time"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.libcorn]
version = "0.10.1"
[dependencies.nix]
version = "0.31.2"
features = [
"net",
"resource",
]
[dependencies.notify]
version = "8.2.0"
features = ["crossbeam-channel"]
[dependencies.notify-debouncer-full]
version = "0.7.0"
features = ["crossbeam-channel"]
[dependencies.papaya]
version = "0.2.3"
[dependencies.path-tree]
version = "0.8.3"
[dependencies.phf]
version = "0.13.1"
features = ["phf_macros"]
[dependencies.phf_macros]
version = "0.13.1"
[dependencies.pingora-boringssl]
version = "0.8.0"
[dependencies.pingora-core]
version = "0.8.0"
features = ["boringssl"]
[dependencies.pingora-http]
version = "0.8.0"
[dependencies.pingora-proxy]
version = "0.8.0"
[dependencies.psl]
version = "2.1.197"
[dependencies.rustls]
version = "0.23.37"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_default_utils]
version = "0.3.1"
features = ["inline"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.strum_macros]
version = "0.28.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.time]
version = "0.3.47"
[dependencies.tokio]
version = "1.50.0"
features = [
"macros",
"rt",
"sync",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-log]
version = "0.2.0"
[dependencies.tracing-subscriber]
version = "0.3.22"
features = ["env-filter"]
[dependencies.x509-parser]
version = "0.18.1"
[dependencies.zone-update]
version = "0.11.0"
features = ["async"]
[dev-dependencies.fslock]
version = "0.2.1"
[dev-dependencies.nix]
version = "0.31.2"
features = [
"process",
"signal",
"term",
]
[dev-dependencies.pem]
version = "3.0.6"
[dev-dependencies.rcgen]
version = "0.14.7"
features = ["x509-parser"]
[dev-dependencies.reqwest]
version = "0.13.2"
features = [
"http2",
"rustls",
]
default-features = false
[dev-dependencies.serial_test]
version = "3.4.0"
[dev-dependencies.tempfile]
version = "3.26.0"
[dev-dependencies.test-log]
version = "0.2.19"
features = ["trace"]
[dev-dependencies.time]
version = "0.3.47"
features = ["macros"]
[dev-dependencies.tokio]
version = "1.50.0"
features = ["fs"]
[dev-dependencies.tokio-tungstenite]
version = "0.28.0"
features = [
"rustls",
"rustls-tls-webpki-roots",
"tokio-rustls",
]
[dev-dependencies.wiremock]
version = "0.6.5"
[dev-dependencies.wiremocket]
version = "0.3.1"
[lints.clippy]
unused_unit = "allow"
[profile.release]
lto = "fat"
codegen-units = 1
overflow-checks = true
strip = true