Go to file
Vitaliy Filippov 9da7ebb566 Remove short tags 2017-09-21 13:20:00 +03:00
classes Migrate to MySQLi 2015-09-16 13:48:52 +03:00
image gray/red instead of unicodes 2010-08-31 22:02:44 +00:00
plugins Fix more notices, one of which was actually caused by a bug 2014-12-10 13:28:29 +03:00
prototype initial FoF 0.5 2009-08-03 12:42:04 +00:00
simplepie Fix more notices, one of which was actually caused by a bug 2014-12-10 13:28:29 +03:00
.htaccess deny fof.log's; mysql_pconnect 2010-01-04 18:43:30 +00:00
LICENSE initial FoF 0.5 2009-08-03 12:42:04 +00:00
README.md Migrate to MySQLi 2015-09-16 13:48:52 +03:00
add-single.php fix one notice and fof_db_mark_feed_unread 2015-02-27 22:17:16 +03:00
add-tag.php Allow to tag new feeds on adding 2012-02-21 11:11:35 +00:00
add.php escape html in error message 2014-12-09 16:12:43 +03:00
curl-env-proxy.php Fix CurlEnvProxy 2012-02-21 11:18:13 +00:00
delete.php initial FoF 0.5 2009-08-03 12:42:04 +00:00
favicon.ico Merge 1307 with CustIS 1297 2011-07-21 11:25:55 +00:00
favicon.php Fix E_NOTICEs, slightly optimize loops in fof_get_feeds 2014-12-09 01:47:47 +03:00
fof-config-sample.php Add README 2014-12-19 15:50:54 +03:00
fof-db.php Migrate to MySQLi 2015-09-16 13:48:52 +03:00
fof-main.php Remove ereg 2017-09-21 13:17:54 +03:00
fof-mobile.css flagall for mobile 2010-10-08 20:26:43 +00:00
fof-render.php Fix one more notice :) 2015-09-16 13:26:39 +03:00
fof-sudo.php Merge 1307 with CustIS 1297 2011-07-21 11:25:55 +00:00
fof.css throbber 2010-08-31 22:21:27 +00:00
fof.js Allow to tag new feeds on adding 2012-02-21 11:11:35 +00:00
footer.php initial FoF 0.5 2009-08-03 12:42:04 +00:00
header.php debug 2010-08-31 21:42:34 +00:00
index.php Fix external autologin (unused on yourcmc) 2012-03-02 20:31:25 +00:00
install.php Migrate to MySQLi 2015-09-16 13:48:52 +03:00
item.php Fix some more notices 2014-12-09 16:07:00 +03:00
items.php Fix E_NOTICEs, slightly optimize loops in fof_get_feeds 2014-12-09 01:47:47 +03:00
login.php Remove short tags 2017-09-21 13:20:00 +03:00
logout.php initial FoF 0.5 2009-08-03 12:42:04 +00:00
opml.php Per-user feed rename support; 2010-01-25 17:30:38 +00:00
prefs.php Remove short tags 2017-09-21 13:20:00 +03:00
set-prefs.php Remove deprecated =&, make static method static, code style 2012-12-31 10:24:42 +00:00
sha256.inc Merge 1307 with CustIS 1297 2011-07-21 11:25:55 +00:00
shared.php Remove ereg 2017-09-21 13:17:54 +03:00
sidebar.php Fix E_NOTICEs, slightly optimize loops in fof_get_feeds 2014-12-09 01:47:47 +03:00
uninstall.php initial FoF 0.5 2009-08-03 12:42:04 +00:00
update-quiet.php Remove deprecated =&, make static method static, code style 2012-12-31 10:24:42 +00:00
update-quiet.sh no proxy 2009-12-07 12:18:10 +00:00
update-single.php initial FoF 0.5 2009-08-03 12:42:04 +00:00
update.php Remove deprecated =&, make static method static, code style 2012-12-31 10:24:42 +00:00
urandom.inc Merge 1307 with CustIS 1297 2011-07-21 11:25:55 +00:00
view-action.php Fix another notice 2015-09-18 15:48:05 +03:00

README.md

What is FeedOnFeeds?

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 0.5 is originally written by Steve Minutillo. This is a fork of FeedOnFeeds 0.5 by Vitaliy Filippov.

FeedOnFeeds is distributed under the terms of GNU GPL v2 license, see LICENSE.

New features in this version compared to the original 0.5

  • Performance of all queries is greatly improved, basically almost everything is fast even if you have lots of unread and/or tagged items (100000+)
  • HTTP proxy support through standard environment variables http_proxy, no_proxy
  • Password-protected feed support (HTTP basic/digest)
  • Personal feed rename support (each user can rename feeds to his will)
  • Possible to set tags for a feed when adding it
  • The view is paged by default (you have to specify a big limit by hand to view all items)
  • Mass feed tagging/untagging from the preferences page
  • Per-feed and per-item collapse settings: you can set some feeds to show all items collapsed by default or you can configure a regular expression which will specify items that should be collapsed by default in each feed
  • Most popular feed suggestions on the subscribe page
  • Top reader statistics on the login page
  • Very simple CSS-based mobile view
  • Tables are using InnoDB, UTF-8 encoding, and foreign keys
  • Code is cleaned of PHP warnings/notices and compatible with PHP 5.4+
  • PHP mysqli extension is used instead of deprecated mysql

TODO

  • Implement safer authentication (sessions?) than current password-hash-in-cookie
  • Replace SimplePie (not "simple" in any way) with something simpler and faster... (MagPie?)
  • Dynamic feed update times, similar to https://github.com/RomanSixty/Feed-on-Feeds
  • Use multi-cURL to download feeds in parallel

Requirements

  • A web server running PHP 5 or later (nginx + php5-fpm or Apache).
  • PHP extensions: mysqli/mysqlnd, XML, PCRE, cURL, Zlib, mbstring, iconv.
  • MariaDB/MySQL 5 or later. MariaDB 5.5 or later with Barracuda storage format (innodb_file_format = barracuda) is recommended.

Installation

  • Download a snapshot or checkout code from git repository into installation directory.

  • Create 'cache' directory inside installation directory and make it writable by the web server.

  • Create a MySQL database and a user with full access to it. If MySQL server is on the same host it looks like:

      CREATE DATABASE feedonfeeds;
      GRANT ALL PRIVILEGES ON feedonfeeds.* TO feedonfeeds@localhost IDENTIFIED BY '<password>';
      FLUSH PRIVILEGES;
    
  • Copy fof-config-sample.php to fof-config.php and edit FOF_DB_HOST, FOF_DB_USER, FOF_DB_PASS and FOF_DB_DBNAME as appropriate for your newly created database.

  • Point your browser to <FoF_URL>/install.php.

Upgrade

It is possible to upgrade an existing FeedOnFeeds 0.5 MySQL installation to this version. Database will be converted automatically. Just overwrite all files in FoF installation directory with this version and point your browser to <FoF_URL>/install.php.