id = "nzbget" name = "NZBGet" homepage = "https://nzbget.com/" description = "A binary downloader for Usenet." executables = ["nzbget"] [dotfiles] # The official configuration guide lists these user configuration locations: # ~/.nzbget, ~/.config/nzbget.conf, and ~/.config/nzbget/nzbget.conf on POSIX; # the official migration guide also documents the macOS app path below. The # config contains ControlPassword and other authentication settings, so these # whole files are withheld as secrets rather than synced as plaintext. # https://github.com/nzbgetcom/nzbget/blob/develop/docs/HOW_TO_USE.md#configuration # https://github.com/nzbgetcom/nzbget/discussions/100 paths = [] secret = [ "~/.nzbget", "~/.config/nzbget.conf", "~/.config/nzbget/nzbget.conf", "~/Library/Application Support/NZBGet/nzbget.conf", ] [commands] format = 1 label = "Run or control NZBGet" description = "Start the server, or send a client request (queue an NZB, set rate, pause, scan, quit) to a running server. List/edit/log switches that take optional sub-values are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "help" kind = "manual" url = "https://manpages.debian.org/bookworm/nzbget/nzbget.1.en.html" revision = "21.0+dfsg-2.1" evidence = ''' -c, --configfile Filename of configuration-file -n, --noconfigfile Prevent loading of configuration-file (required options must be passed with --option) -s, --server Start nzbget as a server in console-mode -D, --daemon Start nzbget as a server in daemon-mode -Q, --quit Shutdown server -A, --append Send file to server's download queue -C, --connect Attach client to server -R, --rate Set download rate on server, in KB/s -T, --top Add file to the top (beginning) of queue (for using with switch --append) -K, --category Assign category to nzb-file (for using with switch --append) -S, --scan Scan incoming nzb-directory on server -p, --printconfig Print configuration and exit ''' [[commands.field]] id = "configfile" label = "Configuration file" type = "path" option = ["--configfile", "-c"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "server" label = "Start server (console mode)" type = "boolean" option = ["--server", "-s"] sources = ["help"] [[commands.field]] id = "daemon" label = "Start server (daemon mode)" type = "boolean" option = ["--daemon", "-D"] sources = ["help"] [[commands.field]] id = "append" label = "NZB file to queue" description = "Sends the file to the server's download queue." type = "path" option = ["--append", "-A"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "category" label = "Category" description = "Used together with a queued NZB." type = "string" option = ["--category", "-K"] sources = ["help"] [[commands.field]] id = "top" label = "Add to top of queue" type = "boolean" option = ["--top", "-T"] sources = ["help"] [[commands.field]] id = "rate" label = "Download rate limit (KB/s)" type = "integer" option = ["--rate", "-R"] sources = ["help"] [[commands.field]] id = "scan" label = "Scan incoming NZB directory" type = "boolean" option = ["--scan", "-S"] sources = ["help"] [[commands.field]] id = "printconfig" label = "Print configuration and exit" type = "boolean" option = ["--printconfig", "-p"] sources = ["help"] [[commands.field]] id = "quit" label = "Shut down server" type = "boolean" option = ["--quit", "-Q"] sources = ["help"] [[commands.task]] id = "add_nzb" label = "Queue an NZB" fields = ["append", "category", "top", "configfile"] required = ["append"] [[commands.task]] id = "serve" label = "Start server in console" fields = ["server", "configfile"] required = ["server"] set = { server = [true] } [[commands.task]] id = "daemon" label = "Start server as daemon" fields = ["daemon", "configfile"] required = ["daemon"] set = { daemon = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["configfile", "server", "daemon", "append", "category", "top"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["rate", "scan", "printconfig", "quit"]