Miniflux is a minimalist web-based news reader.
- Host anywhere (shared hosting, vps or localhost)
- Easy setup => copy and paste and you are done!
- CSS optimized for readability
- Keeps history of read items
- Remove Feedburner Ads and analytics trackers
- Import/Export of OPML feeds
- Feed updates via a cronjob or with the user interface with one click
- Protected by a login/password (only one possible user)
- Use secure headers (only external images and Youtube/Vimeo videos are allowed)
- Open external links inside a new tab with a
rel="noreferrer"attribute - Mobile CSS (responsive design)
- Keyboard shortcuts
- Basic bookmarks
- Translated in English, French, German, Italian and Simplified Chinese
- See Issues: https://github.com/fguillot/miniflux/issues
Original author: Frédéric Guillot
People who sent one or many pull-requests:
- André Kelpe: https://github.com/fs111
- Ayodio: https://github.com/ayodio
- Chris Lemonier
- Derjus: https://github.com/derjus
- Eauland: https://github.com/eauland
- Félix: https://github.com/dysosmus
- Horsely: https://github.com/horsley
- Ing. Jan Kaláb: https://github.com/Pitel
- Luca Marra: https://github.com/facciocose
- MonsieurPaulLeBoulanger: https://github.com/MonsieurPaulLeBoulanger
- Necku: https://github.com/Necku
- Thiriot Christophe: https://github.com/doubleface
- Ygbillet: https://github.com/ygbillet
PS: Many people sent a bug report too (see issues tracker)
- Recent version of libxml2 >= 2.7.x (version 2.6.32 on Debian Lenny are not supported anymore)
- PHP >= 5.3.7
- PHP XML extensions (SimpleXML, DOM...)
- PHP Sqlite extension
- You must have a web server with PHP installed (version 5.3.7 minimum) with the Sqlite and XML extensions
- Download the source code and copy the directory
minifluxwhere you want - Check if the directory
datais writeable (Miniflux stores everything inside a Sqlite database) - With your browser go to http://yourpersonalserver/miniflux
- The default login and password is admin/admin
- Start to use the software
You just need to be inside the directory miniflux and run the script cronjob.php.
| Parameters | Type | Value |
|---|---|---|
| --limit | optional | number of feeds |
| --call-interval | optional, excluded by --limit, require --update-interval | time in minutes < update interval time |
| --update-interval | optional, excluded by --limit, require --call-interval | time in minutes >= call interval time |
Examples:
crontab -e
# Update all feeds
0 */4 * * * cd /path/to/miniflux && php cronjob.php >/dev/null 2>&1
# Update the 10 oldest feeds each time
0 */4 * * * cd /path/to/miniflux && php cronjob.php --limit=10 >/dev/null 2>&1
# Update all feeds in 60 minutes (updates the 8 oldest feeds each time with a total of 120 feeds).
* */4 * * * cd /path/to/miniflux && php cronjob.php --call-interval=4 --update-interval=60 >/dev/null 2>&1
Note: cronjob.php can also be called from the web; in this case specify the options as GET variables. Example: http://yourpersonalserver/miniflux/cronjob.php?call-interval=4&update-interval=60
Miniflux uses an Ajax request to refresh each subscription. By default, there is only 5 feeds updated in parallel.
Your life is cluttered.
Miniflux is a minimalist software. Less is more.
Report the bug to the issues tracker and I will fix it.
You can report feeds that doesn't works properly too.
Miniflux is tested with the latest versions of Mozilla Firefox, Google Chrome and Safari.
I don't use Microsoft products, then I have no idea if Miniflux works correctly with Internet Explorer.
There is few settings that can't be changed by the user interface. These parameters are defined with PHP constants.
To override them, create a config.php file at the root of the project and change yourself the values.
By example, to override the default HTTP timeout value:
# file config.php
<?php
// My specific HTTP timeout (5 seconds)
define('HTTP_TIMEOUT', 5);
Actually, the following constants can be overrided:
HTTP_TIMEOUT=> default value is 10 secondsAPP_VERSION=> default value is masterDB_FILENAME=> default value isdata/db.sqliteDEBUG=> default is false (enable logs dump of picoFeed)DEBUG_DIRECTORY=> default is /tmp (place to store log files)