MCPSERV.CLUB
Kriss Feed

Kriss Feed

Self-Hosted

Lightweight RSS reader without a database

Stale(55)
286stars
0views
Updated Jan 13, 2025

Overview

Discover what makes Kriss Feed powerful

Kriss Feed is a lightweight, self‑hosted RSS reader written in pure PHP that deliberately avoids any database dependency. The core idea is to serialize all feed metadata and cached articles into flat files, allowing the application to run on any web server that supports PHP 5.4+. The public entry point is a single `index.php` file, which can be generated from the source tree via a simple shell script (`bash generateIndex > index.php`). This design eliminates external services, making Kriss Feed an attractive option for developers who need a quick, low‑maintenance feed reader that can be dropped into existing hosting environments.

Feed Management

Content Caching

View Modes

Security & Extensibility

Overview

Kriss Feed is a lightweight, self‑hosted RSS reader written in pure PHP that deliberately avoids any database dependency. The core idea is to serialize all feed metadata and cached articles into flat files, allowing the application to run on any web server that supports PHP 5.4+. The public entry point is a single index.php file, which can be generated from the source tree via a simple shell script (bash generateIndex > index.php). This design eliminates external services, making Kriss Feed an attractive option for developers who need a quick, low‑maintenance feed reader that can be dropped into existing hosting environments.

Key Features

  • Feed Management: Add, edit, and remove feeds; import/export OPML files for migration.
  • Content Caching: Stores the 10 most recent articles per feed on disk, reducing external requests and improving load times.
  • View Modes: Offers list, expanded, and reader views; auto‑updates articles when scrolled or viewed.
  • Security & Extensibility: Built-in plugin architecture, internationalization support, and optional JavaScript for dynamic interactions.
  • Non‑JavaScript Fallback: Fully functional without JS, ensuring accessibility on low‑bandwidth or legacy clients.

Technical Stack

  • Language: PHP 5.4+ (object‑oriented, with a lightweight custom framework).
  • Data Layer: Flat file storage; JSON or serialized arrays hold feed configurations and cached items.
  • Frontend: Bootstrap CSS for responsive UI; minimal JS for dynamic updates (optional).
  • Dependencies: None beyond standard PHP extensions (e.g., curl, xml).

Architecture

Kriss Feed follows a simple Model–View–Controller pattern internally. The Model handles parsing RSS/Atom feeds, computing unique hashes (feedHash + itemHash), and persisting data to the filesystem. The Controller orchestrates user actions (add/remove feeds, mark as read) and serves appropriate views. The View layer renders HTML with Bootstrap styling; JavaScript enhances interactivity but is not mandatory. Plugins hook into the controller via a defined interface, allowing developers to extend functionality (e.g., custom importers or export formats) without touching core code.

Deployment & Infrastructure

  • Self‑Hosting: Deploy on any LAMP or PHP‑enabled host; simply upload the generated index.php and optionally the src/ directory for development.
  • Containerization: A lightweight Docker image can be built using the provided Dockerfile, enabling rapid scaling in cloud environments or Kubernetes clusters.
  • Scalability: Since the application is stateless aside from file storage, horizontal scaling is straightforward—multiple instances can share a mounted volume or use a networked filesystem for cache consistency.

Integration & Extensibility

Kriss Feed exposes a modest API through its plugin system: developers can register callbacks for feed fetch events, article rendering, or user actions. Webhooks are not built‑in, but the flat file structure allows external scripts to monitor changes (e.g., via inotify or cron jobs). The OPML import/export feature facilitates integration with other feed aggregators, while the optional JavaScript layer can be replaced or extended to sync with client‑side frameworks.

Developer Experience

The codebase is intentionally minimal, making it easy to audit and modify. Documentation resides in the README and inline comments; however, a dedicated developer guide would enhance onboarding. Community support is limited but the copyleft license encourages modification and redistribution. Because the application relies solely on PHP, developers familiar with that ecosystem can contribute without learning new technologies.

Use Cases

  • Personal Feed Dashboards: Quickly set up a private RSS reader on a personal server or NAS without database overhead.
  • Embedded in CMS: Integrate as a widget in existing PHP‑based content management systems (e.g., WordPress, Drupal) using the plugin interface.
  • Edge‑Compute Environments: Deploy on edge nodes where storage is constrained; the flat file cache keeps resource usage low.
  • Educational Projects: Serve as a teaching tool for PHP developers to explore feed parsing, caching strategies, and lightweight MVC patterns.

Advantages

  • Zero Database: Eliminates the need for MySQL/PostgreSQL, simplifying deployment and reducing attack surface.
  • Performance: Local file caching speeds up article retrieval; minimal PHP code keeps memory usage low.
  • Flexibility: Plugin architecture allows custom behavior without altering core files; internationalization supports multi‑language deployments.
  • Licensing: Copyleft (ɔ) grants freedom to modify and redistribute, aligning with open‑source best practices.

Kriss Feed offers a pragmatic blend of simplicity, performance, and extensibility that appeals to developers who value control over their feed‑reading infrastructure.

Open SourceReady to get started?

Join the community and start self-hosting Kriss Feed today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
CC0-1.0
Stars
286
Technical Specs
Pricing
Open Source
Database
None
Supported OS
LinuxWindowsmacOS
Author
tontof
tontof
Last Updated
Jan 13, 2025