Not so long ago, I decided that I wanted to keep up with Radio Havana's English language hour. It streams at noon local time, which isn't the most convenient, since I'm usually busy. Radio Havana also has a podcast version of the English language hour, but it's hosted by a company called ivoox, and I can't find an rss feed. It seems that you can only listen to or download the podcast from the ivoox.com website. I want to listen in my podcast app and that doesn't appear possible. So it occurred to me that I might download the stream on a daily basis and host the podcast on my web server. I've documented the process below for future reference. It could easily be altered to create a podcast from any live stream you like. Here are the steps I followed: 1. Create a bash script that saves the stream to a directory on the webserver. The steps below must be undertaken as root: A. Create a couple of sub-directories in your webserver hierarchy to hold the rss feed and episodes: mkdir /var/www/html/radiohc mkdir /var/www/html/radiohc/episodes B. Create a simple script to download the stream: The script contains a single line: timeout 65m wget -O /var/www/html/radiohc/episodes/$(date +%F).mp3 https://icecast.teveo.cu/McW3fLhs I named the script "radio-havana-rip.sh" and placed it in a subdirectory in my home directory at /home/visiblink/radiohc/ C. Make the script executable: chmod +x radio-havana-rip.sh D. Add a cronjob to run the script every day at 18:59 UTC (11:59 am local time, when Radio Havana's English language hour starts): Execute the following command: crontab -e In the editor, add this line to the crontab and save it: 59 18 * * * /home/visiblink/radiohc/radio-havana-rip.sh Additional explanation: after the cronjob starts the script, the timeout command permits wget to run for 65 minutes. wget downloads the stream from https://icecast.teveo.cu/McW3fLhs and places the resulting mp3 file in the episodes directory on the webserver with a filename in the $DATE.mp3 format. You could probably use curl or another command line downloader instead of wget. The script should technically have #!/bin/bash at the start, but it works fine without it. 2. Build an rss feed listing the episodes and copy it to the webserver. The rss feed takes the following format, with a new section added for each episode: Radio Havana https://radio.visiblink.ca/radiohc/index.html Radio Havana's daily hour of English-language programming. English-language hour for 2026-02-18 https://radio.visiblink.ca/radiohc/ The daily English-language hour. Wed, 18 Feb 2026 21:05:01 +0000 A. Write a script to update the RSS feed. The feed will be served from /var/www/html/radiohc/rss.xml on the server. The script adds each day's new episode to the feed. My script is called "radio-havana-rss.sh" and is located in the /home/visiblink/radiohc/ directory . Enter the following lines: #!/bin/bash # echo the rss feed header to the rss.xml file on the server. printf "\n\n\nRadio Havana\nhttps://radio.visiblink.ca/radiohc/index.html\nRadio Havana's daily hour of English-language programming.\n" > /var/www/html/radiohc/rss.xml # add the new episode entry to a text file containing a list of all episodes printf "\nEnglish-language hour for $(date +%F)\nhttps://radio.visiblink.ca/radiohc/\nThe daily English-language hour.\n\n$(date -R)\n\n" >> /home/visiblink/radiohc/episodes.txt # add the episodes to the rss file. cat /home/visiblink/radiohc/episodes.txt >> /var/www/html/radiohc/rss.xml B. Make the script executable: chmod +x radio-havana-rss.sh C. Add a cron job to run this script after the stream download is complete. Run the following command: crontab -e Add a line modelled on this one to the bottom of the file. 5 20 * * * /home/visiblink/radiohc/radio-havana-rss.sh The command is timed to run a minute after the wget download completes. In your podcast app, manually add the feed at the following URL: https://radio.visiblink.ca/radiohc/rss.xml Note: that's not the real address for the podcast. If you'd like the address, email me.