Crates.io | podserve |
lib.rs | podserve |
version | 0.2.0 |
source | src |
created_at | 2019-08-19 11:58:28.021345 |
updated_at | 2019-08-19 11:58:28.021345 |
description | Spin up an RSS podcast feed webserver from a directories of MP3s |
homepage | |
repository | https://github.com/passy/podserve |
max_upload_size | |
id | 158081 |
size | 89,817 |
Turns a folder of MP3 files into a hosted RSS feed.
podserve [-d podcasts/] https://pod.example.com/prefix/
By default, podserve
will read the MP3s in a podcasts/
subdirectory
and serve them, generating an absolute URL based on the prefix URL
provided as first positional argument.
podserve
will extract ID3 tags and modification time to generate
the corresponding attributes on the RSS feed.
podserve
uses Rocket and the Rocket-Contrib static file serving mechanism.
This, importantly, does not support range requests and is hence very ill-suited
for streaming podcasts. You may want to put a reverse proxy in front of this
(which does of course takes the fun a bit out of this).
For nginx you may want to set up something like this:
location /podcasts/ {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
alias /srv/www/podserve/podcasts/;
}
location / {
proxy_pass http://127.0.0.1:{{ podserve_port }};
}
This is by no means meant to be a used in production or production-like environments. There are deliberately few options to configure your feed. I'm happy to take Pull Requests to add more, but this is not meant to be feature-complete.
The scenario I'm envisioning for this is that you have a bunch of drafts you quickly want to share with your team or friends and instead of sharing a Dropbox folder, you instead share an actual feed that people can subscribe to with their podcast players. This comes with the additional benefit that they can download it to listen to it later and apply the usual audio filters on on it.