Sudo-Ivan 4ed6fcd752
Some checks failed
renovate / renovate (push) Failing after 21s
CI / build-frontend (push) Successful in 51s
CI / build-backend (push) Successful in 26s
OSV-Scanner Scheduled Scan / scan-scheduled (push) Successful in 9m39s
Add GetRealIP function to improve IP retrieval in middleware; update BotBlockerMiddleware to use new function for logging blocked requests
2025-12-27 20:01: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-27 19:50:37 -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:49:16 +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.
  • Dont show loading screen if not initial load (eg. reloading tab)
  • Fix feeds double image (Feed image and article image at top)
  • Export article(s)
  • Export/Import OPML on add feed modal

Getting Started

Prerequisites

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

Build & Run (Web Server)

Requires Go 1.21+, Node.js 18+, pnpm 9+.

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

Build & Run (Desktop App)

Requires Go 1.25.4+, Wails 2.11.0+, Node.js 18+, pnpm 9+, WebKit2GTK 4.1+ (for Linux).

  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%