FeedFlux is a light and versatile tool developed in Go, designed to parse feeds such as RSS, Atom, and more. With FeedFlux, these feeds can be transformed into a unified JSON format and streamed directly to your stdout, one line per item. This tool also offers the ability to record and resume your progress as needed.
The built binaries can be downloaded on https://github.com/NOBLES5E/FeedFlux/releases.
FeedFlux also provides an installation script. By default, it installs in the ./bin
directory relative to the working directory:
$ sh -c "$(curl --location https://raw.githubusercontent.com/NOBLES5E/FeedFlux/main/install.sh)" -- -d
You can override the default installation directory using the -b
parameter. On Linux, common choices are ~/.local/bin
and ~/bin
to install for the current user, or /usr/local/bin
to install for all users:
$ sh -c "$(curl --location https://raw.githubusercontent.com/NOBLES5E/FeedFlux/main/install.sh)" -- -d -b ~/.local/bin
To make use of FeedFlux, specify the feeds you wish to parse in the form of arguments. FeedFlux will fetch these feeds, convert them into a unified JSON format, and stream the output to stdout.
Example:
$ ff https://example.com/rss https://example.com/atom
The example above fetches feeds from the specified URLs.
FeedFlux also includes the functionality to record your fetching progress. When interrupted, FeedFlux can document the current state of feed fetching and enable you to resume later.
Example with recorded progress:
$ ff -r ./progress/ https://example.com/rss
In this case, FeedFlux will use the directory ./progress
to store the progress.
To fetch feed(s) and print the formatted output to stdout; use:
$ ff https://example.com/rss https://example.com/atom
To fetch feed(s) and record the progress in a JSON file for later resumption; use:
$ ff -r ./progress https://example.com/rss
To continue fetching feed(s) from a previously recorded point, use:
$ ff -r ./progress -c
Contributions to this project are welcomed and appreciated.
This project is licensed under the MIT License - see the LICENSE file for details.