Flatten directory structure, update README
This commit is contained in:
120
README.md
120
README.md
@@ -1,21 +1,22 @@
|
|||||||
# TinyTinyRSS Fever API plugin
|
# Tiny Tiny RSS Fever API plugin
|
||||||
|
|
||||||
See also [Fever API](fever-api.md)
|
See also [Fever API](fever-api.md)
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
This plugin is an open source module for TinyTinyRSS which simulates the Fever API for reading the RSS Feeds with your Fever clients.
|
This plugin is an open source module for Tiny Tiny RSS which simulates the Fever API for reading the RSS Feeds with your Fever compatible clients.
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
* <a href="#features">Features</a>
|
* <a href="#features">Features</a>
|
||||||
* <a href="#download">Downloads</a>
|
* <a href="#download">Downloads</a>
|
||||||
* <a href="#supported">Supported/Tested Clients</a>
|
* <a href="#supported">Supported / Tested Clients</a>
|
||||||
* <a href="#installation">Installation</a>
|
* <a href="#installation">Installation</a>
|
||||||
|
* <a href="#upgrading">Upgrading</a>
|
||||||
* <a href="#debug">Debugging</a>
|
* <a href="#debug">Debugging</a>
|
||||||
* <a href="#error">Error reporting</a>
|
* <a href="#error">Error Reporting</a>
|
||||||
* <a href="#license">License</a>
|
* <a href="#license">License</a>
|
||||||
* <a href="#changelog">Changelog</a>
|
* <a href="#changelog">Change Log</a>
|
||||||
|
|
||||||
## <a name="features">Features</a>
|
## <a name="features">Features</a>
|
||||||
|
|
||||||
@@ -25,18 +26,17 @@ Following Features are implemented:
|
|||||||
* getting starred RSS items
|
* getting starred RSS items
|
||||||
* setting read marker for item(s)
|
* setting read marker for item(s)
|
||||||
* setting starred marker for item(s)
|
* setting starred marker for item(s)
|
||||||
* hot is **not** supported
|
* hot links
|
||||||
|
|
||||||
## <a name="downloads">Downloads</a>
|
## <a name="downloads">Downloads</a>
|
||||||
|
Like Tiny Tiny RSS, the Fever API plugin is a rolling release model and there are no periodic updates. You should use git to clone the repository to install the plugin. If you must manually download a snapshot of the master branch, you can click the [`Download ZIP`](https://github.com/DigitalDJ/tinytinyrss-fever-plugin/archive/master.zip) button.
|
||||||
|
|
||||||
Please click on [```releases```](https://github.com/dasmurphy/tinytinyrss-fever-plugin/releases) button to download the latest stable version. Or click the [```Download ZIP```](https://github.com/dasmurphy/tinytinyrss-fever-plugin/archive/master.zip) button to download the edge version. ;)
|
## <a name="supported">Supported / Tested Clients</a>
|
||||||
|
|
||||||
## <a name="supported">Supported/Tested Clients</a>
|
These clients should work with Fever API emulation.
|
||||||
|
|
||||||
These clients should be working fine with this API emulation.
|
|
||||||
|
|
||||||
* [Reeder](http://reederapp.com) - iPhone
|
* [Reeder](http://reederapp.com) - iPhone
|
||||||
* [Mr.Reader](http://www.curioustimes.de/mrreader/index.html) - iPad
|
* [Mr.Reader](https://www.curioustimes.de/mrreader/index.html) - iPad
|
||||||
* [ReadKit](http://readkitapp.com) - OS X
|
* [ReadKit](http://readkitapp.com) - OS X
|
||||||
* [Press](https://play.google.com/store/apps/details?id=com.twentyfivesquares.press) - Android
|
* [Press](https://play.google.com/store/apps/details?id=com.twentyfivesquares.press) - Android
|
||||||
* [Meltdown](https://github.com/phubbard/Meltdown) - Android
|
* [Meltdown](https://github.com/phubbard/Meltdown) - Android
|
||||||
@@ -44,82 +44,116 @@ These clients should be working fine with this API emulation.
|
|||||||
|
|
||||||
## <a name="installation">Installation</a>
|
## <a name="installation">Installation</a>
|
||||||
|
|
||||||
**IMPORTENT** Enable external API access in your TinyTinyRSS installation! Otherwise this will not work!
|
**IMPORTANT** You must enable the option `Enable API access` in your Tiny Tiny RSS preferences, for every user that wants to use the Fever plugin.
|
||||||
|
|
||||||
Upload the ```fever``` folder in the ```plugins``` folder of your TinyTinyRSS installation. Enable the plugin in the preferences and set your password for the Fever API.
|
Clone this repository to your `plugins.local` folder of your Tiny Tiny RSS installation.
|
||||||
|
|
||||||
See [here](http://tt-rss.org/forum/viewtopic.php?f=22&t=1981) for more detailed informations.
|
```
|
||||||
|
$ cd tt-rss/plugins.local
|
||||||
|
$ git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin fever
|
||||||
|
```
|
||||||
|
|
||||||
|
Enable the `fever` plugin in the Tiny Tiny RSS Preferences and reload.
|
||||||
|
|
||||||
|
A `Fever Emulation` accordion pane should appear in your Tiny Tiny RSS preferences that will allow you to set a password for the Fever API. This is the password you will use to login to your Fever client, and should be different to your Tiny Tiny RSS login password.
|
||||||
|
|
||||||
|
**IMPORTANT** The Fever API uses insecure unsalted MD5 hash. You should choose a disposable application-specific password and consider the use of HTTPS with your Tiny Tiny RSS installation. [Let's Encrypt](https://letsencrypt.org/) is an excellent resource to setup free SSL certificates for your HTTP server.
|
||||||
|
|
||||||
|
Once the password is saved, you may login to your Fever client using your Tiny Tiny RSS username, the password you set in the previous step and the following server / endpoint URL:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://example.com/tt-rss/plugins.local/fever/
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [archived forum post](https://tt-rss.org/forum/viewtopic.php?f=22&t=1981) for more detailed and outdated information.
|
||||||
|
|
||||||
|
## <a name="upgrading">Upgrading</a>
|
||||||
|
|
||||||
|
Upgrading the Fever plugin follows the same steps as your Tiny Tiny RSS installation:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd tt-rss/plugins.local
|
||||||
|
$ git pull origin master
|
||||||
|
```
|
||||||
|
|
||||||
## <a name="debug">Debugging</a>
|
## <a name="debug">Debugging</a>
|
||||||
|
|
||||||
In the file ```fever_api.php``` there are two flags for debugging at the beginning of the file.
|
In the file ```fever_api.php``` there are two flags for debugging at the beginning of the file.
|
||||||
|
|
||||||
* ```DEBUG``` - set this to true to get a fever_debug.txt file in your root folder of the Tiny Tiny RSS installation.
|
* ```DEBUG``` - set this to `TRUE` to produce extra debugging output. The location of the log is dependent on your PHP `log_errors` and `error_log` configuration directives.
|
||||||
* ```DEBUG_USER``` - set this to the id (from ttrss_users) of your user you would like to always authenticate on your Tiny Tiny RSS installation. The authentication process is then skipped and the api gets always authentication.
|
* ```DEBUG_USER``` - set this to the ID (from `ttrss_users` database table) of your user you would like to force authenticate with. The authentication process is then skipped and the API is always authenticated using this ID.
|
||||||
* ```DEBUG_FILE``` - set this to a filename that suits you for debugging this plugin if you need to.
|
|
||||||
|
|
||||||
## <a name="error">Error reporting</a>
|
## <a name="error">Error Reporting</a>
|
||||||
|
|
||||||
If you got problems with authentication after updating the plugin, try to reenter the password in TinyTinyRSS Fever plugin and save it again.
|
If you have problems with authentication after updating the plugin, try to re-enter the password in Tiny Tiny RSS Fever plugin and save it again.
|
||||||
|
|
||||||
When you find an error you may post it in the plugin [thread](http://tt-rss.org/forum/viewtopic.php?f=22&t=1981) or here on github.com in the [Issues](https://github.com/dasmurphy/tinytinyrss-fever-plugin/issues/) section.
|
If you encounter any defects please [create an issue](https://github.com/DigitalDJ/tinytinyrss-fever-plugin/issues) on GitHub.
|
||||||
|
|
||||||
Please include your debug log which should be cleaned up. Please remove your username, password and apikey before posting it.
|
Please include any debug logs and any output from the Tiny Tiny RSS `Error Log` (located in Preferences > System).
|
||||||
|
|
||||||
|
**IMPORTANT** Ensure logs are sanitized by removing any usernames, passwords and API keys.
|
||||||
|
|
||||||
|
Also specify versions and variants of the software you are using:
|
||||||
|
* Tiny Tiny RSS commit
|
||||||
|
* PHP (and integration with your HTTP server, e.g. php-fpm)
|
||||||
|
* Operating System (e.g. FreeBSD, Debian)
|
||||||
|
* HTTP Server (e.g. Apache, nginx)
|
||||||
|
* Database Server (e.g. MySQL, PostgreSQL)
|
||||||
|
|
||||||
## <a name="license">License</a>
|
## <a name="license">License</a>
|
||||||
|
|
||||||
Licensed under GNU GPL version 2 (<- I think this is okay for this plugin…)
|
GPL-3.0
|
||||||
|
|
||||||
## <a name="changelog">Changelog</a>
|
## <a name="changelog">Change Log</a>
|
||||||
|
|
||||||
v1.0-v1.2 - 2013/5/27 - DigitalDJ version
|
v1.0-v1.2 - 2013/05/27
|
||||||
|
|
||||||
* see this [thread](http://tt-rss.org/forum/viewtopic.php?f=22&t=1981) in the TinyTinyRSS Forum
|
* see this [thread](https://tt-rss.org/forum/viewtopic.php?f=22&t=1981) in the Tiny Tiny RSS Forum
|
||||||
|
|
||||||
v1.3 - 2013/6/27
|
v1.3 - 2013/06/27
|
||||||
|
|
||||||
* fixed several bugs in json output from the plugin
|
* fixed several bugs in json output from the plugin
|
||||||
* added a small fix for Mr.Reader 2.0 so it can complete loading of all items (see [FAQ](http://www.curioustimes.de/mrreader/faq/))
|
* added a small fix for Mr.Reader 2.0 so it can complete loading of all items (see [FAQ](http://www.curioustimes.de/mrreader/faq/))
|
||||||
* added first Mr.Reader compatiblity without marking items read/starred
|
* added first Mr.Reader compatiblity without marking items read/starred
|
||||||
* changed the field ```date_entered``` to ```updated``` for better reading experience
|
* changed the field date_entered to updated for better reading experience
|
||||||
|
|
||||||
v1.4 - 2013/6/28
|
v1.4 - 2013/06/28
|
||||||
|
|
||||||
* fixed authentication with Mr.Reader 2.0
|
* fixed authentication with Mr.Reader 2.0
|
||||||
* fixed debugging options
|
* fixed debugging options
|
||||||
|
|
||||||
v1.4.1 - 2013/6/28
|
v1.4.1 - 2013/06/28
|
||||||
|
|
||||||
* removed password from debug log file
|
* removed password from debug log file
|
||||||
|
|
||||||
v1.4.2 - 2013/6/28
|
v1.4.2 - 2013/06/28
|
||||||
|
|
||||||
* changed the ```DEBUG_USER``` evaluation a little bit for disabling authentication without DEBUG = true
|
* changed the DEBUG_USER evaluation a little bit for disabling authentication without DEBUG = true
|
||||||
|
|
||||||
v1.4.3 - 2013/6/28
|
v1.4.3 - 2013/06/28
|
||||||
|
|
||||||
* added ```DEBUG_FILE``` to debug configuration
|
* added DEBUG_FILE to debug configuration
|
||||||
* changed authentication call from Mr.Reader so that the reply is also uppercase, since the API-KEY comes in uppercase from clients
|
* changed authentication call from Mr.Reader so that the reply is also uppercase, since the API-KEY comes in uppercase from clients
|
||||||
* fixed debug output while authentication in Mr.Reader with displaying the email adress
|
* fixed debug output while authentication in Mr.Reader with displaying the email adress
|
||||||
|
|
||||||
v1.4.4 - 2013/6/28
|
v1.4.4 - 2013/06/28
|
||||||
|
|
||||||
* updated the documentation
|
* updated the documentation
|
||||||
* changed some in saving the generated API-KEY - now its generated like in the Fever API documentation
|
* changed some in saving the generated API-KEY - now its generated like in the Fever API documentation
|
||||||
|
|
||||||
v1.4.5 - 2013/6/29
|
v1.4.5 - 2013/06/29
|
||||||
|
|
||||||
* fixed the cannot mark/star bug in Mr.Reader
|
* fixed the cannot mark/star bug in Mr.Reader
|
||||||
|
|
||||||
v1.4.6 - 2014/1/15
|
v1.4.6 - 2014/01/15
|
||||||
|
|
||||||
* merged bigger pull request to get more Fever API RSS Readers to work
|
* merged bigger pull request to get more Fever API RSS Readers to work
|
||||||
|
|
||||||
v1.4.7 - 2014/1/15
|
v1.4.7 - 2014/01/15
|
||||||
|
|
||||||
* added rewrite url function to module, since it was removed from tinytinyrss
|
* added rewrite url function to module, since it was removed from Tiny Tiny RSS
|
||||||
|
|
||||||
v2.0 - 2017/5/16
|
v2.0 - 2017/05/16
|
||||||
|
|
||||||
* Fix ccache exceptions
|
* Fix ccache exceptions
|
||||||
* Sync previously copied snipets with latest tt-rss source
|
* Sync previously copied snipets with latest tt-rss source
|
||||||
@@ -130,4 +164,10 @@ v2.0 - 2017/5/16
|
|||||||
v2.1 - 2017/12/25
|
v2.1 - 2017/12/25
|
||||||
|
|
||||||
* Sync previously copied snipets with latest tt-rss source
|
* Sync previously copied snipets with latest tt-rss source
|
||||||
* Use PDO API for DB queries
|
* Use PDO API for DB queries
|
||||||
|
|
||||||
|
v2.2 - 2018/01/22
|
||||||
|
|
||||||
|
* Fix finding config.php for obscure tt-rss installations
|
||||||
|
* Use PDO query for saving passwords
|
||||||
|
* Fix PHP5 only having single unserialize argument
|
||||||
@@ -1,67 +1,67 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// do not support refresh command, this could take ages.
|
// do not support refresh command, this could take ages.
|
||||||
if (isset($_REQUEST["refresh"]))
|
if (isset($_REQUEST["refresh"]))
|
||||||
{
|
{
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* api/index.php */
|
/* api/index.php */
|
||||||
error_reporting(E_ERROR | E_PARSE);
|
error_reporting(E_ERROR | E_PARSE);
|
||||||
|
|
||||||
require_once "../../config.php";
|
require_once "../../config.php";
|
||||||
|
|
||||||
set_include_path(dirname(__FILE__) . PATH_SEPARATOR .
|
set_include_path(dirname(__FILE__) . PATH_SEPARATOR .
|
||||||
dirname(dirname(dirname(__FILE__))) . PATH_SEPARATOR .
|
dirname(dirname(dirname(__FILE__))) . PATH_SEPARATOR .
|
||||||
dirname(dirname(dirname(__FILE__))) . "/include" . PATH_SEPARATOR .
|
dirname(dirname(dirname(__FILE__))) . "/include" . PATH_SEPARATOR .
|
||||||
get_include_path());
|
get_include_path());
|
||||||
|
|
||||||
chdir("../..");
|
chdir("../..");
|
||||||
|
|
||||||
define('TTRSS_SESSION_NAME', 'ttrss_api_sid');
|
define('TTRSS_SESSION_NAME', 'ttrss_api_sid');
|
||||||
define('NO_SESSION_AUTOSTART', true);
|
define('NO_SESSION_AUTOSTART', true);
|
||||||
|
|
||||||
require_once "autoload.php";
|
require_once "autoload.php";
|
||||||
require_once "db.php";
|
require_once "db.php";
|
||||||
require_once "db-prefs.php";
|
require_once "db-prefs.php";
|
||||||
require_once "functions.php";
|
require_once "functions.php";
|
||||||
require_once "sessions.php";
|
require_once "sessions.php";
|
||||||
|
|
||||||
require_once "fever_api.php";
|
require_once "fever_api.php";
|
||||||
|
|
||||||
ini_set("session.gc_maxlifetime", 86400);
|
ini_set("session.gc_maxlifetime", 86400);
|
||||||
|
|
||||||
define('AUTH_DISABLE_OTP', true);
|
define('AUTH_DISABLE_OTP', true);
|
||||||
|
|
||||||
if (defined('ENABLE_GZIP_OUTPUT') && ENABLE_GZIP_OUTPUT &&
|
if (defined('ENABLE_GZIP_OUTPUT') && ENABLE_GZIP_OUTPUT &&
|
||||||
function_exists("ob_gzhandler")) {
|
function_exists("ob_gzhandler")) {
|
||||||
|
|
||||||
ob_start("ob_gzhandler");
|
ob_start("ob_gzhandler");
|
||||||
} else {
|
} else {
|
||||||
ob_start();
|
ob_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_REQUEST["sid"]) {
|
if ($_REQUEST["sid"]) {
|
||||||
session_id($_REQUEST["sid"]);
|
session_id($_REQUEST["sid"]);
|
||||||
@session_start();
|
@session_start();
|
||||||
} else if (defined('_API_DEBUG_HTTP_ENABLED')) {
|
} else if (defined('_API_DEBUG_HTTP_ENABLED')) {
|
||||||
@session_start();
|
@session_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
startup_gettext();
|
startup_gettext();
|
||||||
|
|
||||||
if (!init_plugins()) return;
|
if (!init_plugins()) return;
|
||||||
|
|
||||||
$handler = new FeverAPI($_REQUEST);
|
$handler = new FeverAPI($_REQUEST);
|
||||||
|
|
||||||
if ($handler->before("")) {
|
if ($handler->before("")) {
|
||||||
if (method_exists($handler, 'index')) {
|
if (method_exists($handler, 'index')) {
|
||||||
$handler->index();
|
$handler->index();
|
||||||
}
|
}
|
||||||
$handler->after();
|
$handler->after();
|
||||||
}
|
}
|
||||||
|
|
||||||
header("Api-Content-Length: " . ob_get_length());
|
header("Api-Content-Length: " . ob_get_length());
|
||||||
|
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
?>
|
?>
|
||||||
Reference in New Issue
Block a user