Freshrss: Vienna Support?

Created on 29 Oct 2018  Â·  81Comments  Â·  Source: FreshRSS/FreshRSS

I am sorry if Github is not appropiate to ask but I wonder what I can do to make FreshRSS work with Vienna? Choosing Other from the Sync menu and entering username/password did not work.

http://www.vienna-rss.com/

image

API

Most helpful comment

Wow, this thread exploded! :) Thank you both!

All 81 comments

Related: https://github.com/ViennaRSS/vienna-rss/issues/1197

I can see the Vienna-RSS supports the Open Reader API . As far as I can see, this API has never been written / completed (or I cannot find it - links welcome), and it is the first client I stumble upon that seems to support it.
I am happy to collaborate from FreshRSS side to make the compatibility happen.

@bisherbas I cannot test myself because I do now own anything Apple, but we could start by making a log of the first calls ViennaRSS is doing:

  1. In your FreshRSS, please uncomment the following two lines:

https://github.com/FreshRSS/FreshRSS/blob/ec56aa9e815b58f66e1c4b5bbf05592ee34b8063/p/api/greader.php#L867-L868

  1. Erase (if it exists) ./FreshRSS/data/users/_/log_api.txt

  2. Try to connect from Vienna RSS

    • Be sure to set your API password and to use the full URL to the Google Reader API endpoint, which you can find by clicking in the Profile menu of FreshRSS:
      image
  3. Paste here the content of ./FreshRSS/data/users/_/log_api.txt (you are welcome to anonymise your server address, username, etc.)

Hi @Alkarex

I added the full API url into Vienna and the Vieann app itself crashed on my Mac. So much so that I cannot even reopen the app. Crashes immediately. Had to fully uninstall the Vienna app.

I did uncomment the debug lines but no file is generated after attempting a sync within the Vienna app.

For reference, on my Android device, EasyRSS works perfectly fine using the Google Reader API.

Vienna's OpenReader API file, linked directly to a problematic line,at the end of this post.

Part of (possibly the only? I'm in over my head here) the problem is that Vienna seems to expect the API at a specific URL, "https://\

https://github.com/ViennaRSS/vienna-rss/blob/2b555770756b4e56786d0078ef4982a9635cfe3f/Vienna/Sources/Fetching/OpenReader.m#L116

@pattems I think that should be fine. Example of request (from another client) on my server:

GET /api/greader.php/reader/api/0/subscription/list

@bisherbas Could you please check in your Web server logs, and report what HTTP requests Vienna RSS has sent? Along with any warning/error.

@Alkarex Apache log below. That client IP address appears to be from Hong Kong. Neither my VPS nor myself are located in Hong Kong. Not sure where that IP comes from. I mean it comes from ViennaRSS for sure but I have no idea what they are doing behind the scenes to make the request from a Hong Kong IP. Looks like they are trying to run non-existing php files in my web server root. FreshRSS is not installed in the root. It is installed at /var/www/rss.

I have used the full API URL in the ViennaRSS settings along with the mobile API password:
`https://xxx.com/rss/api/greader.php

[Tue Oct 30 09:14:50.550235 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/help.php' not found or unable to stat
[Tue Oct 30 09:14:50.774972 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/java.php' not found or unable to stat
[Tue Oct 30 09:14:51.019806 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/_query.php' not found or unable to stat
[Tue Oct 30 09:14:51.406499 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/test.php' not found or unable to stat
[Tue Oct 30 09:14:51.635807 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/db_cts.php' not found or unable to stat
[Tue Oct 30 09:14:51.879239 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/db_pma.php' not found or unable to stat
[Tue Oct 30 09:14:52.125586 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/logon.php' not found or unable to stat
[Tue Oct 30 09:14:52.368990 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/help-e.php' not found or unable to stat
[Tue Oct 30 09:14:52.601089 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/license.php' not found or unable to stat
[Tue Oct 30 09:14:52.846401 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/log.php' not found or unable to stat
[Tue Oct 30 09:14:53.084633 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/hell.php' not found or unable to stat
[Tue Oct 30 09:14:53.322076 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/pmd_online.php' not found or unable to stat
[Tue Oct 30 09:14:53.564250 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/x.php' not found or unable to stat
[Tue Oct 30 09:14:53.802131 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/shell.php' not found or unable to stat
[Tue Oct 30 09:14:54.043882 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/htdocs.php' not found or unable to stat
[Tue Oct 30 09:14:54.279338 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/desktop.ini.php' not found or unable to stat
[Tue Oct 30 09:14:54.513958 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/z.php' not found or unable to stat
[Tue Oct 30 09:14:54.758222 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/lala.php' not found or unable to stat
[Tue Oct 30 09:14:54.983920 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/lala-dpr.php' not found or unable to stat
[Tue Oct 30 09:14:55.228474 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/wpo.php' not found or unable to stat
[Tue Oct 30 09:14:55.475382 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/text.php' not found or unable to stat
[Tue Oct 30 09:14:55.719579 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/wp-config.php' not found or unable to stat
[Tue Oct 30 09:14:55.965333 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/muhstik.php' not found or unable to stat
[Tue Oct 30 09:14:56.207204 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/muhstik2.php' not found or unable to stat
[Tue Oct 30 09:14:56.434490 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/muhstiks.php' not found or unable to stat
[Tue Oct 30 09:14:56.666453 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/muhstik-dpr.php' not found or unable to stat
[Tue Oct 30 09:14:56.912225 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/lol.php' not found or unable to stat
[Tue Oct 30 09:14:57.160407 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/uploader.php' not found or unable to stat
[Tue Oct 30 09:14:57.405713 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/cmd.php' not found or unable to stat
[Tue Oct 30 09:14:57.630124 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/cmx.php' not found or unable to stat
[Tue Oct 30 09:14:57.853992 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/cmv.php' not found or unable to stat
[Tue Oct 30 09:14:58.095105 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/cmdd.php' not found or unable to stat
[Tue Oct 30 09:14:58.325826 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/knal.php' not found or unable to stat
[Tue Oct 30 09:14:58.558248 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/cmd.php' not found or unable to stat
[Tue Oct 30 09:14:58.795538 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/shell.php' not found or unable to stat
[Tue Oct 30 09:14:59.024695 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/appserv.php' not found or unable to stat
[Tue Oct 30 09:15:01.333372 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/wuwu11.php' not found or unable to stat
[Tue Oct 30 09:15:01.567579 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/xw.php' not found or unable to stat
[Tue Oct 30 09:15:01.798689 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/xw1.php' not found or unable to stat
[Tue Oct 30 09:15:02.033281 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/9678.php' not found or unable to stat
[Tue Oct 30 09:15:02.270129 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/wc.php' not found or unable to stat
[Tue Oct 30 09:15:02.528893 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/xx.php' not found or unable to stat
[Tue Oct 30 09:15:02.763581 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/s.php' not found or unable to stat
[Tue Oct 30 09:15:03.023315 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/w.php' not found or unable to stat
[Tue Oct 30 09:15:03.429570 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/sheep.php' not found or unable to stat
[Tue Oct 30 09:15:03.673326 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/qaq.php' not found or unable to stat
[Tue Oct 30 09:15:03.929078 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/db.init.php' not found or unable to stat
[Tue Oct 30 09:15:04.162801 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/db_session.init.php' not found or unable to stat
[Tue Oct 30 09:15:04.394220 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/db__.init.php' not found or unable to stat
[Tue Oct 30 09:15:04.635079 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/wp-admins.php' not found or unable to stat
[Tue Oct 30 09:15:04.865925 2018] [php7:error] [pid 4640] [client 150.109.39.111:8333] script '/var/www/xxx.com/html/m.php' not found or unable to stat

@bisherbas Hum, those requests do not seem related to Vienna RSS. Probably just a coincidence.

@bisherbas This looks like the error log. Could you please check the access log?
It looks like:

freshrss.example.net:443 5.50.40.1 - - [30/Oct/2018:14:31:14 +0100] "GET /api/greader.php/reader/api/0/tag/list?client=newsplus&output=json&ck=1540905173685 HTTP/1.1" 200 4041 "-" "gzip"

@bisherbas Hum, those requests do not seem related to Vienna RSS. Probably just a coincidence.

I see. But my server doesn't have any traffic except me connecting to it. So I'm not sure what's the deal with that Hong Kong IP. Time-stamp indicates that IP is somehow related to ViennaRSS. Perhaps what you are interested is the line 52 of the access log below (I modifed this line to redact original IP).

150.109.39.111 - - [30/Oct/2018:09:14:50 -0400] "GET /help.php HTTP/1.1" 404 805 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:50 -0400] "GET /java.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:51 -0400] "GET /_query.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:51 -0400] "GET /test.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:51 -0400] "GET /db_cts.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:51 -0400] "GET /db_pma.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:52 -0400] "GET /logon.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:52 -0400] "GET /help-e.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:52 -0400] "GET /license.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:52 -0400] "GET /log.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:53 -0400] "GET /hell.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:53 -0400] "GET /pmd_online.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:53 -0400] "GET /x.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:53 -0400] "GET /shell.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:54 -0400] "GET /htdocs.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:54 -0400] "GET /desktop.ini.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:54 -0400] "GET /z.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:54 -0400] "GET /lala.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:54 -0400] "GET /lala-dpr.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:55 -0400] "GET /wpo.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:55 -0400] "GET /text.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:55 -0400] "GET /wp-config.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:55 -0400] "GET /muhstik.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:56 -0400] "GET /muhstik2.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:56 -0400] "GET /muhstiks.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:56 -0400] "GET /muhstik-dpr.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:56 -0400] "GET /lol.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:57 -0400] "GET /uploader.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:57 -0400] "GET /cmd.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:57 -0400] "GET /cmx.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:57 -0400] "GET /cmv.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:58 -0400] "GET /cmdd.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:58 -0400] "GET /knal.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:58 -0400] "GET /cmd.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:58 -0400] "GET /shell.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:59 -0400] "GET /appserv.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:59 -0400] "GET /scripts/setup.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:14:59 -0400] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:00 -0400] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:00 -0400] "GET /phpmyadmin/scripts/db___.init.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:00 -0400] "GET /phpMyAdmin/scripts/db___.init.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:00 -0400] "GET /plugins/weathermap/editor.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:01 -0400] "GET /cacti/plugins/weathermap/editor.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:28.0) Gecko/20100101 Firefox/45.0"
150.109.39.111 - - [30/Oct/2018:09:15:01 -0400] "POST /wuwu11.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:01 -0400] "POST /xw.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:01 -0400] "POST /xw1.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:02 -0400] "POST /9678.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:02 -0400] "POST /wc.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:02 -0400] "POST /xx.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:02 -0400] "POST /s.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:03 -0400] "POST /w.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
0.0.0.0 (THIS IS MY HOME IP) - - [30/Oct/2018:09:15:03 -0400] "POST /rss/api/greader.php/accounts/ClientLogin?accountType=GOOGLE&service=reader HTTP/1.1" 200 3877 "-" "Vienna/6970 CFNetwork/974.1 Darwin/18.0.0 (x86_64)"
150.109.39.111 - - [30/Oct/2018:09:15:03 -0400] "POST /sheep.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:03 -0400] "POST /qaq.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:03 -0400] "POST /db.init.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:04 -0400] "POST /db_session.init.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:04 -0400] "POST /db__.init.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
150.109.39.111 - - [30/Oct/2018:09:15:04 -0400] "POST /wp-admins.php HTTP/1.1" 404 804 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"

Yes, this line looks more interesting. This should generate a log on FreshRSS' side in ./FreshRSS/data/users/_/log_api.txt , if you have correctly uncommented the following lines in your local installation:

https://github.com/FreshRSS/FreshRSS/blob/ec56aa9e815b58f66e1c4b5bbf05592ee34b8063/p/api/greader.php#L867-L868

(This means, remove the // at the beginning of each line)

Uncommented

image

Access log

0.0.0.0 (original ip redacted by me) - - [30/Oct/2018:10:42:47 -0400] "POST /rss/api/greader.php/accounts/ClientLogin?accountType=GOOGLE&service=reader HTTP/1.1" 200 3877 "-" "Vienna/6970 CFNetwork/974.1 Darwin/18.0.0 (x86_64)"

log_api.txt missing :(

image

@bisherbas The requests from 150.109.39.111 are unrelated to Vienna

The 52th line might be yourself with a copy of Vienna, but it is probably incorrectly configured.

To cleanly uninstall Vienna, remove the app itself and the following files/directories if present :
~/Library/Application Support/Vienna ~/Library/Caches/uk.co.opencommunity.vienna2 ~/Library/Cookies/uk.co.opencommunity.vienna2.binarycookies ~/Library/Preferences/uk.co.opencommunity.vienna2.plist ~/Library/Saved Application State/uk.co.opencommunity.vienna2.savedState

Then try reinstalling and reconfiguring


The problem might be that Vienna just sends the host name, while I see from the examples in FreshRSS documentation that FreshRSS's API address is more complicated : https://freshrss.example.net/api/greader.php

@barijaona

Thanks for clarification on the HK IP address. I will look into it separately.

I deleted all the Vienna files you listed above, uninstalled the app, reinstalled it, picked Other from the Sync dropdown menu, entered the proper FreshRSS API address, and the result is the same. Vienna app crashes and Apache access log indicates the below line:

0.0.0.0 (original ip redacted by me) - - [30/Oct/2018:10:56:16 -0400] "POST /rss/api/greader.php/accounts/ClientLogin?accountType=GOOGLE&service=reader HTTP/1.1" 200 3877 "-" "Vienna/6970 CFNetwork/974.1 Darwin/18.0.0 (x86_64)"

image

OK, I will try myself as soon as I have a test account.

Thank you so much for your time!

@bisherbas If you are unable to relaunch Vienna, just removing the prefs file ~/Library/Preferences/uk.co.opencommunity.vienna2.plist should probably be enough.

Thanks for the tip! I have been removing everything and reinstalling from the scratch. This makes it much easier!

@barijaona I have sent you a test account

Login response from FreshRSS differs from GoogleReader.
GoogleReader used to reply with datas for SID, LSID and Auth
Other services replicate this behavior : cf. Inoreader and Bazqux API documentations.

FreshRSS just sends SID and Auth.
I suggest you change this (even if both SID and LSID are unused).

@barijaona I have added the unused LSID to my test instance. Please try again.

Some progress, but whenever Vienna requests for the content of a specific feed, the response is always the same :

{"id":"user/-/state/com.google/reading-list","updated":1540922837,"items":[]}

Does this mean that the only way to get articles from FreshRSS is through the reading list ?

@barijaona Could you please post the precise request you want to perform, so I can check? I cannot immediately find it in the logs. Yes, it is possible to retrieve entries for a specific category, feed, or tag.

A typical request is :
http://rss.example.net/FreshRSS/p/api/greader.php/reader/api/0/stream/contents/feed/http%3A%2F%2Frss.example.net%2FFreshRSS%2Fp%2Fapi%2Fgreader.php%2Freader%2Fpublic%2Fatom%2F12?client=ViennaRSS&comments=false&likes=false&ot=1540922619&n=500&ck=1540925099&output=json
I suppose that there is a problem with the feed identifier ?

@barijaona Indeed, I would expect the feed ID, not a URL

@barijaona You would like to pass the original feed URL, right, not an URL on the aggregator?

Your feed identifier is a numerical value. This is similar to what TheOldReader does.

Other systems (Bazqux, InoReader and FeedHQ) use an URL as feed identifier. I will try to adapt Vienna's code to detect the server's preference.

For compatibility with other systems, I am trying to add the ability to make queries by feed URL as well.
Could you please try again with the URL? (I have not tested yet myself)

The situation is slightly complicated by the fact that your API URL is more complex than what I encountered before.

So I'll probably have to change something in Vienna to get a correct ID, whatever approach is taken.
I need to think about it a little more, to avoid potential troubles with other services


"La nuit porte conseil" 🛌 đŸ’€

@barijaona I have deployed on the test instance a tentative patch, which accepts feeds URLs as well as their IDs. Could you please give it a try (i.e. no change on your side)?
https://github.com/FreshRSS/FreshRSS/pull/2093
P.S. Good night 🌃

There is clearly a problem in my code : I push as feed identifier
feed/http://rss.example.net/api/greader.php/reader/public/atom/5
while I should push either
feed/5
or
feed/http://www.courrierinternational.com/feed/all/rss.xml

Will fix this, but not tonight


Ok 😄
ID is one SQL request faster, but I have implemented URL as well (please test if you have a chance)

@Alkarex did you change other things during the night? I noticed this morning that interaction between Vienna and FreshRSS significantly improved.
It is not perfect yet and I see things to improve on my side. But I have to verify that any change does not break things with other services.

I have only added what is in the linked pull request, i.e. the possibility
to query feeds by URL.

No success so far with queries based on feed URLs.
I'd suggest you improve this, as it was standard GoogleReader behavior, and I see no simple way for a client app to guess whether it should use URLs or server's internal IDs.

I also notice problems when:

  • I require unread item Ids for a folder. The count of elements I get is not to the count of unread items, but the count of starred items.
  • I require starred item Ids for a folder. The count of elements I get is the count of unread items + 1

I could not match the item ids with the articles previously downloaded.

Note that one of the most precise description of GoogleReader/OpenReader API can be found in FeedHQ documentation.

@barijaona Query by feed URL should be fixed.
I will look at the rest. If possible, please tell what precise query you are using.

@barijaona The bug returning the starred items should be fixed.

I can get the articles, if I provide feed URL (it needs to be percent escaped, though).

Alas, if I try to get unread item Ids for a folder (using the folder's URL), I get a single Id, with the value of 0.
Similar problem for starred item Ids.

@barijaona item ids using URL should be fixed as well

I see some progresses with read/unread statuses, but there is still confusion regarding starred articles.

  • If I mark an article starred in Vienna, the server correctly reflects the change.
  • But when Vienna requires the Ids of starred items inside a folder, the number of returned Ids does not reflect the reality, and the Ids do not match what I have in my database.

@barijaona What precise call are you trying to do?
If it is something like /reader/api/0/stream/items/ids?s=feed/http%3A%2F%2Fwww.example.net%2Ffeed%2F&it=user/-/state/com.google/starred&n=100&output=json, it is not something that seems to be in the API:

I think I could add it without too much difficulty, but it would deviate from the specification.

@barijaona Ah, sorry, I read too fast. It is indeed in https://feedhq.readthedocs.io/en/latest/api/reference.html#stream-items-ids
I will add it=

@barijaona Should be fixed

@barijaona Do you use the ot= and/or nt= parameters?

I use ot= , not nt=
__Important__ : from my observations, the @FeedHQ documentation on these is wrong. For some reasons, on most servers (and also on defunct GoogleReader), ot= gives the newer articles.

TheOldReader and InoReader documentations converge with the above on this.

Relevant comments in VIennaRSS code : https://github.com/barijaona/vienna-rss/blob/issue-1197/Vienna/Sources/Fetching/OpenReader.m#L419-L424

Cc @brutasse (Bonjour aux francophones :smile: )

I see inconsistency on item Ids formats.

When I ask items, the ids are in hexadecimal form, which seems right to me.
But when I ask the ids of unread items ids or starred items, I apparently get the item ids in decimal format.

Another observation : FreshRSS gives an extra semicolon preceding the article's author name

Ex :
";nobody"
";CommitStrip"

Important : from my observations, the @feedhq documentation on these is wrong. For some reasons, on most servers (and also on defunct GoogleReader), ot= gives the newer articles.

Thank you @barijaona, I'm fixing this in the docs.

@Brutasse, you’re welcome!

@brutasse Bonjour ! Great work, I did not know about it 👍

@barijaona Ah, good with ot= and nt=, I was starting to be worried of having to detect the client to revert their meanings 😄

@barijaona I fixed the author thing. Do you have a way to support multiple authors? I was using the ; as a prefix to help deciding which character to split on.
Regarding the items IDs in decimal format, it seems to be the way Google Reader API did it, e.g.:

  • http://web.archive.org/web/20130708105542/http://undoc.in:80/stream.html#ids
  • https://github.com/mihaip/google-reader-api/blob/master/wiki/ApiStreamItemsIds.wiki
  • News+

    • https://github.com/noinnion/newsplus/blob/2ce0002c8f4cea594fe1208922e1f4f184e98eb2/extensions/GoogleReaderCloneExtension/src/com/noinnion/android/newsplus/extension/google_reader/GoogleReaderClient.java#L890

  • EasyRSS

    • https://github.com/davidsun/EasyRSS/blob/07f5086ad306e94dbbac32e0bb38203bbfbcbbf6/src/com/pursuer/reader/easyrss/data/parser/ItemIdJSONParser.java#L57

  • devongovett/reader

    • https://github.com/devongovett/reader/blob/8a419298e508dfe52e13b30f5fa3affdf1ed2314/src/api/stream.js#L74

    • https://github.com/devongovett/reader/blob/8a419298e508dfe52e13b30f5fa3affdf1ed2314/src/utils.js#L212

You’re right : when asked to provide item ids, you should answer with decimal values.

But it is the ids that you provide with content streams which are unusual: most services (except TheOldReader) use the long form tag:google.com,2005:reader/item/[16-hexa-digits]

You are currently just sending hexadecimal digits without the prefix

@barijaona Ah, indeed yes. All the clients I saw are discarding that prefix anyway, and it is quite some data overhead. Is it a problem for you?

https://github.com/FreshRSS/FreshRSS/blob/e04804d0f67dd43fd3f072b9a127768ee7b7b56c/p/api/greader.php#L499

Examples:

  • News+

    • https://github.com/noinnion/newsplus/blob/2ce0002c8f4cea594fe1208922e1f4f184e98eb2/extensions/GoogleReaderCloneExtension/src/com/noinnion/android/newsplus/extension/google_reader/GoogleReaderClient.java#L143-L147

  • EasyRSS

    • https://github.com/davidsun/EasyRSS/blob/07f5086ad306e94dbbac32e0bb38203bbfbcbbf6/src/com/pursuer/reader/easyrss/data/parser/ItemJSONParser.java#L65-L67

If you don’t want to send the prefix, you should send decimal.
If you send hexadecimal, you must prefix.
Explained here : https://www.inoreader.com/developers/article-ids

@barijaona The two different formats are not used randomly. It is always the same format for a given API call. In the two examples above, the readers therefore expect hexadecimal - and discard any prefix. Sending a decimal format to them would not work. I could add the tag:google.com,2005:reader/item/ but this prefix is quite long and does not seem to serve any purpose. Using it or not does not seem to make any difference in the clients I have seen or tried so far, and only has a negative impact on the amount of data to transmit and process.
So I would rather not add it, except if you really need it.
I could not immediately spot in your source code where you have this logic. https://github.com/ViennaRSS/vienna-rss/blob/e6fef1007840d129f476f57f0c6736cdb148dc02/Vienna/Sources/Fetching/OpenReader.m#L589
Let me know :-)

We can basically classify clients in two categories :

  • those which will store the article IDs sent by the server "as is"
  • those which will parse the article IDs and make transformations before internally storing the computed data

Vienna is in the first category, because it originated as an "independent" reader which can directly access any kind of server. So it must be relatively agnostic regarding GUIDs and IDs formats it stores. By the way, this was also what Google suggested :

If at all possible, you should not attempt to do conversions between forms. Store IDs from responses as string blobs, and pass them back as is to other API methods.

News+ and EasyRSS, which run on portable devices and have to deal only with well known aggregators, prefer optimizing their storage and are in the second category. They ditch any prefix, then convert the remaining hexadecimal string to a numeric value before storing it.

Until now, all servers claiming to be GoogleReader / OpenReader compatible are sending articles with the "long" ids. When the API sends the "short" version, it is easy for Vienna to compute the "long" id to get a key for searching in its internal database. Example here.

There is a notable exception, which is TheOldReader.com. Note that TheOldReader does not claim to be entirely GoogleReader compatible and clearly states that there are differences. Because TheOldReader is relatively popular, I added a specific hack to handle this. Deciding whether the hack should be enabled or not was relatively easy : I just have to test the name of the host.

The situation would be quite different with FreshRSS which can be self-hosted and uses an optimized but _non standard_ Id format.

A possible solution would be detecting if received ids are either optimized or compliant with GoogleReader standard, but Vienna's installed base of users dealing with TheOldReader adds a layer of complexity.

Does FressRSS accept both decimal numbers and the tag:google.com,2005:reader/item/... format for i= parameter in requests ? Would it be able to deal also with hexadecimal only values for i= parameter ?

@barijaona Thanks for the detailed answer.
FreshRSS was able to accept hexadecimal values for i=, with or without the prefix, which also worked when following the client strategy of not making any conversion.
So I have not fully understood the problem, but to avoid further confusion and improve compatibility (at the cost of performance), I have added the prefix for hexadecimal forms, and added the option of accepting the decimal form even when hexadecimal is expected:
https://github.com/Alkarex/FreshRSS/commit/c8e9e59febe3f79a8458c62ca331f94dd33268d2
Tests welcome :-)

When fetching a feed, I have an error message in the data I receive :
<br /> <b>Notice</b>: Undefined variable: _ in <b>/home/alex/public_html/test.alapetite.fr/FreshRSS/p/api/greader.php</b> on line <b>963</b><br />

Much better :smile:

A remaining problem, though: when I fetch a list of item ids which should be empty, I still get get a single element, with the value of 0.

@barijaona Ah, this is a workaround for a bug in News+
https://github.com/FreshRSS/FreshRSS/commit/10d98e0ce97d15882a06865b894136d3c0444d79
So I need to keep it, but if it is a problem, I can exclude it based on client=ViennaRSS, or include it solely for client=newsplus (would rather not, if avoidable). The clients I have tested so far all ignore it.

Wow, this thread exploded! :) Thank you both!

@barijaona I have decided to make a special case for News+ after all https://github.com/Alkarex/FreshRSS/commit/40597853d3bfcb4a2aac86e1e0a6326e7ffac7ea
So now you should get an empty array as expected.

Thanks @Alkarex. It was also easy for me to modify Vienna to handle this special case, but it seems better for the long term that the default behavior sticks to the specification.

One last minor remark : the title for the "Pepper&Carrot - Webcomics" feed (https://www.peppercarrot.com/feed/fr/rss/categorie3/webcomics) comes with an escaped & (&amp;). Seems wrong to me.

@barijaona For the encoding, if this title is wrong, then we should double-check what is expected for the other fields as well (id, url, htmlUrl, author, content, etc.). They are currently all HTML-encoded, but that might be wrong for some of them. Any reference on the matter? In particular, I am wandering what to do with special characters in id.
E.g. https://raw.githubusercontent.com/mihaip/google-reader-api/master/wiki/StreamId.wiki

In general, according to rfc4627, JSON data does not require escaping once it is encoded in UTF-8.
A few characters require escaping, but it should be numeric escape (cf. part 2.5 of the RFC).

So if one wants to be on the safe ground, one should use \u0026 or %x26, not &amp;

@barijaona Yes, but that does not mean that clients expect non-encoded data, e.g.:

Therefore, I would have liked to find a reference, e.g. samples from Google Reader, or at least compare with what current clients and servers are doing.

Hi Alexandre,
From my experience, the client can use anything coming from an OpenReader server without unescaping. It is much easier to deal with than with a classic RSS/Atom feed where you must take precautions like the ones you linked too.

For the id, Vienna percent escapes the following characters : /:?#[]@!$&'()*+,;=
But I noticed that most servers are able to deal with unescaped Ids.

@barijaona Some fields at least are supposed to be HTML-encoded, such as content. I have checked my archives of Google Reader exports (takeout) in JSON, and it looks like title and origin.title are also HTML-encoded. However, streamId, htmlUrl, and categories are not HTML-encoded (so I will have to fix that). I was not able to find any relevant example for author (examples welcome). Samples:

"title" : "GeForce GTX 580 : GPU-Z annihile le blocage de Furmark &amp; co",

"title" : "N&#39;éteignez jamais une imprimante jet d&#39;encre !",

"origin" : {
        "streamId" : "feed/http://link.springer.com/search.rss?facet-content-type=Article&facet-journal-id=779&channel-name=Personal%20and%20Ubiquitous%20Computing",
        "title" : "Latest Results for Personal and Ubiquitous Computing",
        "htmlUrl" : "http://link.springer.com"
    }

"origin" : {
        "streamId" : "feed/http://www.nytimes.com/services/xml/rss/nyt/todayspaper.xml",
        "title" : "NYT &gt; Today&#39;s Paper",
        "htmlUrl" : "http://www.nytimes.com/pages/todayspaper/index.html?partner=rss&emc=rss"
    }

"origin" : {
        "streamId" : "feed/http://rss.leparisien.fr/leparisien/rss/actualites-a-la-une.xml",
        "title" : "Le Parisien - Toute l&#39;actualité",
        "htmlUrl" : "http://www.leparisien.fr"
    }

"origin" : {
        "streamId" : "feed/http://feeds.feedburner.com/oreilly/radar/atom",
        "title" : "O&#39;Reilly Radar - Insight, analysis, and research about emerging technologies",
        "htmlUrl" : "http://radar.oreilly.com"
    }

"categories" : [
        "user/10311923250980613279/state/com.google/broadcast",
        "user/10311923250980613279/state/com.google/like",
        "user/10311923250980613279/state/com.google/read",
        "Company & Product Profiles",
        "Facebook"
    ],

I will try to keep by default the same convention as above, but I can do some special cases for some readers when necessary.

@barijaona I have reworked some encodings. In particular, for the feeds' title and for the authors, I have tentatively introduced a Unicode-based alternative encoding:
https://github.com/Alkarex/FreshRSS/commit/aeaadb9b63eb58859fb977ea765ccca6b8341b0d
It is taking advantage of the Unicode full-width version of some characters, and therefore works both for clients expecting HTML and those expecting plain-text.
Could you please test, and report if you can spot any remaining compatibility issue?

Everything seems OK to me now.
I am planning a Vienna maintenance release next week. Can I make an announcement that FreshRSS, starting from version 1.13.0, will be Vienna compatible, or do you prefer that we wait a little more ?

Just an aside note : real versions of Vienna will only work with secure links (servers supporting https). Not a real problem nowadays though, thanks to LetsEncrypt.

I hope you mean servers for syncing with and not servers with newsfeeds, because otherwise I'd personally consider that a debilitating issue. :-)

Yeah, I meant servers for syncing my not so public list of readings :wink:

@barijaona Thanks for the tests and the feedback. The /dev branch of FreshRSS now contain the changes, and is ready for testing (additional tests / confirmations, especially with special characters are very much welcome). Yes, FreshRSS 1.13.0 will be the version number containing those changes, and you are welcome to communicate on that already (on my side, I will also include Vienna RSS in our documentation - what version will that be?). I do not yet have an ETA for the release of version 1.13.0, but I would say early December.

@bisherbas I would appreciate if you could test the /dev branch of FreshRSS with Vienna and report your experience.

@bisherbas, I suggest you try with current version of Vienna (3.5.0)
3.5.1 will incorporate further fixes to prevent any crash similar to those you experimented, but 3.5.0 should not have problems with the /dev branch of FreshRSS.

I have made a few more minor changes to the encoding strategy in the /dev branch https://github.com/FreshRSS/FreshRSS/pull/2120
Additional tests much welcome

Seems OK to me.

Just as reference, the URL must be "yourfreshrss/api/greader.php/" - don't skip the trailing slash!
And if someone wonders which server-type to select, keep the preselection which is called AuswÀhlen (choose) in German ... a bit misleading.

First sync worked super smooth after upgrading FreshRSS and downloading Vienna 3.5.2

Thanks @Alkarex and @barijaona 👍

Thanks for the feedback @kevinpapst 👍
@barijaona Is there something you could do about that additional trailing slash?

I cannot confirm the requirement to add a trailing slash to the URL :

  • when I tested with @Alkarex 's test server, I did not have any trailing slash
  • I checked the source code and Vienna is designed to add any needed slashes in URLs used by requests.

@kevinpapst could you have a look into the content of Vienna's preference file (text file `~/Library/Preferences/uk.co.opencommunity.vienna2.plist) and verify if the SyncServer entry has the trailing slash ?

To analyse Vienna's behavior regarding authentication, I suggest you disable (at least temporarily) the "Check for new articles on startup" ("_Neue Artikel beim Programmstart abrufen_"), relaunch Vienna and just use the menu item "Update Subscriptions From Open Reader" ("_Aktualisiere die Abonnements von Open Reader_").

And you are probably right, "Other" is not correctly translated in the server type popup. I guess it should be "Andere" ?

Table of compatible clients: https://github.com/FreshRSS/FreshRSS/pull/2942

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cwldev picture cwldev  Â·  5Comments

mbnoimi picture mbnoimi  Â·  4Comments

Tealk picture Tealk  Â·  5Comments

Glaived picture Glaived  Â·  5Comments

eminphi picture eminphi  Â·  5Comments