oxtyped / gpodder2go

gpodder2go is a simple self-hosted, golang, drop-in replacement for gpodder/mygpo server to handle podcast subscriptions management for gpodder clients
GNU Affero General Public License v3.0
97 stars 13 forks source link

Compatibility with Garmin Podcasts #13

Open gpasqualetti opened 1 year ago

gpasqualetti commented 1 year ago

I want to use gpodder2go to sync with the Podcasts app for Garmin smartwatches: https://github.com/lucasasselli/garmin-podcasts

So far, I have been able to login, but I get the following error when I try to manage subscriptions (from the smartwatch):

2023/04/23 13:15:02 [a9fa47634dce/fzJfjUtl27-000080] "POST http://IPADDRESS/api/2/auth/USERNAME/login.json HTTP/1.1" from MYIP - 200 0B in 1.284052ms
2023/04/23 13:15:17 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://digitec.podigee.io/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/23 13:15:39 error adding RSS feed from URL: context.deadlineExceededError{}

And when I try to download episodes:

2023/04/23 13:20:30 [a9fa47634dce/fzJfjUtl27-000082] "POST http://IPADDRESS/api/2/auth/USERNAME/login.json HTTP/1.1" from MYIP - 200 0B in 838.948µs
2023/04/23 13:20:53 error adding RSS feed from URL: context.deadlineExceededError{}
2023/04/23 13:21:17 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://podcastfuerdeutschland.podigee.io/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/23 13:21:28 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://gehtdanochwas.podigee.io/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/23 13:21:28 [a9fa47634dce/fzJfjUtl27-000083] "GET http://IPADDRESS/subscriptions/USERNAME/DEVICENAME.json HTTP/1.1" from MYIP - 200 14301B in 57.586016429s

On the smartwatch, it shows Error -2 in both cases.

I am currently trying to understand if the problem lies on gpodder2go or garmin-podcasts.

oxtyped commented 1 year ago

Thanks @gpasqualetti for bringing this up!

I don't have a Garmin smartwatch to test this out, but it looks like the app might not be replacing the IPADDRESS and USERNAME values with the ones that you set during your configuration.

When you first login to gpodder2go via the app, do you see the login call reaching the server? Was it a 200?

gpasqualetti commented 1 year ago

This is the log when I first login with the Garmin app:

2023/04/29 19:06:01 [a9fa47634dce/fzJfjUtl27-000347] "POST http://IPADDRESS/api/2/auth/USERNAME/login.json HTTP/1.1" from MYIP - 200 0B in 930.965µs
2023/04/29 19:06:06 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://podcasts.sueddeutsche.de/podcast/2171-das-thema-der-podcast-der-suddeutschen-zeitung/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/29 19:06:28 error adding RSS feed from URL: context.deadlineExceededError{}
2023/04/29 19:06:38 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://digitec.podigee.io/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/29 19:07:00 [a9fa47634dce/fzJfjUtl27-000348] "GET http://IPADDRESS/subscriptions/USERNAME/DEVICENAME.json HTTP/1.1" from MYIP - 200 14281B in 58.100254444s
2023/04/29 19:07:24 error adding RSS feed from URL: &url.Error{Op:"Get", URL:"https://podcasts.sueddeutsche.de/podcast/2171-das-thema-der-podcast-der-suddeutschen-zeitung/feed/mp3", Err:context.deadlineExceededError{}}
2023/04/29 19:07:49 error adding RSS feed from URL: context.deadlineExceededError{}
2023/04/29 19:08:02 [a9fa47634dce/fzJfjUtl27-000349] "GET http://IPADDRESS/subscriptions/USERNAME/DEVICENAME.json HTTP/1.1" from MYIP - 200 14378B in 51.559086422s
2023/04/29 19:08:02 [a9fa47634dce/fzJfjUtl27-000350] "GET http://IPADDRESS/favicon.ico HTTP/1.1" from MYIP - 404 19B in 29µs

The Garmin app requires username, password, service url and device id. What I did is the following: I used AntennaPod to register a new device DEVICENAME, synced it, and logged out. I then entered DEVICENAME in the Garmin app as device id.

davidchua commented 1 year ago

Do you know how I can emulate this so that I can test it out?