# RSS Guard: a Qt feed reader that also speaks Gemini and XMPP

> RSS Guard is a C++/Qt desktop feed reader for RSS, ATOM, JSON, iCalendar and Sitemap, plus podcasts, Gemini and XMPP PubSub. It is a good fit if you want one local client for many feed services; it is not a mobile app and not a web reader.

**martinrotter/rssguard** — Feed reader (podcast player, basic XMPP client and also Gemini protocol client) which supports RSS/ATOM/JSON and many web-based feed services.

- Repository: https://github.com/martinrotter/rssguard
- Stars: 2,762 · Forks: 166
- Language: C++
- License: GPL-3.0
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/martinrotter-rssguard

## What RSS Guard solves, and for whom

Most feed readers pick a side: either they read plain feeds from local files and URLs, or they are thin clients for one hosted service. RSS Guard does both in a single Qt application. The README lists support for RSS, ATOM, JSON, iCalendar and Sitemap, and in the same document lists Feedly, Gmail, Google Reader API services (Bazqux, FreshRSS, Inoreader, Miniflux, Reedah, The Old Reader), Nextcloud News, Tiny Tiny RSS and XMPP. That combination is the reason to look at this project. If you follow a handful of blogs and also keep a FreshRSS or Inoreader account, you do not need two programs.

The audience is desktop users. The README states it runs on Windows, Linux, BSD, OS/2 and macOS. It is written in C++ with Qt, which is visible in the repository layout: a CMakeLists.txt at the top level, an aqt/ directory (the Qt installer tooling), and a src/ tree. That tells you what kind of deployment to expect, a compiled desktop binary rather than a server you host. Anyone searching for rssguard android or rssguard lite will not find those here; the README describes no mobile client and no reduced build.

## How the pieces fit: services, feeds, player and protocols

RSS Guard is organized around accounts. A local account holds feeds you point at directly. A service account holds a connection to one of the listed backends, and the feeds come from that service. The README does not describe the internal class structure, but the service list is specific enough to reason about: Feedly and Gmail are named separately from the Google Reader API group, which implies distinct integration code per service rather than one generic sync layer. Nextcloud News and Tiny Tiny RSS appear as their own entries for the same reason.

Media playback is built in. The README says RSS Guard can play audio and video directly with an mpv-based player, or alternatively an ffmpeg-based one, and that no external applications are required. That is unusual for a feed reader and it is what makes the podcast use case plausible without a second program.

Two protocol integrations go beyond feeds. Gemini support lets the application fetch and display feeds over Gemini connections. XMPP support is narrower than the name suggests: the README describes basic support for XMPP PubSub for real-time ATOM entries, and the ability to fetch real-time messages from single-user or multi-user chats. So it is a PubSub and chat reader, not a general-purpose XMPP client, despite the repository description calling it a basic XMPP client.

## Installing RSS Guard and adding a first feed

The README does not contain install commands. It links to a Downloads page (the GitHub releases page) and to development builds, and the repository carries a packaging status badge pointing at Repology, which tracks distribution packages. The practical route is therefore either your distribution's package manager or a release asset from the releases page. The project also publishes documentation at rssguard.readthedocs.io, which is where account setup is described.

On a Debian or Ubuntu system, the distribution package is the least surprising option, and it is the one the Repology badge exists to track:

```bash
sudo apt install rssguard
```

After installation, the first real use is a local feed, which needs no service account. In the application, add a new feed and paste the feed URL. The README gives no dialog-by-dialog walkthrough, so the reliable reference for this step is the documentation site rather than the README.

For a service account, the choice of backend determines what you enter. The README lists the supported services but not their endpoints or authentication flows:

```text
Feedly
Gmail
Google Reader API: Bazqux, FreshRSS, Inoreader, Miniflux, Reedah, The Old Reader
Nextcloud News
Tiny Tiny RSS
XMPP
```

If you build from source instead, the top-level CMakeLists.txt is the entry point and aqt/ is present for Qt tooling. The README does not document the build flags, so treat the repository files as the source of truth there.

## Where RSS Guard is the wrong tool

There is no mobile client. The README names Windows, Linux, BSD, OS/2 and macOS only. If your reading happens on a phone, this is a desktop-only answer and the related search for rssguard android has no product behind it here.

There is no official hosted service. The homepage field is empty, and the README points to a Discord chat, an XMPP chat room, the releases page and the documentation. Nothing describes a web reader you log into, so if you want to read from a browser on a machine where you cannot install software, look elsewhere.

The XMPP support is explicitly basic. PubSub and chat messages are covered; the README does not claim roster management, OMEMO, file transfer or the other things people expect from a full XMPP client. Calling it an XMPP client without that qualifier overstates it.

Finally, the README does not document rollback or downgrade. It links a CHANGELOG and three recent releases (5.2.5, 5.2.4 and the devbuild5 development tag), but nothing explains how to move back to an earlier version or what happens to a local database when you do. If you run development builds, that gap matters.

## RSS Guard compared with Newsboat and Liferea

Newsboat is the terminal answer to the same problem. It is keyboard-driven, lives in a terminal, and suits someone who already works in one. RSS Guard is a Qt GUI application with a media player and service account support, so the difference is not quality but surface: Newsboat gives you a text interface and no built-in playback, while RSS Guard gives you a window, an mpv-based or ffmpeg-based player, and integrations with Feedly, Gmail, Nextcloud News and Tiny Tiny RSS that are listed in its README.

Liferea is the closer comparison, since it is also a desktop feed reader on Linux. The distinction visible in the README is breadth of backends and protocols. RSS Guard lists a long set of Google Reader API services plus Feedly, Gmail, Nextcloud News and Tiny Tiny RSS, and adds Gemini and XMPP PubSub. If you only read local feeds on Linux, that breadth is unused weight, and a smaller reader will do. If you have accounts spread across services, the breadth is the point.

Feedly and FreshRSS appear in the related searches as alternatives, but they are services rather than desktop clients. RSS Guard consumes them; it does not replace them. That is the cleanest way to decide: pick the service for storage and sync, then pick RSS Guard if you want a Qt client on top of it.

## Maintenance, releases and the GPL-3.0 licence

The repository is not archived and the last push was on 2026-09-24. The release history shows 5.2.5 on 2026-08-20 and 5.2.4 on 2026-08-17, so the 5.2.x line is receiving point releases. A separate development tag, devbuild5, was published on 2025-05-27 for the 5.x development builds. That is the upgrade picture: stable point releases plus a development channel you can opt into.

The upgrade cost is mostly your distribution's. The packaging status badge points at Repology, which tracks how far behind each distribution's package is, and that page is the honest way to find out whether your system ships 5.2.5 or an older version. Building from source is the other route, and it means carrying a Qt toolchain; the aqt/ directory and CMakeLists.txt are the visible parts of that.

On licensing, RSS Guard is GPL-3.0, stated in the README and in LICENSE.md. For individual desktop use this is unremarkable. If you intend to redistribute a modified binary, or to link the code into a product, the GPL-3.0 obligations are yours to read in LICENSE.md. This is a description of what the repository says, not legal advice.

## Conclusion

Adopt RSS Guard if you want a local Qt client that aggregates Feedly, Gmail, Google Reader API services, Nextcloud News and Tiny Tiny RSS accounts alongside plain RSS, ATOM, JSON, iCalendar and Sitemap feeds, and you are willing to install it from your distribution or a release binary. Do not adopt it expecting an Android or iOS app, an official hosted web reader, or a project with documented rollback and downgrade steps; the README documents neither. Before committing, verify that your distribution package or release asset matches the 5.2.5 release line, confirm whether your service is reached through the Google Reader API, Nextcloud News or Tiny Tiny RSS, and check the docs at rssguard.readthedocs.io for the account setup for that service.

## FAQ

### How do I use RSS Guard?

Install it from your distribution package or from the releases page, then add either a local feed by URL or an account for one of the supported services such as Feedly, Nextcloud News or a Google Reader API service. The README does not walk through the dialogs, so the documentation at rssguard.readthedocs.io is the reference for account setup.

### What are the alternatives to RSS Guard?

Newsboat is a terminal-based reader with a keyboard-driven interface and no built-in media player, while Liferea is another desktop feed reader for Linux. Feedly and FreshRSS are services rather than desktop clients, and RSS Guard connects to them instead of replacing them.

### Is there an Android version of RSS Guard?

The README lists Windows, Linux, BSD, OS/2 and macOS as supported platforms, and describes no Android client. Reading on a phone is not covered by this project.

### Which feed formats does RSS Guard support?

The README lists RSS, ATOM, JSON, iCalendar and Sitemap. It also states that feeds can be fetched over the Gemini protocol.

### Does RSS Guard play podcasts without an external player?

Yes. The README states it can play audio and video directly using its built-in mpv-based player, or alternatively an ffmpeg-based one, with no external applications required.

### What licence is RSS Guard released under?

GPL-3.0, stated in the README and in LICENSE.md. Anyone redistributing a modified build should read the obligations in that file.

## Sources

- [Issues](https://github.com/martinrotter/rssguard/issues)
- [License: GPL-3.0](https://github.com/martinrotter/rssguard/blob/master/LICENSE)
- [martinrotter/rssguard on GitHub](https://github.com/martinrotter/rssguard)
- [README](https://github.com/martinrotter/rssguard/blob/master/README.md)
- [Releases](https://github.com/martinrotter/rssguard/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/martinrotter-rssguard
