2025-12-27 20:46:20 +00:00
2025-12-27 14:29:17 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-27 12:24:02 -06:00
2025-12-27 12:24:02 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-26 21:31:05 -06:00
2025-12-27 20:46:20 +00:00
2025-12-26 21:31:05 -06:00

Web News

Web News is a privacy-focused, offline-first RSS reader and full-text extractor. It combines a Svelte-based reactive frontend with a high-performance Go-based backend, available as a standalone web server or a native desktop application (Wails).

Features

  • Privacy-First: No tracking, no accounts, no clouds. Your data stays in your browser.
  • Offline-First: Articles, feeds, and settings are stored locally in IndexedDB.
  • Desktop & Web: Run as a single Go binary or a native app via Wails.
  • Full-Text Extraction: One-click "Read Mode" that pulls clean content from any URL.
  • Global Search: Instant full-text search across your entire reading history.
  • Vim-like Shortcuts: Navigate with j/k, save with s, and manage feeds without a mouse.
  • Content Filtering: "Mute Filters" to automatically hide articles based on keywords.
  • Smart Feed: Personalized ranking that learns from your reading habits locally.
  • Activity Heatmap: Visualize your reading trends over the last 30 days.
  • Bulk Actions: Multi-select mode to quickly manage large volumes of articles.
  • Customizable Reader: Adjust font (Serif/Sans), size, and line height for a premium reading experience.

Privacy and Security

Web News follows a "zero-knowledge" philosophy:

  1. Data Sovereignty: Your reading list and history never leave your device.
  2. Anonymous Access: 16-digit account numbers for server access.
  3. Local Cache: Full-text content is cached locally in IndexedDB for offline reading and instant access.
  4. Hardened Backend: Built-in bot blocking, rate limiting, and secure token generation.

To-DO

  • Reading time
  • UI/UX Cleanup
  • Add feed fetching timeout and button to remove if failed 3 times
  • Use Go Mobile, remove Java RSS plugin.

Getting Started

Prerequisites

  • Go 1.21+
  • Node.js 18+
  • pnpm 9+
  • Wails CLI (for desktop builds)

Build & Run (Web Server)

  1. Build the binary:
    make build
    
  2. Run it:
    ./bin/web-news
    

Build & Run (Desktop App)

  1. Launch Dev Mode:
    make desktop-dev
    
  2. Build for current platform:
    make desktop-build
    
  3. Cross-Compile:
    make desktop-windows  # Build for Windows
    make desktop-darwin   # Build for macOS (Universal)
    

Configuration

Server Flags

  • --auth-mode: none (default), token, or multi.
  • --allow-registration: Allow generating new account numbers (default: true).
  • --auth-file: Path to the account storage (default: accounts.json).
  • --port: Port to listen on (default: 8080).

Keyboard Shortcuts (Default)

  • j / k: Next / Previous article
  • r: Mark as read
  • s: Toggle save
  • x: Toggle select mode
  • o: Open original URL

Development

  • Dev Server: make dev (Starts Go backend + Vite frontend)
  • Format & Lint: pnpm run format && pnpm run lint
  • Clean Artifacts: make clean

License

MIT - See LICENSE for details.


Created by Quad4

Description
Web News is a privacy-focused, offline-first RSS reader and full-text extractor.
Readme MIT 1.1 MiB
2025-12-28 03:27:15 +00:00
Languages
Svelte 39.3%
TypeScript 28.1%
Go 18.6%
Java 5.9%
JavaScript 2.9%
Other 5.2%