O projeto NotQuiteRSS desenvolve um desdobramento do agregador RSS/Atom QuiteRSS, criado para modernizar o aplicativo mantendo a interface familiar. O projeto é voltado para usuários que precisam de uma ferramenta de desktop autônoma para ler feeds de notícias e armazenar notícias localmente. O código é escrito em C++ usando Qt Widgets e é distribuído sob a licença GPLv3. Ferramentas de IA são utilizadas no desenvolvimento. As builds são geradas para Linux (AppImage), Windows e macOS.
A principal diferença arquitetônica em relação ao QuiteRSS é a eliminação total do motor de navegador embutido QtWebKit, sem substituí-lo pelo QtWebEngine.
Os artigos são exibidos por meio do QTextBrowser e QTextDocument. Em vez de Qt Multimedia, a biblioteca miniaudio é usada para reproduzir notificações sonoras, com suporte integrado para WAV, MP3 e FLAC, sem a necessidade de plugins GStreamer.
Antes da exibição, o HTML passa por um processamento conforme uma lista de elementos e atributos permitidos: scripts, frames, formulários e outras construções não suportadas são removidos. JavaScript não é executado, e links para websites são abertos em um navegador externo. Para HTTPS, é necessário TLS 1.2 ou superior e verificação de certificados. O tamanho das respostas e redirecionamentos é limitado, e é proibido redirecionar de HTTPS para HTTP. As imagens dos artigos são carregadas separadamente dos feeds, sem transmissão de credenciais ou Cookies. A animação das imagens nas partes ocultas da página é pausada.
O aplicativo, no entanto, não é transformado em uma lista de links. A leitura de artigos com formatação e imagens, modo de jornal, abas de feeds e categorias, pesquisa dentro do artigo, zoom, impressão e exportação foram mantidos. A limitação é a falta de um layout HTML/CSS embutido completo (para visualizar a página original, um navegador externo pode ser chamado).
Entre as funcionalidades e melhorias do NotQuiteRSS:
- Suporta operação com uma base de dados SQLite na memória com gravação em disco em intervalos definidos e ao fechamento normal. Corrigidas gravações indesejadas ao minimizar para a bandeja e tratamento de erros de gravação.
- As cópias de segurança podem ser feitas manualmente, programadas, ao alterar assinaturas e ao sair do aplicativo. É possível configurar a quantidade de conjuntos guardados. Cópias resumidas estão disponíveis, contendo apenas artigos favoritos ou marcados, assim como cópias de segurança completas antes de atualizar a estrutura do banco de dados.
- Corrigido o acúmulo ilimitado de registros de serviço sobre publicações removidas ao usar a limpeza por data de publicação.
Aprimoramentos foram feitos na remoção de artigos antigos, detecção de duplicatas e tratamento de erros do banco de dados. - Para os feeds selecionados, é possível alterar simultaneamente a programação de atualizações, o carregamento de imagens, a direção do texto e os parâmetros das colunas. Os filtros de artigos podem se aplicar a todos os feeds, incluindo os adicionados posteriormente.
- As configurações do User-Agent e regras específicas para domínios, incluindo parâmetros GET/POST. Para sites com verificação de navegador, existe uma importação seletiva de Cookies no formato Netscape. Cloudflare e Anubis são reconhecidos com um diagnóstico claro, mas a passagem bem-sucedida da verificação através da importação de Cookies não é garantida.
- Os temas de design, traduções e serviços de envio de links foram transferidos para recursos externos. Há um tema OLED, ícones aprimorados para HiDPI e a possibilidade de retornar o foco ao agregador após abrir um artigo em um navegador externo.
Fonte: opennet.ru
