Skip to content

Kaishiyoku/crystal-rss-revolved

Repository files navigation

About

Crystal RSS is a minimalist newsfeed reader.

The features are limited by intention to be able to concentrate on what matters: reading the news.

Any RSS feed can be added and article summaries are then being fetched and displayed on the dashboard automatically.

The feed reader is optimized for usage on smartphones.

Major release notes

Version 3.x

Version 3.x is a complete rewrite of the codebase with the use of Inertia.js, so expect breaking changes. I tried to keep the database structure the same as in version 2.x. Please note that some DB table fields are no longer used, but you should be able to just upgrade to version 3.x without having to remigrating the whole database.

  • minimum PHP version: 8.1
  • based on Laravel 10
  • no API (maybe I will bring it back in the future)

Installation

General installation instructions

  1. download the latest release: https://github.com/Kaishiyoku/Crystal-RSS/releases/latest
  2. run composer install --no-dev --no-scripts
  3. copy the .env.example file and fill in the necessary values: @php -r \"file_exists('.env') || copy('.env.example', '.env');\"
  4. run php artisan key:generate
  5. run php artisan migrate
  6. run npm install && npm run prod

Configuration options

  • RSS_CRAWLER_RETRY_COUNT=5 determines how many retries should be made if the RSS crawler fails for specific reasons
  • FEED_ITEMS_PER_PAGE=15 the number of feed items which should be displayed per page
  • MONTHS_AFTER_PRUNING_FEED_ITEMS=2 the number of months after read feed items should be deleted
  • CONTACT_EMAIL is being displayed on the welcome page; leave empty if you don't want to display the contact us link
  • GITHUB_URL is being displayed on the welcome page; leave empty if you don't want to display the GitHub link

Features

  • manage feeds and categorize them
  • a feed discovery tool helps finding the feed URL for a given website (blogs, online newspapers etc.)
  • the feed discovery tool automatically searches for the website's favicon
  • the dashboard shows a list of newly fetched articles in chronological order
  • you can mark articles as read
  • read articles are being deleted automatically after a while
  • the website is fully responsive and mobile-friendly

Screenshots

Click to toggle screenshots

Add feed

Add feed

List feeds

List feeds

Dashboard

Dashboard

Add feed (mobile)

Add feed (mobile)

List feeds (mobile)

List feeds (mobile)

Dashboard (mobile)

Dashboard (mobile)

FAQ

What happened to the old Crystal RSS?

The old source code is still available at https://github.com/Kaishiyoku/Crystal-RSS. The repo has been archived though. The old Crystal RSS was too feature-rich already although I originally wanted it to be a minimalist newsfeed reader with an enjoyable user experience. Both premises weren't followed anymore by packing more and more features in it while not giving any more benefits beside some interesting insights (e.g. statistics). The old codebase ran pretty smoothly but fetching and saving new articles was slow because of fetching so much data. Back then the full article text has been fetched for the search feature.

But why should I search for old articles which I either already read or added to a read it later list? There are much better ways of saving articles for the future.

Same goes for the favorite and voting features. I planned to build some kind of algorithm on top of it but for what reason? If I'm interested in a certain topic I mainly filter by feed manually anyway. Crystal RSS isn't a smart replacement for the Google feed for example. It is a feed reader and optimally you want to read all articles or at least mark those as read you don't want to read. There is also another benefit of this approach: It gives some good feelings if you mark your last new articles as read and your dashboard is empty. You can then come back anytime looking for new articles.

Author

Andreas Wiedel