taxy 0.3.28

A reverse proxy server with built-in WebUI, supporting TCP/HTTP/TLS/WebSocket.
Documentation
[package]
name = "taxy"
version = "0.3.28"
edition = "2021"
include = ["/src", "/templates", "/build.rs", "/LICENSE", "/dist/webui"]
build = "build.rs"
description = "A reverse proxy server with built-in WebUI, supporting TCP/HTTP/TLS/WebSocket."
authors = ["picoHz <picoHz@outlook.com>"]
keywords = ["tcp", "http", "tls", "proxy", "reverse-proxy"]
categories = [
    "network-programming",
    "web-programming",
    "web-programming::websocket",
]
license = "MIT"
repository = "https://github.com/picoHz/taxy"
homepage = "https://taxy.dev/"
readme = "../README.md"
default-run = "taxy"

[dependencies]
anyhow = "1.0.71"
arc-swap = "1.6.0"
argon2 = "0.5.0"
async-trait = "0.1.71"
backoff = { version = "0.4.0", features = ["tokio"] }
base64 = "0.22.0"
brotli = "5.0.0"
clap = { version = "4.3.11", features = ["derive", "env"] }
dashmap = "5.5.0"
directories = "5.0.1"
flate2 = "1.0.26"
fnv = "1.0.7"
futures = "0.3.28"
globwalk = "0.9.1"
hex = "0.4.3"
humantime-serde = "1.1.1"
hyper = { version = "0.14.27", features = ["full"] }
include_dir = "0.7.3"
indexmap = { version = "2.0.0", features = ["serde"] }
instant-acme = "0.4.0"
log = "0.4.19"
mime_guess = "2.0.4"
network-interface = "1.0.1"
once_cell = "1.18.0"
percent-encoding = "2.3.0"
phf = { version = "0.11.2", features = ["macros"] }
pin-project-lite = "0.2.10"
pkcs8 = { version = "0.10.2", features = ["pem"] }
rand = "0.8.5"
rcgen = { version = "0.13.0", features = ["pem", "x509-parser"] }
rpassword = "7.2.0"
rustls-native-certs = "0.7.0"
rustls-pemfile = "2.0.0"
sailfish = "0.8.0"
serde = { version = "1.0.171", features = ["rc"] }
serde_default = "0.1.0"
serde_derive = "1.0.171"
serde_json = "1.0.102"
serde_qs = "0.13.0"
sha2 = "0.10.7"
shellexpand = "3.1.0"
sqlx = { version = "0.7.0", features = [
    "runtime-tokio-rustls",
    "sqlite",
    "time",
] }
tar = "0.4.38"
taxy-api = { version = "0.1.17", features = ["warp"] }
thiserror = "1.0.43"
time = { version = "0.3.23", features = ["serde"] }
tokio = { version = "1.29.1", features = [
    "macros",
    "rt-multi-thread",
    "net",
    "signal",
    "io-util",
] }
tokio-rustls = { version = "0.25.0", default-features = false, features = [
    "tls12",
    "ring",
] }
tokio-stream = { version = "0.1.14", features = ["sync", "net"] }
toml = "0.8.8"
toml_edit = { version = "0.22.9", features = ["serde"] }
totp-rs = { version = "5.1.0", features = ["gen_secret", "zeroize"] }
tracing = { version = "0.1.37", features = ["release_max_level_info"] }
tracing-appender = "0.2.2"
tracing-subscriber = { version = "0.3.17", features = ["json"] }
url = { version = "2.4.0", features = ["serde"] }
utoipa = "4.2.0"
utoipa-swagger-ui = { version = "6.0.0", optional = true }
warp = "0.3.6"
webpki = "0.22.4"
x509-parser = "0.16.0"

[build-dependencies]
built = "0.6.1"

[dev-dependencies]
mockito = "1.1.0"
net2 = "0.2.39"
reqwest = { version = "0.12.1", default-features = false, features = [
    "rustls-tls",
    "gzip",
    "brotli",
    "json",
    "stream",
    "http2",
] }
tokio-tungstenite = { version = "0.21.0", features = [
    "rustls-tls-native-roots",
] }
warp = { version = "0.3.6", features = ["tls"] }