A free, self-hostable aggregator…
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Marien Fressinaud 67375537e4 Init auth before user configuration 10 years ago
app Init auth before user configuration 10 years ago
data Merge branch 'dev' into 252-extensions 10 years ago
extensions Update extensions README 10 years ago
lib Fix translation bug 10 years ago
p Merge branch 'dev' into 252-extensions 10 years ago
CHANGELOG Prepare Changelog 10 years ago
LICENSE Modif du fichier README + l'application s'appellera désormais FreshRSS 12 years ago
README.fr.md We are working on 0.10-dev... 10 years ago
README.md We are working on 0.10-dev... 10 years ago
constants.php Merge branch 'dev' into 252-extensions 10 years ago
index.html HTTP Auth : améliorations + changelog 11 years ago
index.php HTTP Auth : améliorations + changelog 11 years ago

README.md

FreshRSS

FreshRSS is a self-hosted RSS feed agregator like Leed or Kriss Feed.

It is at the same time light-weight, easy to work with, powerful and customizable.

It is a multi-user application with an anonymous reading mode.

FreshRSS logo

Note on branches

This application is still in development! Please use the branch that suits your needs:

Disclaimer

This application was developed to fulfill personal needs not professional needs. There is no guarantee neither on its security nor its proper functioning. If there is feature requests which I think are good for the project, I'll do my best to include them. The best way is to open issues on GitHub (https://github.com/marienfressinaud/FreshRSS/issues) or by email (dev@marienfressinaud.fr)

Requirements

  • Light server running Linux or Windows
    • It even works on Raspberry Pi with response time under a second (tested with 150 feeds, 22k articles, or 32Mo of compressed data)
  • A web server: Apache2 (recommanded), nginx, lighttpd (not tested on others)
  • PHP 5.2.1+ (PHP 5.3.7+ recommanded)
  • MySQL 5.0.3+ (recommanded) ou SQLite 3.7.4+
  • A recent browser like Firefox 4+, Chrome, Opera, Safari, Internet Explorer 9+
    • Works on mobile

FreshRSS screenshot

Installation

  1. Get FreshRSS with git or by downloading the archive
  2. Dump the application on your server (expose only the ./p/ folder)
  3. Add write access on ./data/ folder to the webserver user
  4. Access FreshRSS with your browser and follow the installation process
  5. Every thing should be working :) If you encounter any problem, feel free to contact me.

Access control

It is needed for the multi-user mode to limit access to FreshRSS. You can:

  • use form authentication (need JavaScript and PHP 5.3.7+, works with some PHP 5.3.3+)
  • use Mozilla Persona authentication included in FreshRSS
  • use HTTP authentication supported by your web server
    • See Apache documentation
      • In that case, create a ./p/i/.htaccess file with a matching .htpasswd file.

Automatic feed update

  • You can add a Cron job to launch the update script. Check the Cron documentation related to your distribution (Debian/Ubuntu, Red Hat/Fedora, Slackware, Gentoo, Arch Linux…). It’s a good idea to use the web server user . For example, if you want to run the script every hour:
7 * * * * php /chemin/vers/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1

Advices

  • For a better security, expose only the ./p/ folder on the web.
    • Be aware that the ./data/ folder contain all personal data, so it is a bad idea to expose it.
  • The ./constants.php file define access to application folder. If you want to customize your installation, every thing happens here.
  • If you encounter some problem, logs are accessibles from the interface or manually in ./data/log/*.log files.

Backup

  • You need to keep ./data/config.php, ./data/*_user.php and ./data/persona/ files
  • You can export your feed list in OPML format from FreshRSS
  • To save articles, you can use phpMyAdmin or MySQL tools:
mysqldump -u user -p --databases freshrss > freshrss.sql

Included libraries

Only for some options

If native functions are not available