[package]
edition = "2024"
name = "vicarian"
version = "0.2.0"
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.100"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.boring]
version = "4.20.0"
[dependencies.camino]
version = "1.2.2"
features = ["serde1"]
[dependencies.chrono]
version = "0.4.43"
features = ["clock"]
default-features = false
[dependencies.clap]
version = "4.5.54"
features = ["derive"]
[dependencies.dnsclient]
version = "0.2.0"
[dependencies.fastrand]
version = "2.3.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.http]
version = "1.4.0"
[dependencies.http-serde]
version = "2.1.1"
[dependencies.instant-acme]
version = "0.8.4"
features = ["time"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.libcorn]
version = "0.10.0"
[dependencies.notify]
version = "8.2.0"
features = ["crossbeam-channel"]
[dependencies.notify-debouncer-full]
version = "0.6.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.6.0"
[dependencies.pingora-core]
version = "0.6.0"
features = ["boringssl"]
[dependencies.pingora-http]
version = "0.6.0"
[dependencies.pingora-proxy]
version = "0.6.0"
[dependencies.psl]
version = "2.1.180"
[dependencies.rustls]
version = "0.23.36"
[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.27.2"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.49.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.zone-update]
version = "0.11.0"
features = ["async"]
[dev-dependencies.ctor]
version = "0.6.3"
[dev-dependencies.fslock]
version = "0.2.1"
[dev-dependencies.nix]
version = "0.30.1"
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.1"
features = [
"http2",
"rustls",
]
default-features = false
[dev-dependencies.serial_test]
version = "3.3.1"
[dev-dependencies.tempfile]
version = "3.24.0"
[dev-dependencies.test-context]
version = "0.5.4"
[dev-dependencies.test-log]
version = "0.2.19"
features = ["trace"]
[dev-dependencies.time]
version = "0.3.45"
features = ["macros"]
[dev-dependencies.tokio]
version = "1.49.0"
features = ["fs"]
[dev-dependencies.wiremock]
version = "0.6.5"
[lints.clippy]
unused_unit = "allow"
[profile.release]
lto = "fat"
codegen-units = 1
overflow-checks = true
strip = true