jdrbc / podly_pure_podcasts

Ad-block for podcasts
MIT License
216 stars 10 forks source link

add an episode whitelist that controls which episodes are eligible for download #10

Open frrad opened 1 month ago

frrad commented 1 month ago

This will be useful to control cost if using remote whisper.

My client is really eager to request mp3s (I think it's trying to read the episode lengths from the mp3s) which means that unless I'm careful I get tons of downloads. This means that I just leave podly off most of the time.

Sketch implementation:

  1. add the DB described in https://github.com/jdrbc/podly_pure_podcasts/issues/9
  2. The DB has a table called "episode" or some such
  3. whenever we poll upstream, add previously unseen episodes to our episode table with "blocked = true" or some such
  4. when we get an episode request, compare with the table and only let it go through if it's not blocked
frrad commented 1 month ago

https://github.com/jdrbc/podly_pure_podcasts/pull/15 was not actually complete! I like to open [WIP] PRs as I work so I can look at the diff in GitHub. Sorry for any confusion! I'll make some post-hoc edits to that PR description and plan to do the rest of the work in a separate PR, probably this coming weekend.

dfjones89 commented 2 weeks ago

Hi @frrad, just coming here to say thanks for your hard work on this awesome project and to offer my support for this feature. Like you, I'm finding my podcast client (AntennaPod on Android) is triggering multiple (unexpected) downloads, even when simply adding/refreshing a new podcast feed, burning through OpenAPI credits behind the scenes. I like the idea of a default blocklist, where now episodes are blocked when first discovered via RSS, but can be marked as desired by the user, allowing them to be transcribed and analysed 🙌

frrad commented 2 weeks ago

All glory to @jdrbc who has done basically all the work so far thanks to my strategically timed vacation :-D Hopefully I will get some time this weekend to do some work 🤞