podboat - a podcast download manager for text terminals

podboat [-C configfile] [-q queuefile] [-a] [-h]

Podboat is a podcast manager for text terminals. It is a helper program to Newsboat which queues podcast downloads into a file. These queued downloads can then be download with Podboat.

-h, --help

Display help

-C configfile, --config-file=configfile

Use an alternative configuration file

-q queuefile, --queue-file=queuefile

Use an alternative queue file


Use an alternative lock file

-a, --autodownload

Start automatic download of all queued files on startup

-l loglevel, --log-level=loglevel

Generate a logfile with a certain loglevel (valid values: 1 to 6, for user error, critical, error, warning, info, and debug respectively). Filename can be specified using the --log-file option. If not specified, a filename is generated of the form podboat_<date-time>.log

-d logfile, --log-file=logfile

Use this logfile as output when logging debug messages. Please note that this only works when providing a loglevel.

A podcast is a media file distributed over the internet using syndication feeds such as RSS, for later playback on portable players or computers. Newsboat supports downloading, saving and streaming podcasts, though an external media player is needed for playback. This support differs a bit from other podcast aggregators or "podcatchers" in how it is done.

Podcast content is transported in RSS feeds via special tags called "enclosures". Newsboat recognizes these enclosures and stores the relevant information for every podcast item it finds in an RSS feed. Since version 2.0, it also recognizes and handles the Yahoo Media RSS extensions.

Remote APIs don’t always list those "enclosures", so podcasts might be missing from Newsboat. Such APIs are marked in the relevant section of our docs. If a note is missing but you still don’t see enclosures in Newsboat, please file an issue and we’ll get to the bottom of it!

What the user can do is to add the podcast download URL to a download queue. Alternatively, Newsboat can be configured to automatically do that. This queue is stored in the queue file next to the cache.db file.

The user can then use the download manager podboat to download these files to a directory on the local filesystem. Podboat comes with the Newsboat package, and features a look and feel very close to the one of Newsboat. It also shares the same configuration file.

Podcasts that have been downloaded but haven’t been played yet remain in the queue but are marked as downloaded. You can remove them by purging them from the queue with the Shift + P key. After you’ve played a file and close Podboat, it will be removed from the queue. The downloaded file remains on the filesystem unless "delete-played-files" is enabled.

A common "use case" is to configure Newsboat to automatically enqueue newly found podcast download URLs. Then, the user reloads the podcast RSS feeds in Newsboat, and after that, uses Podboat to view the current queue, and either selectively download certain files or automatically download them all together by pressing A within Podboat.

delete-played-files (parameters: [yes/no]; default value: no)

If set to yes, Podboat will delete files when their corresponding queue entry is removed (this includes "finished" and "deleted" entries as well). (example: delete-played-files yes)

download-path (parameters: <path>; default value: ~/)

Specifies the directory where Podboat shall download the files to. Optionally, placeholders can be used to place downloads in a directory structure. See "Format Strings" section of Newsboat manual for details on available formats. This setting is applied at enqueueing time; changing it won’t affect download paths of the podcasts that were already added to the queue. (example: download-path "~/Downloads/%h/%n")

download-filename-format (parameters: <string>; default value: "%?u?%u&%Y-%b-%d-%H%M%S.unknown?")

Specifies how Podboat would name the files it downloads (see also download-path). See "Format Strings" section of Newsboat manual for details on available formats. (example: download-filename-format "%F-%t.%e")

max-downloads (parameters: <number>; default value: 1)

Specifies the maximum number of parallel downloads when automatic download is enabled. (example: max-downloads 3)

player (parameters: <player command>; default value: "")

Specifies the player that shall be used for playback of downloaded files. (example: player "mp3blaster")

podlist-format (parameters: <format>; default value: "%4i [%6dMB/%6tMB] [%5p %%] [%12K] %-20S %u → %F")

This variable defines the format of entries in Podboat’s download list. See the respective section in the documentation for more information on format strings. (example: podlist-format "%i %u %-20S %F")

By default, Newsboat stores all the files in a traditional Unix fashion, i.e. in a "dotdir" located at ~/.newsboat. However, it also supports a modern way, XDG Base Directory Specification https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html, which splits the files between the following locations:

1.$XDG_CONFIG_HOME/newsboat/ (XDG_CONFIG_HOME defaults to ~/.config)
2.$XDG_DATA_HOME/newsboat/ (XDG_DATA_HOME defaults to ~/.local/share)

If the newsboat directory exists under XDG_CONFIG_HOME, then Newsboat will use XDG directories (creating the data directory if necessary). Otherwise, Newsboat will default to ~/.newsboat.

If you’re currently using ~/.newsboat/ but wish to migrate to XDG directories, you should move the files as follows:

config, urls

to $XDG_CONFIG_HOME/newsboat/

cache.db, history.search, history.cmdline, queue

to $XDG_DATA_HOME/newsboat/

Newsboat and Podboat also create "lock files". These prevent you from starting two instances of the same program, and thus from corrupting your data. Newsboat and Podboat remove these files when you quit the program, so there is no need to copy them anywhere — just be aware of them in case you write scripts that work with cache.db or queue. By default, lock files are located as follows:

dotdir XDG
Newsboat ~/.newsboat/cache.db.lock $XDG_DATA_HOME/newsboat/cache.db.lock
Podboat ~/.newsboat/pb-lock.pid $XDG_DATA_HOME/newsboat/.lock

Newsboat places the lock file next to the cache file, so if you specify cache-file setting or pass —cache-file command-line argument, the path to the lock file will change too. Podboat’s lock can be placed elsewhere using —lock-file command-line argument.







Note: if the XDG_CONFIG_HOME environment variable is not set, Podboat behaves as if it was set to ~/.config. Similarly, XDG_DATA_HOME defaults to ~/.local/share.


Tells Newsboat what browser to use if there is no browser setting in the config file. If this variable doesn’t exist, a default of lynx(1) will be used.


Tells Newsboat to use the specified certificate file to verify the peer. The file may contain multiple certificates. The certificate(s) must be in PEM format.

This option is useful if your libcurl is built without useful certificate information, and you can’t rebuild the library yourself.


Tells Newsboat what fallback editor to use when editing the urls file via the edit-urls operation and no VISUAL environment variable is set. If this variable doesn’t exist either, a default of vi(1) will be used.


Tells Newsboat to ignore proxy setting for certain sites.

This variable contains a comma-separated list of hostnames, domain names, and IP addresses.

Domain names match subdomains, i.e. "example.com" also matches "foo.example.com". Domain names that start with a dot only match subdomains, e.g. ".example.com" matches "bar.example.com" but not "example.com" itself.

IPv6 addresses are written without square brackets, and are matched as strings. Thus "::1" doesn’t match "::0:1" even though this is the same address.


Tells Newsboat what pager to use if the pager setting in the config file is explicitly set to an empty string.


Tells Newsboat to use the specified directory for storing temporary files. If this variable doesn’t exist, a default of /tmp will be used.


Tells Newsboat what editor to use when editing the urls file via the edit-urls operation. If this variable doesn’t exist, the EDITOR environment variable will be used.


Tells Newsboat which base directory to use for the configuration files. See also the section on files for more information.


Tells Newsboat which base directory to use for the data files. See also the section on files for more information.


Alexander Batischev