Terminal feed reader

Read feeds from
your terminal.

rxs reads RSS, Atom, and JSON feeds. It stores articles in a local SQLite database and can be used entirely from the keyboard.

$ /bin/sh -c "$(curl -fsSL https://rxs.sh/install.sh)"
See how it works
rxs: browse offline ready
rxs showing feeds, articles, and a reading preview in three terminal panes
Why the terminal?

A feed reader can fit into the tools you already use.

If you already spend time in a terminal, a terminal-first reader is worth exploring: it keeps navigation on the keyboard, works over SSH, and stores its data on your machine. rxs is one way to try that workflow.

View the source and docs

Local storage

Articles are stored in a SQLite database on your machine, so downloaded content remains available offline.

Keyboard controls

Navigate, search, star, refresh, and read without switching to a mouse.

Portable subscriptions

Import and export subscriptions as OPML. rxs does not require an account or a hosted service.

How it works

Install, add a feed,
and start reading.

rxs is a single command-line program. Install the binary, give it a feed URL, and open the reader.

Install

$ /bin/sh -c "$(curl -fsSL https://rxs.sh/install.sh)"

Download and verify the latest rxs release.

Add a feed

$ rxs add https://example.com/feed.xml

Add a feed URL from the command line or from inside the reader.

Read

$ rxs

Open the interface to browse feeds and read downloaded articles.

rxs: reader local
rxs focused reader view displaying a downloaded article
ggtop of article
/find in article
Reading view

Read and navigate in the same interface.

Articles open in a full-width view. You can select links, search the article text, and return to the feed list without leaving the terminal.

  • j / k move and scroll
  • / + n / N find and jump between matches
  • s star for later
  • o open the original
More features

What else is
included.

Full-text search

Search downloaded titles and article text.

Feed refreshes

Uses conditional requests and limits concurrent fetching.

Six color schemes

Default, Dracula, Gruvbox, Nord, and both Solarized modes.

Adaptive layout

Three panes when wide, one focused view when narrow.

Stars and unread state

Save articles and filter the list to unread items.

OPML import and export

Move subscriptions into or out of rxs.

Getting started

Quick start

Install the latest release, add a feed directly, then open the reader. Added articles are downloaded to the local database immediately.

$ /bin/sh -c "$(curl -fsSL https://rxs.sh/install.sh)"
$ rxs add https://example.com/feed.xml
$ rxs

The installer supports macOS and Linux on AMD64 and ARM64.

At the prompt

CLI reference

rxs
Open the terminal interface.
rxs add URL
Add and immediately refresh a feed.
rxs -db PATH
Use a different SQLite database.
rxs -config PATH
Load a different configuration file.
rxs -version
Print the installed version.

Inside the reader

Key map

j / kMove or scroll
h / lChange pane
EnterOpen selected item
SpaceToggle read state
sToggle starred
r / RRefresh one or all
/Filter, search, or find
?Show all shortcuts

Arrow keys, Tab, and Shift-Tab are supported too. Press ? in rxs for the complete key map.

Make it yours

Configuration

No configuration file is required. To choose a color scheme or use a terminal browser, create config.json in the platform configuration directory.

{
  "appearance": { "color_scheme": "nord" },
  "browser": {
    "mode": "tui",
    "command": "w3m",
    "args": ["{url}"]
  }
}

On Linux, the default path is ~/.config/rxs/config.json.

TRY RXS

See if terminal-first reading
fits your workflow.

rxs is open source, runs locally, and does not require an account.

Get rxs on GitHub macOS + Linux · AMD64 + ARM64