rsso is a minimal RSS feed organiser for the command line.
Keep up to date with feeds that you care about, or just find something to read over coffee, in a distraction-free environment.
cargo install rssoOr from source:
git clone https://github.com/jacklorusso/rsso
cd rsso
cargo install --path .Subscribe to feeds, and optionally provide an alias
rsso sub https://blog.rust-lang.org/feed.xml
rsso sub https://blog.rust-lang.org/feed.xml --alias rustUnsubscribe
rsso unsub rustList subscribed feeds
rsso listShow latest items
rssoTo override the default, you can specify with -n <desired-number> or
change the default in your config file.
rsso -n 50Show items for one feed:
rsso feed rust
rsso feed rust -n 10Refresh feeds manually:
rsso refresh
rsso refresh rustText-based output plays nice with other tools. For example:
rsso feed rust | grep nightlyCreate ~/.config/rsso/config.toml to override defaults:
default_limit = 20
refresh_age_mins = 60
new_line_between_items = false
max_history_per_feed = 200Control how much item history is kept per feed:
max_history_per_feed = 200rsso trims older items whenever a feed is refreshed, to keep reads and writes to state fast.
Important: if you wanted to list a very large number of items from a single feed, for whatever reason (perhaps you are searching for something)...
rsso feed rust -n 500but your config says:
max_history_per_feed = 200you will still only see 200 items. You would need to override max_history_per_feed in your config file if you are looking to list more than that.
State is stored in a platform‑appropriate location:
- Linux:
~/.local/share/rsso/state.json - macOS:
~/Library/Application Support/rsso/state.json - Windows:
%APPDATA%\rsso\state.json
You can override this:
state_file = "/custom/path.json"Be careful though! If you don't move your original state file to this location, or if you somehow delete this file, you'll be starting fresh.
- [] OPML import/export
- [] Tags / groups
MIT