[package] name = "rustguac" version = "1.9.10" edition = "2021" description = "Lightweight Rust replacement for Apache Guacamole client" [dependencies] # Web framework axum = { version = "0.8", features = ["ws"] } tower = "0.5" tower-http = { version = "0.7", features = ["fs", "cors", "trace"] } # Async runtime tokio = { version = "1", features = ["full"] } tokio-util = "0.7" # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # Utilities uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Streaming futures-util = "0.3" # Config toml = "1" # Crypto/random rand = "0.10" hex = "0.4" sha2 = "0.11" subtle = "2" aes = "0.9" cbc = "0.2" pbkdf2 = { version = "0.13", default-features = false } hmac = "0.13" sha1 = "0.11" # Database rusqlite = { version = "0.40", features = ["bundled"] } # CLI clap = { version = "4", features = ["derive"] } # IP matching ipnetwork = "0.21" # TLS axum-server = { version = "0.8", features = ["tls-rustls"] } rcgen = "0.14" tokio-rustls = "0.26" rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } rustls-pemfile = "2" # OIDC openidconnect = "4" url = "2" tower-cookies = "0.11" # SSH key generation ssh-key = { version = "0.6", features = ["ed25519"] } # Rate limiting tower_governor = "0.8" # Base64 decoding (JWT payload for OIDC groups) base64 = "0.23" # HTTP client (Vault API) reqwest = { version = "0.12", features = ["json", "rustls-tls-native-roots"], default-features = false } webpki-roots = "1" # SSH tunneling (jump host / bastion) russh = "0.63" # Docker (VDI container management) bollard = "0.21" # LUKS drive management (uid/gid for chown) libc = "0.2" # Socket-level options (TCP keepalive) socket2 = "0.6" # URL encoding/decoding (quick-connect redirect) urlencoding = "2" serde_urlencoded = "0.7" [build-dependencies] pulldown-cmark = "0.13"