RSS reader for GNUStep using the SmallStep API and libxml2 (FOSS).
SmallReSiever/
├── App/ # Application entry and UI
│ ├── main.m
│ ├── AppDelegate.h
│ └── AppDelegate.m
├── RSS/ # RSS/Atom models and parsing
│ ├── RSSFeed.h/m
│ ├── RSSItem.h/m
│ └── RSSParser.h/m
├── Compat/ # SmallStep API compatibility (when SmallStep not linked)
│ ├── SmallStepCompat.h
│ └── SmallStepCompat.m
├── GNUmakefile
├── LICENSE
└── README.md
RSS/Atom reading is implemented using:
| Library | Role | License |
|---|---|---|
| libxml2 | XML parsing (RSS 2.0 and Atom 1.0) | MIT |
- libxml2: https://gitlab.gnome.org/GNOME/libxml2 — C library for parsing XML; used in
RSS/RSSParser.mto parse feed XML and populateRSSFeed/RSSItem. No other third‑party RSS/XML libraries are used.
The app also uses GNUStep (Base + GUI) for the desktop UI and, optionally, the SmallStep API (either from ../SmallStep or the bundled Compat implementation).
- Fetch RSS 2.0 and Atom 1.0 feeds from any HTTP(S) URL
- Parse feeds with libxml2 (C, free software)
- List items in a table; show title, link, date, and content in a text view
- Add Feed (Cmd+O) and Refresh (Cmd+R); Quit (Cmd+Q)
- Feed fetching runs on a background thread so the UI stays responsive
- GNUStep (Base + GUI):
gnustep-base,gnustep-gui,gnustep-make - libxml2:
libxml2-dev(or equivalent)
SmallReSiever implements the SmallStep API locally (SmallStepCompat) so it runs without building SmallStep. If SmallStep is installed, you can link against it instead by adjusting the GNUmakefile.
cd SmallReSiever
. /usr/share/GNUstep/Makefiles/GNUstep.sh # or your GNUSTEP.sh path
make./SmallReSiever.app/SmallReSiever
# or
openapp ./SmallReSiever.appEnter a feed URL (e.g. https://www.example.com/feed.xml) and click Fetch. Select an item in the list to view its content.
GNU AGPLv3+. See LICENSE.