yarr (yet another rss reader) is a web-based feed aggregator. It can be used both as a desktop application and a personal self-hosted server.
This is my personal feed reader that I use regularly that became popular with others as well. It’s written with simplicity in mind, both internally and from UI/UX perspective. It’s main features:
- Cross-platform: Windows, MacOS and Linux (GUI mode) + any OS/arch Go supports
- Responsive design suitable for desktop, tablet and mobile
- Support for all feed formats: Atom, RSS, RDF and JSON
- Readability for clutter-free reading experience
- Intuitive interface with minimal settings
- Themes (White/Beige/Dark)
- OPML import/export
- Keyboard shortcuts
- Full-text search
The project is written in Go, and the frontend is powered by Vue.js and Bootstrap.
It’s very light on dependencies,
with golang.org/x/net
, golang.org/x/sys
and mattn’s go-sqlite3
being
the only external (vendored) dependencies. The rest (apart from Go’s builtin packages)
is implemented from scratch. These include:
- RSS/Atom/JSON feed parsers
- subset of CSS selector
- Web router and middlewares
- HTML sanitizer and readability library (borrowed and modified from miniflux)
Source code: https://github.com/nkanaev/yarr