#rss-reader #rss #tui #config-file #miniflux

app cliflux

A terminal-ui (TUI) client for the Miniflux RSS reader

17 stable releases

new 1.8.0 Mar 20, 2025
1.6.0 Feb 18, 2025
1.5.0 Dec 5, 2024
1.4.4 Jul 23, 2024
1.3.1 Mar 30, 2023

#164 in Command-line interface

Download history 154/week @ 2024-12-01 33/week @ 2024-12-08 1/week @ 2024-12-15 1/week @ 2025-01-12 24/week @ 2025-02-09 128/week @ 2025-02-16 14/week @ 2025-02-23 15/week @ 2025-03-02 213/week @ 2025-03-16

251 downloads per month

MIT license

455KB
2K SLoC

cliflux

cliflux is a terminal-ui client for the Miniflux self-hosted RSS reader.

There are many good TUI/CLI RSS reader apps, but when I went looking, I couldn't find one that used Miniflux as its source for feeds, read/unread tracking, and "saved" feed entries.

So I built one! And that's what this is.

Screenshots

A screenshot of cliflux showing the "unread entries" list

A screenshot of cliflux showing the "read entry" view

Installation

This package is built in Rust, so if you have that installed, you should be able to just run cargo install cliflux to install it.

Otherwise, grab a build for your OS from the Releases page.

Initial setup

You'll need to supply cliflux with two key pieces of configuration, in a TOML file called config.toml in your OS's standard application-configuration-files directory, which would be....

Linux MacOS Windows
$XDG_CONFIG_DIR/cliflux/ $HOME/Library/Application Support/com.spencerwi.cliflux/ %APPDATA%\Roaming\spencerwi\cliflux\

(If you're on another OS and you have suggestions on where to put the config file, please open a PR or a Github issue!)

That TOML file should look like this:

server_url = "your-miniflux-server-url-here-including-port"
api_key = "your-miniflux-api-key-here"
allow_invalid_certs = false

You can stub out a default config file by running cliflux --init, which will also tell you where the config file should live.

To generate an API key for your Miniflux account, log into your Miniflux account on your server and go to "Settings" > "API Keys" > "Create a new API key"

Usage

Once you've got your config file in place, just run cliflux and you'll see a list of feed entries fetched from your Miniflux server. Up/down arrows (or k/j for vim delinquents like me) navigate this list, m toggles the read/unread state of the article, r refreshes the list view, and "enter" opens an article for reading, at which point it'll be marked as read.

While reading an article, u will mark it as unread, up/down arrows (or, again, k/j) will scroll up/down, "PageUp" and "PageDown" will scroll faster, o will open the article in your browser, and b will go back to the main list view.

If all that seems like a lot to remember, you can hit ? at any time and get a keyboard reference screen like this:

A screenshot of cliflux showing the keyboard reference screen

Theming

Very basic theming is supported: specifically, you can add the following section to your config toml file:

[theme]
unread_color = "something" # default is your terminal's default foreground color
read_color = "something else" # default is "gray"

The supported color values there are any of the values supported by tuirealm's Color::FromStr

This includes:

  • ANSI color names (like White or lightred)
  • Indexed 8-bit 256 colors (see https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit)
  • RGB values written as hexadecimal with a # prefix; for example #FFFFFF for white
  • Reset, which just means "use the terminal's default foreground color"

License

This software is provided under the MIT License. See LICENSE.md.

Dependencies

~15–29MB
~433K SLoC