Local storage
Articles are stored in a SQLite database on your machine, so downloaded content remains available offline.
rxs reads RSS, Atom, and JSON feeds. It stores articles in a local SQLite database, refreshes subscriptions on launch, and can be used entirely from the keyboard.
$ /bin/sh -c "$(curl -fsSL https://rxs.sh/install.sh)"
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 ↗Articles are stored in a SQLite database on your machine, so downloaded content remains available offline.
Navigate, search, star, refresh, and read without switching to a mouse.
Import and export subscriptions as OPML. rxs does not require an account or a hosted service.
rxs is a single command-line program. Install the binary, give it a feed URL, and open the reader.
Download and verify the latest rxs release.
Add a feed URL from the command line or from inside the reader.
Open the interface to browse feeds and read downloaded articles.
Filter subscriptions, choose an article, and move into the full-width reader without leaving the keyboard.
Articles open in a full-width view with a reading-progress indicator. rxs saves your position when you leave or confirm quitting and restores it when you return, even in a different terminal size. An unread article is marked read after you reach its end and return to the article list.
Search downloaded titles and article text.
Shows your saved library immediately, then refreshes every feed in the background.
Choose from dark, light, and high-contrast palettes with live preview.
Three panes when wide, one focused view when narrow.
Save articles for later. Read articles are hidden by default and can be shown for the session.
Move subscriptions into or out of rxs.
Getting started
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. Windows binaries are available from GitHub Releases. You can also press a in the reader and type or paste a feed URL with your terminal's paste shortcut.
At the prompt
rxsrxs add URLrxs upgraderxs -db PATHrxs -config PATHrxs -versionOn launch, the interactive UI displays the saved library first and then refreshes every feed concurrently. Refresh results and per-feed failures appear in the status line without interrupting navigation. It also checks for a new release once a day and lets you install it or defer the prompt for 24 hours.
Inside the reader
Arrow keys, Tab, and Shift-Tab are supported too. The reader footer shows your progress; leaving the reader or confirming quit saves that position for your next visit. Press ? in rxs for the complete key map.
Make it yours
No configuration file is required. Create config.json in the platform configuration directory to change reading behavior, choose a color scheme, or use a terminal browser.
{
"appearance": { "color_scheme": "nord" },
"reading": {
"hide_read": false,
"mark_read_on_scroll": true
},
"content": { "full_articles": "auto" },
"browser": {
"mode": "tui",
"command": "w3m",
"args": ["{url}"]
}
}
Press c to preview all eleven built-in schemes: Default, Catppuccin Latte and Mocha, Dracula, Gruvbox Dark and Light, High Contrast, Nord, Solarized Dark and Light, and Tokyo Night. Enter saves your choice; Esc restores the previous scheme. By default, read articles are hidden, previews stay unread as you move through the list, and full-article downloads are off. On Linux and FreeBSD, the configuration path is ~/.config/rxs/config.json.
Optional enrichment
Some feeds contain only a summary or truncated article. Set content.full_articles to auto to let rxs fetch the linked page for those entries and store its readable text for offline reading and search.
{
"content": {
"full_articles": "auto"
}
}
Automatic enrichment applies to refreshes in the interactive reader and to rxs add. Enriched entries are labeled full text. Complete feed entries do not trigger an extra request, and a failed download leaves the feed-provided content unchanged.
This feature is off by default. It processes static HTML only: it does not run JavaScript, keep cookies, send URL credentials, or bypass authentication and paywalls. Private, loopback, link-local, and cloud-metadata destinations are rejected, including redirect targets. rxs attempts at most ten enrichments per feed refresh and retries an entry only when its URL, feed content, or update time changes.
What you download
Precompiled archives are available for macOS, Linux, Windows, and FreeBSD on AMD64 and ARM64. Every archive includes the rxs binary, its MIT license, and the full license text for each linked third-party module.
Release dependencies use permissive MIT or BSD-3-Clause licenses. Because the linked modules vary by operating system, each archive contains a license report generated from that specific binary.
TRY RXS
rxs is open source, runs locally, and does not require an account.