From be92d2f05278a9c0448934b4e58c6271ab88cf70 Mon Sep 17 00:00:00 2001 From: "J. King" Date: Thu, 25 Jul 2019 19:23:35 -0400 Subject: [PATCH] Documentation update; fixes #168 --- CHANGELOG | 1 + README.md | 34 +++++++++++++++++++++++++++++++--- UPGRADING | 7 ++++++- dist/nginx.conf | 5 +++++ 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b0b42f4b..961082f9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ New features: - Command line functionality for clearing a password, disabling the account - Command line options for dealing with Fever passwords - Command line functionality for exporting subscriptions to OPML +- Command line functionality for cron-based feed updating - Command line documentation of all commands and options Bug fixes: diff --git a/README.md b/README.md index f568a4ac..fcabd697 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # The Advanced RSS Environment -The Arsse is a news aggregator server which implements multiple synchronization protocols, including [version 1.2][NCNv1] of [NextCloud News][NCN]' protocol and the [Tiny Tiny RSS][TTRSS] protocol (details below). Unlike most other aggregator servers, The Arsse does not include a Web front-end (though one is planned as a separate project), and it relies on existing protocols to maximize compatibility with existing clients. +The Arsse is a news aggregator server which implements multiple synchronization protocols. Unlike most other aggregator servers, The Arsse does not include a Web front-end (though one is planned as a separate project), and it relies on existing protocols to maximize compatibility with existing clients. Supported protocols are: -At present the software should be considered in an "alpha" state: though its core subsystems are covered by unit tests and should be free of major bugs, not everything has been rigorously tested. Additionally, many features one would expect from other similar software have yet to be implemented. Areas of future work include: +- [NextCloud News][NCNv1] +- [Tiny Tiny RSS][TTRSS] +- [Fever][Fever] -- Providing more sync protocols (Google Reader, Fever, others) +At present the software should be considered in an "alpha" state: many features one would expect from other similar software have yet to be implemented. Areas of future work include: + +- Providing more sync protocols (Google Reader, others) - Better packaging and configuration samples - A user manual @@ -48,6 +52,8 @@ The Arsse includes a `user add []` console command to add u Alternatively, if the Web server is configured to handle authentication, you may set the configuration option `userPreAuth` to `true` and The Arsse will defer to the Web server and automatically add any missing users as it encounters them. +Console commands are also available to import from and export to OPML files. Consult `php arsse.php --help` for full details. + ## Installation from source If installing from the Git repository rather than a download package, you will need to follow extra steps before the instructions in the section above. @@ -194,6 +200,27 @@ Tiny Tiny RSS itself is unaware of HTTP authentication: if HTTP authentication i In all cases, supplying invalid HTTP credentials will result in a 401 response. +### Fever + +Unlike other protocols thus far supported by The Arsse, a reference implementation of [the Fever protocol][Fever] is no longer available: Fever was witdrawn from sale in 2016. Consequently the Arsse's implementation may not replicate all of Fever's functionality correctly. Moreover, some features have been deliberately omitted. + +#### Special considerations + +- Because of Fever's insecure authentication protocol, a Fever-specific password must be created before a user can communicate via the Fever protocol. Consult The Arsse's online help (`php arsse.php --help`) for instructions on how to set the necessary password +- The Fever protocol does not allow for adding or modifying feeds. Another protocol or OPML importing must be used to manage feeds +- Unlike other protocols supported by The Arsse, Fever uses "groups" (more commonly known as tags or labels) instead of folders to organize feeds. Currently OPML importing is the only means of managing groups + +#### Missing features + +- All feeds are considered "Kindling" +- The "Hot Links" feature is not implemented; when requested, an empty array will be returned. As there is no way to classify a feed as a "Spark" in the protocol itself and no documentation exists on how link temperature was calculated, an implementation is unlikely to appear in the future +- Favicons are not currently supported; all feeds have a simple blank image as their favicon + +#### Other notes + +- The undocumented `group_ids`, `feed_ids`, and `as=unread` parameters are all supported +- XML output is supported, but may not behave as Fever did. JSON output is highly recommended + [newIssue]: https://code.mensbeam.com/MensBeam/arsse/issues/new [Composer]: https://getcomposer.org/ [picoFeed]: https://github.com/miniflux/picoFeed/ @@ -205,3 +232,4 @@ In all cases, supplying invalid HTTP credentials will result in a 401 response. [News+]: https://github.com/noinnion/newsplus/ [ext-feedreader]: https://github.com/jangernert/FeedReader/tree/master/data/tt-rss-feedreader-plugin [ext-newsplus]: https://github.com/hrk/tt-rss-newsplus-plugin +[Fever]: https://web.archive.org/web/20161217042229/https://feedafever.com/api diff --git a/UPGRADING b/UPGRADING index ea3c84ad..c96f41c6 100644 --- a/UPGRADING +++ b/UPGRADING @@ -15,7 +15,12 @@ Upgrading from 0.7.1 to 0.8.0 - The database schema has changed from rev4 to rev5; if upgrading the database manually, apply the 4.sql file - +- Web server configuration has changed to accommodate Fever; the following URL + paths are affected: + - /fever/ +- The following Composer dependencies have been added: + - zendframework/zend-diactoros (version 2.x) + - zendframework/zend-httphandlerrunner Upgrading from 0.5.1 to 0.6.0 ============================= diff --git a/dist/nginx.conf b/dist/nginx.conf index c7dce50f..98e130c8 100644 --- a/dist/nginx.conf +++ b/dist/nginx.conf @@ -48,4 +48,9 @@ server { root /usr/share/arsse/www; try_files $uri =404; } + + # Fever protocol + location /fever/ { + try_files $uri @arsse_no_auth; + } }