Bubo Reader logo

Bubo Reader

  •  0 ratings
In category: Feed Readers

About Bubo Reader

Open source, "irrationally minimal" RSS feed reader.

  •   488  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: N/A  
  •   N/A  
  •   N/A  
  •  Latest commit: N/A  

Deploy this app to Linode with a free $100 credit!

Languages/Platforms/Technologies:
Lincenses:

More about Bubo Reader

Netlify Status

🦉 Bubo Reader

Bubo Reader is a hyper-minimalist feed reader (RSS, Atom, JSON) you can deploy on your own server, Netlify in a few steps or Glitch in even fewer steps! The goal of the project is to generate a webpage that shows a list of links from a collection of feeds organized by category and website. That's it.

It is named after this silly robot owl from Clash of the Titans (1981).

You can read more about this project on my blog:

Get Started

  • Clone or fork the repo and run npm install to install the dependencies.
  • Update feeds.json to include categories and links to feeds you would like to see.
  • Run npm run build:bubo

That's it! You should now have a static page with links to the latest content from your feeds in the public folder, ready to serve.

Anatomy of Bubo Reader The static pieces: - `conf/feeds.json` - a JSON file containing your feed URLS separated into categories. - `config/template.html` - a [Nunjucks](https://mozilla.github.io/nunjucks/) template that lets you change how the feeds are displayed. This can be changed to anything else you like— see below. - `public/style.css` - a CSS file to stylize your feed output. - `public/index.html` - The HTML file that gets automatically generated when Bubo is run. The engine: - `src/index.ts` - The primary script you run when you want to build a new version of Bubo. It will automatically fetch the latest content from your feeds and build a new static file at `public/index.html`. - `src/renderer.ts` — The renderer that loads Nunjucks, the template and understands how to process the incoming feed data. Prefer something else? This is the place to change it! - `src/utilities.ts` — A variety of parsing and normalization utilities for Bubo, hidden away to try and keep things clean.
Throttling In the main `index.ts` file you will find two values that allow you to batch and throttle your feed requests: - `MAX_CONNECTIONS` dictates the maximum number of requests a batch can have going at once. - `DELAY_MS` dictates the amount of delay time between each batch. The default configuration is **no batching or throttling** because `MAX_CONNECTIONS` is set to `Infinity`. If you wanted to change Bubo to only fetch one feed at a time every second you could set these values to:
const MAX_CONNECTIONS = 1;
const DELAY_MS = 1000;
If you wanted to limit things to 10 simultaneous requests every 2.5 seconds you could set it like so:
const MAX_CONNECTIONS = 10;
const DELAY_MS = 2500;
In practice, I've never _really_ run into an issue leaving `MAX_CONNECTIONS` set to `Infinity` but this feels like a sensible safeguard to design.
Getting Started - [Deploying to Glitch](#glitch) - [Deploying to Netlify](#netlify) - [Keeping feeds updated](#updated) ## Deploying to Glitch The quickest way is to remix the project on Glitch: [https://glitch.com/edit/#!/bubo-rss](https://glitch.com/edit/#!/bubo-rss) There is also a `glitch` branch on this repo if you'd prefer to start there. Just change some feeds in `./config/feeds.json` file and you're set! If you'd like to modify the style or the template you can changed `./public/style.css` file or the `./config/template.html` file respectively. ## Deploying to Netlify - [Fork the repository](https://github.com/georgemandis/bubo-rss/fork) - From your forked repository edit `config/feeds.json` to manage your feeds and categories - [Create a new site](https://app.netlify.com/start) on Netlify from GitHub The deploy settings should automatically import from the `netlify.toml` file. All you'll need to do is confirm and you're ready to go! ### Keeping Feeds Updated #### Using Netlify Webhooks To keep your feeds up to date you'll want to [setup a Build Hook](https://www.netlify.com/docs/webhooks/#incoming-webhooks) for your Netlify site and use another service to ping it every so often to trigger a rebuild. I'd suggest looking into: - [IFTTT](https://ifttt.com/) - [Zapier](https://zapier.com/) - [EasyCron](https://www.easycron.com/) #### Rolling Your Own If you already have a server running Linux and some command-line experience it might be simpler to setup a [cron job](https://en.wikipedia.org/wiki/Cron).

Demos

You can view live demos here:

Support

If you found this useful please consider sponsoring me or this project.

If you'd rather run this on your own server please consider using one of these affiliate links to setup a micro instance on Linode, Digital Ocean or Vultr.

Showcase

Here are some websites using Bubo Reader:

Please share if you would like to be featured!

Comments (0)

Please login to join the discussion on this project.

Bubo Reader Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

pCloud Lifetime

Popular Projects

FluxBB

in Social Networks and Forums
 33k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Libreddit

in Social Networks and Forums
 7k    0    1    0  

Dashboard

in Personal Dashboards
 6k    0    0    0  

Audiobookshelf

in Audio Streaming
 6k    0    1    0  

CasaOS

in Self-hosting Solutions
 5k    0    0    0  

Mediagoblin

in Photo and Video Galleries
 4k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Tube Archivist

in Automation
 3k    0    1    0  

OneDev

in Project Management
 2k    0    0    0  

iodine

in Proxy
 2k    0    0    0  

Alf.io

in Booking and Scheduling
 2k    0    0    0  

sysPass

in Password Managers
 1k    0    0    0  

Misskey

in Social Networks and Forums
 2k    0    0    0  
Linux VPS from $11/yr.
RackNerd VPS for $11.38/mo

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

CommaFeed logo
CommaFeed cover

CommaFeed

Google Reader inspired self-hosted RSS reader.

Screaming Liquid Tiger logo
Screaming Liquid Tiger cover

Screaming Liquid Tiger

Simple script to automatically generate valid RSS and Atom …

RSS2EMail logo
RSS2EMail cover

RSS2EMail

Fetches RSS/Atom-feeds and pushes new Content to any email-…