id = "pianod" name = "pianod" homepage = "https://deviousfish.com/pianod/" description = "Pandora client with multiple control interfaces." executables = ["pianod"] [dotfiles] # The upstream pianod manual documents the per-user XDG config directory as # ~/.config/pianod and lists passwd.xml(.gz) and x509-server-key.pem there. # The password database and private TLS key are credential material; preserve # ordinary daemon configuration while treating those files as secret. # https://gsp.com/cgi-bin/man.cgi?section=1&topic=pianod paths = ["[configHome]/pianod/"] secret = ["[configHome]/pianod/passwd.xml*", "[configHome]/pianod/x509-server-key.pem"] side_effect = false [commands] format = 1 label = "Start pianod" description = "Launch the music daemon with ports, web client directory and config directory. Logging flags and root privilege-drop options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = true } [[commands.source]] id = "manpage" kind = "manual" url = "https://gsp.com/cgi-bin/man.cgi?section=1&topic=pianod" revision = "2026-10-27" evidence = """ pianod [-v] [-S] [-p port] [-P httpport] [-s httpsport] [-c clientdir] [-d directory] [-n nobodyuser] [-g groups] -v Report version and build information, then exit. -S Shadow system users. -p port The line port, default 4445. -P port The HTTP port, default 4446 or -p port + 1. -s port The HTTPS port, default 4447 -c clientdir Location of files to be served via HTTP(S). -d directory Sets the location for pianod configuration and data files. """ [[commands.field]] id = "line_port" label = "Line port" description = "Default 4445; 0 disables the line-oriented port." type = "integer" option = ["-p"] sources = ["manpage"] [[commands.field]] id = "http_port" label = "HTTP port" description = "Default 4446; 0 disables HTTP and Websockets." type = "integer" option = ["-P"] sources = ["manpage"] [[commands.field]] id = "https_port" label = "HTTPS port" description = "Default 4447; 0 disables HTTPS." type = "integer" option = ["-s"] sources = ["manpage"] [[commands.field]] id = "client_dir" label = "Web client directory" type = "path" option = ["-c"] path = { kind = "directory", role = "input" } sources = ["manpage"] [[commands.field]] id = "data_dir" label = "Config and data directory" type = "path" option = ["-d"] path = { kind = "directory", role = "input" } sources = ["manpage"] [[commands.field]] id = "shadow" label = "Shadow system users" type = "boolean" option = ["-S"] sources = ["manpage"] [[commands.field]] id = "version" label = "Show version and exit" type = "count" option = ["-v"] sources = ["manpage"] [[commands.task]] id = "start" label = "Start daemon" fields = ["line_port", "http_port", "https_port", "client_dir", "data_dir", "shadow"] required = [] [[commands.task]] id = "version" label = "Show version" set = { version = [1] } fields = ["version"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["line_port", "http_port", "https_port", "data_dir", "client_dir", "shadow", "version"]