this post was submitted on 17 Jul 2025
39 points (97.6% liked)

podcasts

20114 readers
16 users here now

Podcast recommendations, episode discussions, and struggle sessions about which shows need to be cancelled.

Rest In Power, Michael Brooks.

founded 5 years ago
MODERATORS
 

As mentioned in previous posts, the free podcast feeds site offered by comrade @jumble@hexbear.net at https://jumble.top/ has been pretty unreliable in the past weeks, and Jumble has been unreachable for a while now. In the throngs of slop withdrawal syndrome, during the days the site was down, I hacked together a replacement for that site:

https://piratefeeds.net/

For now this is simply meant as a backup, since it will take a while to collect as many feeds and build the same features that Jumble offers (I can’t proxy media files for the time being, sorry to comrades in the PRC or other countries that block Patreon). With time though, I hope this can become a viable alternative. I’m at least going to try to be online here regularly and keep downtimes to a minimum. I’m also happy to involve other contributors if anyone is down to help. To be clear, both Jumble's site and mine are basically exploiting a vulnerability in how Patreon private feeds work, there is no guarantee that they will not patch this exploit in the future.

I'm adding a technical description of the project below for the nerds who are interested. Contributions and feed donations are more than welcome! For now, out of concern for my anonymity, I'm only accepting cash donations in Monero (the wallet address is on the site). If anybody has suggestions for other way to accept donations anonymously I'm all ears.

Feel free to PM me for any of the following:

  • feed donations
  • cash donations
  • technical suggestions to improve feed anonymization, site accessibility, security, reliability, etc.

@jumble@hexbear.net if/when you come back online please reach out! I'd love to ask you for tips about your experience hosting jumble.top and possibly to collaborate on a single replacement, if you're still willing to work on this.

nerd stuffThe whole project is extremely basic and just consists of two components: a script that downloads and caches feed XML files, and a file server to serve them.

This is the script:

import csv
import sys
import xml.etree.ElementTree as ElementTree

import requests

if __name__ == "__main__":
    feeds_file = sys.argv[1]
    output_dir = sys.argv[2]

    print("\n#### Fetching feeds...")
    with open(feeds_file, newline='') as file:
        feeds = csv.reader(file)
        print("Loaded feeds file")

        for (name, url, description) in feeds:
            print(f"## Processing {name}...")

            try:
                headers = {'User-Agent': 'AntennaPod/3.7.0'}
                response = requests.get(url, headers=headers)
                print(f"Fetched {name}")
            except Exception as e:
                print(f"Failed to fetch feed {name}:", e)

            try:
                root = ElementTree.fromstring(response.content)
                # Replace the description since it often contains PII
                root[0].find('description').text = description
                ElementTree.ElementTree(root).write(f"{output_dir}/{name}.xml")
                print(f"Processed and saved {name}")
            except Exception as e:
                print(f"Failed to process feed {name}:", e)

I then use Caddy as a static file server to publish an index page and the feed files. I'm hosting it on a small VPS on Njalla, registered anonymously and paid in Monero, with the CloudFlare free plan on top for caching and basic protection.


you are viewing a single comment's thread
view the rest of the comments
[–] Oddity@hexbear.net 8 points 3 weeks ago