Skip to content

faulander/zib

Repository files navigation

ZIB - RSS Reader

image image image

A modern, self-hosted RSS reader built with SvelteKit and Bun. Clean interface, fast performance, and all the features you need to stay on top of your feeds.

Features

  • Folder Organization - Group your feeds into folders for easy navigation
  • Dual View Modes - Switch between compact list view and visual card view with images
  • Adjustable Font Size - Customize article list text size with +/- offset
  • Highlighted Feeds - Mark important feeds to sort their articles first or emphasize them visually (or both)
  • Similar Articles Grouping - Automatically groups articles about the same topic together
    • Semantic Embeddings - Optional AI-powered grouping via Ollama (local), OpenAI, or any OpenAI-compatible API
    • Title Matching - Built-in Dice coefficient fallback for title-based similarity
    • Separate configurable thresholds for each method
  • Auto Mark as Read - Automatically mark articles as read when scrolling past them
  • Smart Refresh - Adaptive per-feed refresh rates based on publication frequency and your reading habits
  • Full Content Extraction - Automatically fetches full article content using Mozilla Readability
  • Article Filters - Hide unwanted content with keyword-based rules and regex patterns (supports AND/OR logic)
  • Instapaper Integration - Save articles to read later with one click
  • OPML Import/Export - Easy migration from other RSS readers
  • Dark Mode - Full dark/light theme support
  • Mobile Responsive - Works great on desktop and mobile devices
  • Real-time Updates - Server-Sent Events push new articles to your browser instantly

Tech Stack

  • Frontend: SvelteKit 2, Svelte 5, TailwindCSS 4, shadcn-svelte
  • Runtime: Bun
  • Backend: SvelteKit API routes, bun:sqlite
  • Database: SQLite with WAL mode for performance

Quick Start

Local Development

# Install dependencies
bun install

# Start development server
bun run dev

Docker

# Using Docker Compose (recommended)
docker-compose up -d

# Or build and run manually
docker build -t zib .
docker run -p 3000:3000 -v zib-data:/app/data zib

The app will be available at http://localhost:3000.

Configuration

ZIB stores all data in a SQLite database. By default, this is located at data/rss.db. You can change this by setting the DATABASE_PATH environment variable.

DATABASE_PATH=/path/to/your/rss.db

License

MIT

About

A modern, self-hosted RSS reader built with SvelteKit. Clean interface, fast performance, and all the features you need to stay on top of your feeds.

Topics

Resources

Stars

Watchers

Forks

Contributors