CROSSBOW(1) General Commands Manual (urm) CROSSBOW(1)

crossbowThe minimalist feed aggregator

crossbow [-cDdqVv] [-i] identifier

crossbow -h

crossbow is simple RSS/Atom feed aggregator, designed to be invoked periodically via cron(8).

The feeds to be monitored are specified in the crossbow.conf(5) configuration file. Each feed must declare a URL that is checked for new entries upon invocation, and is associated with a handler that determines how entries are processed.

The available handlers are:

Prints a textual representation of each new entry to stdout(3).

This handler is intended as a way to turn entries into email, since the output of a cron(8) job is normally mailed to the owner of the crontab(5).

Handle new entries by means of a subprocess.

This handler allows to execute a specialized data scraper for each processed entry. The subprocess can be parametrised with various entry properties, such as the title and the link to the content.

Like exec, but the content is made available to the subprocess by means of a pipe(2), so it can be handled regardless of the size.

This handler allows to process feeds that deliver a copious amount of content.

After each entry has been processed according to the corresponding feed handler, the set of their identifiers is persisted on the filesystem, so that they are marked as seen for the next invocation. The entries that could not be handled successfully (i.e. the subprocess failed) will be processed again on the next round.

Catch up, marking new items as seen without processing them. The effect is the same as -D, but feeds configured with the print handler are silenced too.
Do not execute subprocesses for feeds configured with the exec or pipe handlers.
Do not mark processed items as seen.
Print help text and exit.
identifier
Only fetch the feed identified by identifier. The identifier can be equivalently supplied as first argument. This flag is useful to escape a feed name that starts with a hyphen.
Quiet mode. Set the verbosity level to zero, suppressing notifications except for warnings and fatal errors.
Print version and exit.
Increase verbosity level. This option can be supplied multiple times for additional verbosity.

~/.crossbow.conf
The configuration file. See crossbow.conf(5).
${XDG_CONFIG_HOME}/crossbow.conf
Alternative configuration file, honored if ~/.crossbow.conf is not found.
~/.config/crossbow.conf
Alternative configuration file, honored if none of the above is found.
~/.crossbow
Path for the persistence directory, that is where crossbow will store the set of seen entry identifiers for each feed. The directory is created if it does not exist. A different path for the persistence directory can be specified in the configuration file. See crossbow.conf(5)

crossbow exits with 0 on success, and with 1 in case of failed feed retrieval or failed entry processing.

See crossbow-cookbook(7).

crossbow-format(5), crossbow.conf(5), crossbow-cookbook(7), cron(8)

Giovanni Simoni <dacav@fastmail.com>

File descriptors have been reported to leak to subprocesses. The problem has been corrected in crossbow(1) but it might still happen due to dependencies (e.g. OpenSSL under Debian Stable).

September 14, 2021