NotQuiteRSS — the development of QuiteRSS with Qt 6 support and without a built-in browser

The NotQuiteRSS project develops a branch from the RSS/Atom aggregator QuiteRSS, created to modernize the application while maintaining its familiar interface. The project is aimed at users who need a standalone desktop tool for reading news feeds and storing news locally. The code is written in C++ using Qt Widgets and is distributed under the GPLv3 license. AI tools are utilized in the development process. Builds are created for Linux (AppImage), Windows, and macOS.

The main architectural difference from QuiteRSS is the complete abandonment of the built-in browser engine QtWebKit without replacing it with QtWebEngine.
Articles are displayed using QTextBrowser and QTextDocument. Instead of Qt Multimedia for sound notifications, the miniaudio library is used, which has built-in support for WAV, MP3, and FLAC formats without requiring GStreamer plugins.

Before displaying, HTML is processed according to a list of allowed elements and attributes: scripts, frames, forms, and other unsupported constructs are removed. JavaScript is not executed, and links to websites open in an external browser. For HTTPS, TLS 1.2 or newer is required along with certificate verification. Response sizes and redirects are limited, with redirects from HTTPS to HTTP being prohibited. Article images are loaded separately from feeds, without transmitting their credentials and cookies. Animation of images in hidden parts of the page is paused.

The application is not turned into a list of links. It retains the ability to read articles with formatting and images, a newspaper mode, tabs for feeds and categories, in-article search, zooming, printing, and exporting. A limitation is the absence of a fully integrated HTML/CSS layout (an external browser may be invoked for viewing the original page).

Among the features and enhancements of NotQuiteRSS:

  • It supports working with an SQLite database in memory, saving to disk at specified intervals and during normal shutdown. Unwanted saves when minimizing to the tray have been fixed, along with error handling during writing.
  • Backups can be created manually, on a schedule, when subscriptions change, and upon exiting the application. The number of saved sets can be configured. There are abbreviated backups that contain only favorite or marked articles, as well as full backup copies before updating the database structure.
  • Fixed the unlimited accumulation of log records of deleted publications when using cleanup based on publication dates.
    Improvements have been made to the removal of old articles, detection of duplicates, and database error handling.
  • For selected feeds, you can simultaneously change the update schedule, image loading, text direction, and column settings. Article filters can apply to all feeds, including those added later.
  • User-Agent configuration and separate rules for domains, including GET/POST parameters, are available. For sites with browser verification, selective import of Cookies in Netscape format is provided. Cloudflare and Anubis are recognized with clear diagnostics output, but successful verification through Cookie import is not guaranteed.
  • Design themes, translations, and link submission services have been moved to external resources. There is an OLED theme, improved icons for HiDPI, and the ability to return focus to the aggregator after opening an article in an external browser.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster