FeedOnFeeds is a lightweight server-based RSS feed aggregator and reader
PHP JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Latest commit dec8d1a Jun 4, 2018
Permalink
Failed to load latest commit information.
classes quiet a rare error in favicon class Dec 9, 2017
image Further fancy sidebar features, now with in-situ updates. Apr 29, 2013
library Upgrade to SimplePie 1.5.1 Jan 19, 2018
plugins Add new domitem filter stage Dec 6, 2017
prototype Updated prototype.js to version 1.7.1, from 1.6.0. Apr 29, 2013
.gitignore possibility for sending cookies with feed updates May 20, 2018
LICENSE Initial Commit Oct 15, 2010
README.md Fix missing space in markdown Apr 3, 2017
add-single.php More automatic reformatting Mar 14, 2015
add-tag.php Merge branch 'master' of github.com:RomanSixty/Feed-on-Feeds into rom… Nov 18, 2017
add.php More autoformatting Mar 10, 2017
autoloader.php More autoformatting Mar 10, 2017
cookies.txt.dist possibility for sending cookies with feed updates May 20, 2018
delete.php More automatic reformatting Mar 14, 2015
favicon.php More automatic reformatting Mar 14, 2015
feed-action.php More autoformatting Mar 10, 2017
feed-detail.php More autoformatting Mar 10, 2017
fof-asset-custom.php.dist Further fancy sidebar features, now with in-situ updates. Apr 29, 2013
fof-asset.php More automatic reformatting Mar 14, 2015
fof-config.php.dist allow for custom user agent May 20, 2018
fof-custom.css.dist images clickable and fixes with double html encodings Mar 18, 2017
fof-db.php actually use sane mysql charset for db connection Nov 29, 2017
fof-install.php Fixed subscription_added ALTER to work on SQLite Jun 4, 2018
fof-main.php keep cookies file outside of webtree to reduce possibility of data-sc… May 26, 2018
fof-render.php Add new domitem filter stage Dec 6, 2017
fof.css A whole bunch of changes to support text entries. For example: Jun 5, 2017
fof.js Merge branch 'master' of https://github.com/RomanSixty/Feed-on-Feeds Mar 9, 2017
footer.php Initial Commit Oct 15, 2010
header.php More autoformatting Mar 10, 2017
img.php Finally actually made the image headers get proxied Jun 4, 2018
index.php More automatic reformatting Mar 14, 2015
install.php More automatic reformatting Mar 14, 2015
item.php More automatic reformatting Mar 14, 2015
items.php More autoformatting Mar 10, 2017
login.php More automatic reformatting Mar 14, 2015
logout.php More automatic reformatting Mar 14, 2015
microsummary.php More automatic reformatting Mar 14, 2015
mobile.php More autoformatting Mar 10, 2017
opml.php More automatic reformatting Mar 14, 2015
prefs.php Streamline plugin loading Dec 6, 2017
set-prefs.php More automatic reformatting Mar 14, 2015
shared.php More autoformatting Mar 10, 2017
sidebar.php More autoformatting Mar 10, 2017
uninstall.php More automatic reformatting Mar 14, 2015
update-quiet.php More automatic reformatting Mar 14, 2015
update-single.php More automatic reformatting Mar 14, 2015
update.php Show last error on prefs page to make it a little less annoying to tr… Jun 1, 2017
view-action.php More automatic reformatting Mar 14, 2015

README.md

About

FeedOnFeeds is a lightweight server-based RSS aggregator and reader, allowing you to keep up with syndicated content (blogs, comics, and so forth) without having to keep track of what you've read. Being server-based means all of your feeds and history are kept in one place, and being lightweight means you can install it pretty much anywhere without needing a fancy dedicated server or the like.

FeedOnFeeds was originally written by Steve Minutillo, this fork strives to stay up-to-date with changes to PHP while improving security, multiuser support, and overall design.

Features

  • subscribe to RSS feeds or YouTube channels
  • automatic updating for new entries
  • tagging of items or feeds
  • blacklist for unwanted item content
  • automatic item purging based on similarity (e.g. for getting rid of reposts)
  • different sidebar layouts
  • multi user capable
  • public compilations to share tagged content with others
  • search stored feed entries

YouTube integration

You can also use FeedOnFeeds for keeping track of your favourite YouTube channels without having to register with Google. Just activate the integrated YouTube plugin and add subscriptions to the channels you want to follow.

Installation

FeedOnFeeds requires:

  • A web server running PHP
  • Access to a PDO-capable database (MySQL and SQLite are currently supported, and more are easy to add)
  • Specific features may require specific PHP extensions; it is highly recommended (but not required) that you have Xlib, cURL, and iconv.

To install, simply download a snapshot or clone from your favorite git repository. Then copy fof-config.php.dist to fof-config.php and edit it as appropriate for your setup. If you're on shared hosting, be sure to point FOF_DATA_PATH to somewhere in your home directory.

After that, point a web browser to install.php. For example, if you've installed FeedOnFeeds at http://example.com/fof, go to http://example.com/fof/install.php and then everything should be set up automatically.

Which database backend should I use?

Most of the time, SQLite is what you want. You should only consider MySQL if you're going to support many concurrent users (i.e. 10 or more people using the app simultaneously), as SQLite has much lower administrative overhead and makes it easier to port your data to a new webhost. This is the case even if you already have a working MySQL installation, and using SQLite will not interfere with your existing MySQL in any way.

Upgrading

Upgrading to a newer FeedOnFeeds usually just involves downloading a new snapshot or issuing a git pull, and then pointing a browser at install.php again.

Setting up automatic updates

FeedOnFeeds works best if you have it set to automatically update your feeds on-the-fly. The best way to do this is to set up a cron job like so:

 * * * * * curl http://example.com/fof/update-quiet.php

Don't worry about updates occurring too frequently - FeedOnFeeds will only update feeds which are due for an update. By default it will update every feed at most once an hour, but if you enable dynamic update intervals in the admin preferences, it will adjust the polling update for feeds based on their historical update frequencies.

If you're on Dreamhost, you can set up your cron job from the "goodies" section of the panel, and create a new cron job with the following:

  • Command to run: curl http://path/to/fof/update-quiet.php (setting the URL appropriately)
  • When to run: Custom
  • Minutes: Every 10 minutes
  • Hours: Every Hour
  • Day of month: Every Day
  • Month: Every Month
  • Day of Week: Every Day of Week

FAQ/troubleshooting

I'm having an error message during installation

couldn't open logfile /path/to/fof-data/fof-install.log

You need to set the value of FOF_DATA_PATH in fof-config.php. Also the file has to be writable for the web server process. You can set it to chmod 0777.

Syntax error or access violation after "Cannot upgrade table: [CREATE TRIGGER ...

This occurs if you're on MySQL shared hosting and you don't have access to trigger creation, which is fairly common. Find the following in fof-config.php:

// define('SQL_NO_TRIGGERS', 1);

and remove the // at the beginning of the line.

How do I delete a feed?

In the feeds list there's a little triangle (that looks like Δ). Hover over it and enjoy the context menu. If you've set the UI theme to "simple," just click on the d in the feed list.

Note: By unsubscribing from a feed you also delete all tagged and starred items.

Legal

FeedOnFeeds is distributed under the GPL.