Проект NotQuiteRSS розвиває відгалуження від RSS/Atom-агрегатора QuiteRSS, створене для модернізації програми зі збереженням звичного інтерфейсу. Проект орієнтований на користувачів, яким потрібен самостійний настільний інструмент для читання стрічок новин і зберігання новин локально. Код написаний на C++ з використанням Qt Widgets та поширюється під ліцензією GPLv3. Під час розробки застосовуються AI-інструменти. Складання формуються для Linux (AppImage), Windows и macOS.
Основна архітектурна відмінність від QuiteRSS - повна відмова від вбудованого браузерного двигуна QtWebKit без заміни його на QtWebEngine.
Статті відображаються засобами QTextBrowser та QTextDocument. Замість Qt Multimedia для відтворення звукових повідомлень задіяна бібліотека miniaudio із вбудованою підтримкою WAV, MP3 та FLAC, яка не потребує встановлення плагінів GStreamer.
Перед показом HTML проходить обробку за списком дозволених елементів та атрибутів: видаляються скрипти, кадри, форми та інші конструкції, що не підтримуються. JavaScript не виконується, а посилання на сайти відкриваються у зовнішньому браузері. Для HTTPS потрібно TLS 1.2 або новіше та перевірка сертифікатів. Обмежуються розміри відповідей та перенаправлення, заборонено перенаправлення з HTTPS на HTTP. Зображення статей завантажуються окремо від стрічок, без передачі облікових даних та Cookies. Анімація зображень у прихованих частинах сторінки припиняється.
При цьому програма не перетворена на список посилань. У ньому збережено читання статей із форматуванням та зображеннями, газетний режим, вкладки стрічок та категорій, пошук усередині статті, масштабування, друк та експорт. Обмеженням є відсутність повноцінної вбудованої верстки HTML/CSS (для перегляду вихідної сторінки може бути викликаний зовнішній браузер).
Серед можливостей та доробок NotQuiteRSS:
- Підтримується робота з базою SQLite в оперативній пам'яті із збереженням на диск через заданий інтервал та при штатному завершенні. Виправлені небажані збереження під час згортання у трей та обробка помилок запису.
- Резервні копії можна створювати вручну, за розкладом, під час зміни передплати та виходу з програми. Налаштовується кількість комплектів, що зберігаються. Передбачені скорочені копії, що містять лише обрані або позначені статті, а також повні страхові копії перед оновленням структури бази.
- Виправлено необмежене накопичення службових записів про видалені публікації під час використання очищення за строком публікації.
Доопрацьовано видалення старих статей, виявлення дублікатів та обробку помилок бази. - Для вибраних стрічок можна змінювати розклад оновлень, завантаження зображень, напрямок тексту та параметри колонок. Фільтри статей можуть поширюватися на всі стрічки, включаючи згодом додані.
- Доступні налаштування User-Agent та окремі правила для доменів, включаючи параметри GET/POST. Для сайтів із браузерною перевіркою передбачено вибірковий імпорт Cookies у форматі Netscape. Cloudflare та Anubis розпізнаються з висновком зрозумілої діагностики, але успішне проходження перевірки через імпорт Cookies не гарантується.
- Теми оформлення, переклади та послуги надсилання посилань винесені у зовнішні ресурси. Є OLED-тема, покращені піктограми для HiDPI та можливість повертати фокус агрегатору після відкриття статті у зовнішньому браузері.
Джерело: opennet.ru
