[package] name = "wg-app-link" version = "0.1.0" edition = "2024" description = "The private link between a phone and a machine you run: WireGuard binding, a self-signed CA the app pins, and QR enrollment of a bearer token." [dependencies] anyhow = "1" # The config format both projects use, and the two house rules they share. ron = "0.12.2" serde = { version = "1", features = ["derive"] } # Enumerating this machine's addresses, and finding the tunnel's. if-addrs = "0.15" # Token auth: hash for storage, constant-time compare for verification, # CSPRNG-backed generation, base64url for the enrollment string. sha2 = "0.11" subtle = "2" rand = "0.10" base64 = "0.23" # Renders the enrollment QR straight to the terminal; no image output. qrcode = { version = "0.14", default-features = false } tracing = "0.1" # Generates the CA and leaf in process, so one place decides the # extensions, the file modes, and which addresses the leaf covers. # x509-parser so the issuer is read back from the CA actually on disk # rather than reconstructed from parameters that may since have changed. rcgen = { version = "0.14", features = ["pem", "x509-parser"] } [dev-dependencies] tempfile = "3"