Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AntennaPod sometimes is not sending a user-agent when downloading audio #4240

Closed
jamescridland opened this issue Jun 13, 2020 · 7 comments
Closed

Comments

@jamescridland
Copy link

Hi there - I'm writing an article for podnews.net about podcast apps that do not have valid user-agents. (I don't use AntennaPod).

I am dynamically rewriting the RSS feed for my podcast. When the RSS feed is requested with an AntennaPod/ useragent, it tags the audio with an antennapod querystring. This enables me to see where a podcast app is not correctly using a user-agent when it downloads the audio. This screenshot includes some recent downloads that have come as a result of requesting the RSS feed with an AntennaPod/ useragent, but with a different user-agent upon download.

(You can view Podnews's RSS feed at https://podnews.net/rss and if you spoof an AntennaPod useragent in your request, you'll notice that it will tag all the audio in the RSS feed).

This bug means AntennaPod is less visible in podcast host analytics, since it's ordinarily impossible to attribute a download from stagefright or Dalvik to AntennaPod.

Screen Shot 2020-06-13 at 7 24 01 pm

Not having used AntennaPod, I don't know when this bug occurs. In some apps, a "stream" (a progressive download on-demand) is treated differently than an automated overnight download. I'm reporting this here to notify you that there's a bug in AntennaPod, which is not giving the project the attribution that you probably want.

Please do shout if I can clarify.

@ByteHamster
Copy link
Member

Hi,

Version 1.8.1 used de.danoeh.antennapod/1.8.1 (...) for streaming. This is fixed in version 2.0.0 (currently in beta). AntennaPod has an option to share the media file url. If the user agents you are seeing come from actual audio/video downloads, the most likely reason is that the file url was shared and used outside of AntennaPod. Images (especially in shownotes) may be different but Dalvik/... should definitely not be sent for media downloads.

@tonytamsf
Copy link
Member

@jamescridland just a FYI, if you have not seen this for a list of user agents https://github.com/opawg/user-agents

@jamescridland
Copy link
Author

@ByteHamster Thanks. That may be the reason (this is for audio only), though that would be a suspiciously high percentage of sharing.

@tonytamsf That seems an incredibly familiar list! (grin) I've added a note about the de.danoeh user-agent.

@ByteHamster
Copy link
Member

that would be a suspiciously high percentage of sharing

I just noticed another reason for this user agent. AntennaPod has a setting for different media players. While the default one sends the correct user agent, I think that the others might not. They are no longer supported officially, that's why I forgot about them. In version 1.7.3, we switched the setting for all users on upgrade. May I ask what percentage you get for the Dalvik/... vs AntennaPod/... user agent?

@jamescridland
Copy link
Author

@ByteHamster The above list is approximately 24 hours of downloads via AntennaPod. It's a small sample so far - but it's a self-hosted podcast that I'm therefore able to run a lot of stats and tests on. (It's very good, too - https://podnews.net/listen will find it!)

You're always best, if you can, ensuring the useragent is correctly listed, so your podcast app gets the credit it deserves, of course.

@ByteHamster
Copy link
Member

Another data point: https://twitter.com/eevblog/status/1275031619611447296/photo/1

If both "dalvik" and "de" are actually AntennaPod, it can go further up in that list quite a bit. I have already started working on a fix. Thank you for bringing this to our attention, @jamescridland!

@ByteHamster
Copy link
Member

I changed a few things

  • ExoPlayer already used the AntennaPod user agent
  • Sonic and Device internal have now been changed to use the AntennaPod user agent
  • Something I did not think about earlier: The chapter loader (that is used to load embedded chapters of the media file in case the feed does not support chapter marks) has now been changed to use the AntennaPod user agent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants