A performance-first, full-featured RSS/Atom feed reader built with Electron + React + TypeScript. Subscribe to feeds, read articles with full-content extraction, manage your reading flow with star/read/unread/trash, and receive smart notifications when new articles are published.
Free and open source (GPLv3) β no ads, no tracking, and no data collection. Just enjoy it.
Most RSS readers are either slow web wrappers or abandoned projects. CyberFeeds is built from the ground up for performance and usability β worker threads keep fetching responsive, SQLite WAL mode handles thousands of articles smoothly, and a custom notification system ensures you never miss important updates.
| Need | Solution |
|---|---|
| Follow RSS, Atom, and Reddit | Native support for all formats + Reddit subreddits and user feeds |
| Read full articles | Content extraction via worker threads β no truncated summaries |
| Stay updated | Smart notifications with keyword filtering, snooze, and multi-monitor support |
| Manage large libraries | Virtualized lists, search, star/read/unread, auto-cleanup |
| Migrate from another reader | OPML import/export with folder structure preserved |
| Keep your data | Local SQLite database β no cloud, no accounts, no tracking |
- Universal Feed Support β RSS, Atom, and XML with automatic discovery
- Reddit Integration β Native subreddit and user feed support with fallback chain (RSS β JSON API)
- OPML Import/Export β Migrate your feeds with folder structure preserved
- Feed Preview β Preview feed content before subscribing
- Feed Doctor β Diagnostic scanner for connectivity and parsing issues
- Background Polling β Configurable refresh intervals with per-feed and per-folder pause/resume
- Full-Content Extraction β Fetch complete article content via worker threads
- Star/Unstar β Mark articles as favorites
- Read/Unread Tracking β Know what you've read at a glance
- Soft Delete β Move articles to trash with 30-day auto-purge
- Instant Search β Search articles with instant or Enter-to-search modes
- Virtualized Lists β Smooth scrolling for large article libraries
- Multiple Layouts β Three-panel, two-panel, one-panel, and horizontal-split views
- Custom Notification Window β Built-in notifier with batching and action buttons
- Keyword Filtering β Only get notified about topics that matter
- Snooze β Pause notifications for a configurable duration
- Multi-Monitor Support β Choose which display shows notifications
- Sound Alerts β Custom notification sounds
- Fullscreen Detection β Suppress notifications during games or videos
- System Tray β Minimize to tray, quick actions menu, activity indicator
- Global Hotkeys β Configurable shortcuts (default show/hide:
Alt+Shift+S) - Auto-Start β Start with Windows option
- Auto-Updates β Built-in update checker with manual download control
- Custom Browser β Open links in a user-selected browser
- 7 Themes β Dark, Light, Dracula, Nord, Hacker, Monokai, and Default
- Reading Preferences β Font size, line height, max width, reading theme (Default, Sepia, Dark)
- Bilingual UI β Full English and Spanish interface
- Backup & Restore β JSON-based backup of feeds, folders, and settings
- Auto-Cleanup β Automatically delete old read articles
- SQLite Database β High-performance local storage with WAL mode
- Platform: Windows (primary target), macOS, Linux
- Framework: Electron 34 + React 19 + TypeScript
- Build: electron-vite 5 (Vite 6)
- State: Zustand 5
- Database: better-sqlite3 (WAL mode)
- Virtualization: TanStack Virtual
- Packaging: electron-builder (NSIS)
src/
βββ main/ Electron main process
β βββ index.ts App initialization, window creation
β βββ ipc.ts IPC channel handlers
β βββ db.ts SQLite database layer
β βββ feed-parse.ts Feed parsing with fallbacks
β βββ polling.ts Background polling orchestration
β βββ tray.ts System tray, shortcuts, context menu
β βββ notifications.ts Custom notifier window
β βββ updater.ts Auto-update lifecycle
β βββ opml.ts OPML import/export
β βββ workers/
β βββ feed-fetcher.worker.ts Parallel feed fetching
β βββ content-extractor.worker.ts Article content extraction
βββ preload/ Context bridge API
β βββ index.ts window.api exposure
βββ renderer/ React application
β βββ notifier/ Notification window React app
β βββ src/
β βββ components/ UI components
β βββ hooks/ Custom React hooks
β βββ store/ Zustand stores
β βββ styles/ Global CSS and themes
βββ shared/ Isolated shared code
βββ types.ts Shared TypeScript interfaces
βββ translations.ts EN/ES UI strings
βββ reddit.ts Reddit URL handling
- Worker Threads β Feed fetching and content extraction run in dedicated workers to keep the main process responsive
- Optimistic UI β Article state updates immediately in the renderer, then syncs with the main process
- CSS Variable Resizing β Column/row resizing updates DOM directly during drag (zero React re-renders)
- Context Bridge β Strict preload API surface with no Node integration in renderer
- WAL Mode SQLite β High-performance concurrent reads with write-ahead logging
npm install
npm run devNote: The
postinstallscript automatically rebuildsbetter-sqlite3for the current Electron version.
npm run build # Production build
npm run build:win # Windows installer
npm run build:unpack # Directory output (no installer)npm run typecheck # Type checking
npm run lint # Linting
npm run format # FormattingWindows may show a SmartScreen warning the first time you run the CyberFeeds installer β this is an unsigned hobby app, so Windows hasn't built reputation for the file yet. This is expected; the source is public so you can inspect exactly what it does.
To continue:
- Click More info.
- Click Run anyway.
| Key | Action | Scope |
|---|---|---|
Alt+Shift+S |
Show/hide CyberFeeds | Global |
Escape |
Close panel | Application |
Additional shortcuts (Notifications, Settings, Fetch Now) are configurable in Settings β Keyboard.
RSS, Atom, and XML feeds. It also supports Reddit subreddits and user feeds natively, with a fallback chain from RSS to the Reddit JSON API.
Yes. CyberFeeds supports OPML import and export, preserving your folder structure. Go to the sidebar menu and select Import OPML.
CyberFeeds has a custom notification system that shows a native-looking popup when new articles are published. You can filter notifications by keywords, snooze them, choose position and monitor, and suppress them during fullscreen applications.
All data is stored locally in a SQLite database. No cloud sync, no accounts, no tracking. You can export a JSON backup at any time from Settings β Maintenance.
Windows is the primary target, but Electron builds for macOS and Linux are supported. Check the releases page for available platforms.
CyberFeeds is one of the gems in CyberGems, a personal suite I've spent thousands of hours building and refining for my own use. I've decided to share the whole suite with the world β completely free and open-source.
If you'd like to support this work, a donation would mean a lot. Thank you! π
Crypto donations (BTC, ETH, USDT, LTC) β click to view addresses
β οΈ Send only the selected asset on the indicated network. Using the wrong network will result in permanent loss of funds.
CyberFeeds is distributed under the terms of the GNU General Public License v3.0. See LICENSE for the full license text.
Made by CyberGems



