mirror of
https://github.com/sol1/rustguac.git
synced 2026-09-10 09:35:45 +00:00
d07d79c4f2
- Patch guacd with Kerberos NLA support (002-kerberos-nla.patch), based on upstream GUACAMOLE-2057 PR #581, adapted for FreeRDP 3.x - Add per-entry auth_pkg, kdc_url, and prompt_credentials settings to the address book (configurable in admin UI) - Frontend credential prompt for entries without stored credentials or with prompt_credentials enabled (never stored, session-only) - Wire auth-pkg, kdc-url, kerberos-cache params through rustguac to the guacd RDP handshake - Comprehensive Kerberos NLA docs: krb5.conf setup, KDC discovery options, FQDN requirements, troubleshooting guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
76 lines
1.6 KiB
TOML
76 lines
1.6 KiB
TOML
[package]
|
|
name = "rustguac"
|
|
version = "0.2.2"
|
|
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.6", 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 = "0.9"
|
|
|
|
# Crypto/random
|
|
rand = "0.9"
|
|
hex = "0.4"
|
|
sha2 = "0.10"
|
|
|
|
# Database
|
|
rusqlite = { version = "0.38", 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.22"
|
|
|
|
# HTTP client (Vault API)
|
|
reqwest = { version = "0.12", features = ["json", "rustls-tls-webpki-roots"], default-features = false }
|
|
|
|
# LUKS drive management (uid/gid for chown)
|
|
libc = "0.2"
|
|
|
|
[build-dependencies]
|
|
pulldown-cmark = "0.13"
|