#podcast #rss #cli-applications #download #feed #episode #cli

app podclaw

Podclaw is a small, pure-Rust CLI application for managing podcast RSS feeds and downloading episodes from those podcasts

1 stable release

1.0.1 May 13, 2023

#2766 in Command line utilities

Download history 1/week @ 2024-02-13 42/week @ 2024-02-20 15/week @ 2024-02-27

58 downloads per month

MIT license

30KB
576 lines

Podclaw

Podclaw is a small, pure-Rust CLI application for managing podcast RSS feeds and downloading episodes from those podcasts.

Installation

Currently, you can just go and grab the latest release for your OS(currently only Linux is available) and extract it somewhere. You might want to put the executable on your PATH for easier access.

Building from Source

Mostly the same as any other Rust project. Clone the repo into a folder, open a terminal, and run 'cargo build'. You might need the 'librust-openssl-dev' package on Linux; not sure about Windows.

Usage

To show off basic usage of Podclaw, this will guide you through registering a podcast and downloading the first episode from it. Quickly before that, it's worth mentioning I used TrueColor for this program. It might not look right if you're on a terminal that doesn't support it.

Adding a Podcast

In a terminal, run a command like this.

podclaw add example [LINK] 'Podcasts' 1

This command adds a podcast with an alias of 'example'. An alias is a simple, case-insensitive name used to refer to this podcast in other commands. '[LINK]', of course, should be replaced with a link to an RSS feed. We then set this podcast's download path to a folder named 'Podcasts', which will be where are downloaded episodes will be placed. Finally, we set the hour interval between automatic cache updates to 1. Everytime this duration is elapsed, Podclaw will cache the RSS feed or update this cache.

Downloading an Episode

podclaw get example 0

After adding a podcast, we can use a command like above to download the episode at index 0 for the podcast with the alias 'example'.

Some Other Features

Here's some bullet points for a few other commands that Podclaw features.

  • 'list', which can list all registered podcasts or their episodes
  • 'inspect', which allows you see details on any podcast or episode
  • 'lock', which lets you lock a podcast to prevent it from being edited, updated, or removed(until unlocked that is)

Finally, if you should need it, you can find Podclaw's storage file in '~/.config/podclaw' on Linux.

Contributing

I'm still pretty new to Rust, and I'd love to hear some feedback. Feel free to open an issue or pull request, if you'd like.

Used Crates

Dependencies

~9–23MB
~395K SLoC