Machine translation from Turkish (Cloudflare Workers AI), not reviewed by the author. Read the Turkish original

← Posts

QuickNews for Omarchy Linux: An Ad-Free, Image-Free, Pure Text-Focused Open Source News Reader

Score —

The birth of the QuickNews project: stripped of visual clutter, banner ads and clickbait traps, featuring a Quickshell Wayland interface, an independent Rust engine, an up-to-date RSS/Atom XML validation shield and local AI summarization.

· 6 min read
Contents

Summary: QuickNews is an Omarchy application that displays news as text only, without ads or images. It covers the local architecture with no tracker, the layer that validates RSS and Atom feeds, natural-language source discovery, generating neutral headlines and three-bullet summaries with a local model, the Rust engine and Quickshell interface, and the security measures.

Following current developments on the internet has turned into an increasingly exhausting struggle in the modern web environment. When you enter a news site, video ads popping up from every corner of the screen, cookie consent windows covering the entire field of view, newsletter subscription demands, hundreds of pixels of meaningless stock photos squeezed between every paragraph, and misleading (clickbait) headlines that force the reader to click through pages…

For developers, researchers, system administrators and users who want to spend their time by reaching information directly, this situation creates an unacceptable cognitive load. What we are usually looking for is just a few lines of pure text, the essence of the event and its technical accuracy.

To solve this problem at its root, I am excited to announce the QuickNews project, which we designed for Omarchy Linux and the modern Wayland desktop ecosystem. QuickNews is an independent news reader that is open source, ad-free, image-free, text-first, equipped with a current RSS/Atom XML validation shield and has local AI summarization.

Philosophy: Pure Text and Cognitive Calm

The core design philosophy of QuickNews is extremely clear:

  • Zero Ads: No ad network, sponsored content widget or promotional panel can leak into the interface.
  • Zero Image and Media Clutter: News is completely stripped of visual decorations, animated gifs and banners that consume bandwidth.
  • Zero Tracking and Telemetry: Which news the user reads, how long they stay on the page or their interests are never sent to any center; everything stays on your local machine.
  • Ergonomic Typography: To prevent eye strain, the reading panel is optimized with a text column limited to 880 pixels, a line height of 1.6 and the JetBrainsMono Nerd Font font family by default.

QuickNews Ana Arayüzü

1. Open Source, Local and Tracker-Free Architecture

QuickNews is developed as fully open source under the MIT license. Unlike commercial news readers or web-based services, it has no cloud dependency, central user account or telemetry infrastructure.

The content cleaning engine (DOM Cleaner) running in the background filters the incoming raw feed and article data with strict rules:

  • All <img>, <picture>, <svg>, <video>, <audio> and <iframe> elements in the HTML are completely stripped from the DOM tree.
  • Hundreds of popular ad and tracker classes/IDs such as ad-banner, sponsored-post, outbrain, taboola, newsletter-signup, cookie-consent are deleted instantly.
  • Tracking parameters in URLs used to profile the user, such as utm_source, utm_medium, utm_campaign, fbclid, gclid, are stripped before the request is even made.

2. Current RSS / Atom XML Validation Shield

The most common structural weakness of traditional RSS readers is that sites change their RSS feed URLs or that feed addresses break and return plain HTML error pages (404, Cloudflare block, JavaScript challenge, etc.). Older-generation readers try to parse these HTML responses and either freeze or show the user meaningless piles of code.

To prevent this problem, QuickNews includes an XML Validation Shield (XML Technology Guard) mechanism at the core level:

[ Aday URL / Besleme İsteği ]
              │
              ▼
[ HTTP Yanıt Başlığı Denetimi ]
   ├── Content-Type: application/rss+xml, application/atom+xml, text/xml?
   └── Başarısız ise: Gövde İncelemesine Geç
              │
              ▼
[ 8 KiB Başlangıç Gövde İncelemesi ]
   ├── <rss, <feed veya <channel XML kök etiketleri mevcut mu?
   └── HTML, DOCTYPE veya Cloudflare sayfası tespit edilirse: REDDET
              │
              ▼
[ Geçerli XML ] ──► Akış Kabul Edilir ve Kaydedilir
[ Geçersiz / Bozuk ] ──► Güvenle Yoksayılır / Kullanıcıya Bildirilir

Thanks to this shield, QuickNews accepts only genuine, live, and standards-compliant RSS 2.0 or Atom XML feeds. It is now impossible for broken sources or fake endpoints protected by JavaScript to pollute the interface.

Out of the box, the system supports a broad pool of verified sources, from national news (NTV, Diken, T24) and local city press (Haberler Yerel, Yeni Asır, Bursa Hakimiyet) to technology publications (The Verge, Ars Technica, Phoronix, Webtekno, Donanım Arşivi, BTK News) and cybersecurity bulletins (Bleeping Computer, The Hacker News).

3. Smart Source Discovery with Natural Language

Having users search through the source code of website after website for RSS links is a tedious process. QuickNews automates this process with its built-in Natural Language Source Discovery Engine.

QuickNews Kaynak Ekleme Modalı

When you type a natural-language phrase into the search bar such as "Turkiye yerel sehir haberlerini ekle", "Top Linux news and kernel blogs" or "Cybersecurity feeds":

  1. The engine queries the trusted domain directory in its internal knowledge base.
  2. It probes the current RSS/Atom addresses of candidate sites.
  3. It tests each address instantly with the XML Validation Shield.
  4. It automatically registers only the working XML feeds that pass the test successfully into your system.

4. Neutral Headlines and 3-Bullet Summaries with Local AI

At the busy pace of the day, reading hundreds of news articles from start to finish is often impossible. QuickNews activates its local AI inference engine in the article detail view:

  • De-Clickbait (Calmed Neutral Headline): It analyzes exaggerated headlines designed as click traps and produces a plain, factual Turkish headline free of sensationalism.
  • 3-Bullet Summary: It summarizes the article's main arguments and concrete data in 3 short bullets. Users can grasp the essence of the development within seconds without reading the entire article.
  • Privacy-Focused Operation: Summarization can be performed entirely through models running on the local machine or through secure local inference servers defined by the user.

QuickNews Okuma Görünümü

5. Two-Layer Hybrid Architecture: Rust and Quickshell

QuickNews is built on a decoupled two-layer architecture, just like Omarchy Linux's other native tools (OmaStudio, NetRadar, OmaNotes):

A. Core Engine (quicknews-engine - Rust)

  • High-Performance Concurrency: With the tokio asynchronous runtime, dozens of news feeds are downloaded and parsed in parallel within seconds.
  • Fast XML and HTML Processing: Parsing with zero memory leaks, operating directly over the byte stream using the quick-xml and scraper libraries.
  • CLI Independence: The engine does not only serve the graphical interface; it can also be used as an independent command-line tool via the terminal with the --fetch, --summary, --sources, and --discover arguments.

B. Graphical User Interface (Quickshell / Qt 6 QML)

  • GPU-Accelerated Wayland Interface: Smooth 60+ FPS scrolling, a minimalist window layout, and keyboard shortcuts.
  • Live System Theme: It monitors Omarchy's colors.toml configuration in real time; when the desktop color palette changes, the news reader's colors update instantly.
  • Ergonomic Typography: Uniform and legible character spacing with JetBrainsMono Nerd Font.

6. Security Measures

QuickNews has been developed with the following security measures:

  1. SSRF Defense (Server-Side Request Forgery Protection): The client verifies the target IP address before connecting to a news source. Requests redirected to private network (RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local (RFC 3927: 169.254.0.0/16), and loopback (127.0.0.0/8) blocks are rejected at the socket level.
  2. Memory and Response Ceiling Limits: An 8 MiB ceiling limit is applied to XML or HTML data fetched over the network (take(MAX_BYTES)). Denial-of-service (DoS) attempts aimed at exhausting memory with huge responses are eliminated.
  3. Atomic and Permission-Protected Storage: Configuration and news cache files are not written directly to the file; they are first written to a .tmp_* temporary file and then moved atomically (fs::rename). File permissions are strictly set to 0600 (owner read/write only), and directory permissions to 0700. Symbolic links (symlinks) are never accepted.
  4. External Process Isolation: CLI calls and subprocesses are run in independent process groups (process_group(0)), ensuring system stability.

7. Building and Usage

QuickNews can be easily built on any modern Linux system that has the Rust compiler and the Cargo package manager.

Cloning and Building the Repository

git clone https://github.com/ozdil/quicknews.git
cd quicknews

# Rust motorunu optimize olarak derleyin
cargo build --release

# Çalıştırılabilir dosyayı kullanıcı yoluna kurun
install -m 755 target/release/quicknews-engine ~/.local/bin/

Command Line Usage

# Tüm kaynaklardan güncel haberleri çekin
quicknews-engine --fetch

# Belirli bir haberin 3 maddelik nötr özetini çıkarın
quicknews-engine --summary "https://haber-sitesi.com/ornek-haber"

# Doğal dille yeni kaynaklar keşfedip ekleyin
quicknews-engine --discover "Linux kernel and open source news"

Launching the Graphical Interface

# Quickshell Wayland arayüzü ile başlatın
quickshell -p /path/to/quicknews/ui/shell.qml

My take

QuickNews is an effort to deliver the news to the user in its purest, most honest and fastest form, overcoming the wall of distracting ads, tracking and visual noise of the modern internet. This open source approach, which gives control back to the user while consuming information, is an important part of Omarchy Linux's vision of a simple, secure and independent desktop.

To explore the project, contribute, or incorporate it into your own workflow, you can visit our GitHub repository: