[package] name = "sjnmusicd" version = "0.1.0" edition = "2024" [dependencies] rusqlite = "0.32" rodio = "0.19" serde = { version = "1", features = ["derive"] } serde_json = "1" dirs = "5" strsim = "0.11" tiny_http = "0.12" log = "0.4" env_logger = "0.11" toml = "0.8" percent-encoding = "2" rand = "0.8" # `base64` is used by the optional bearer-token authentication module # (`auth.rs`) to encode the 32 random bytes of `auth_token` into a 43-char # URL-safe string that fits comfortably in an HTTP header. Pull the URL-safe # alphabet (no padding) so the value needs no further quoting. base64 = "0.22" # `zbus` exposes an org.mpris.MediaPlayer2.sjnmusic service so Linux DEs and # media-key daemons can control the daemon even when the GUI process is # closed. We run zbus inside a single-threaded tokio runtime hosted by the # mpris thread — the rest of the daemon is sync-only. zbus = "4" zbus_macros = "4" tokio = { version = "1", features = ["rt", "macros", "time"] }