podcast-archiver

module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2021 License: Apache-2.0

README

Podcast Archiver

This is a tiny utility I wrote to keep a backup copy of every episode of my favorite shows before they disappear from the internet. Initially, it only supported S3 compatible backends but was later extended to also store podcasts to the local filesystem and Dropbox.

Usage

./podcast-archiver --config config-file.yaml

Configuration

Podcast Archiver can be configured with a configuration file written in YAML. It basically sets information about what feeds should be downloaded, into what folder, and where everything should be stored (the "sink").

The example below would download all episodes it can find in the Changelog master feed and download them into ./data/changelog-master.

sink:
- filesystem_folder: "./data"
feeds:
- folder: "changelog-master"
  url: "https://changelog.com/master/feed"

The following fields are available for the sink:

  • google_project_id
  • bucket
  • filesystem_folder
  • access_key_id
  • access_key_secret
  • region
Google Cloud Storage sink

If you want to upload the podcasts to a Google Cloud Storage bucket, you'd need to set the following fields:

  • google_project_id
  • bucket

The credentials are taken from the environment using Google Application Credentials as documented here.

S3 sink

Here the following fields must be set:

  • bucket
  • access_key_id
  • access_key_secret
  • region

Notifications

If you want to get notified whenever a new podcast has been archived, you can set the following environment variables to send a message to a pre-defined Matrix room:

  • MATRIX_HOMESERVER: URL of the homeserver the user is registered at
  • MATRIX_USERNAME
  • MATRIX_PASSWORD
  • MATRIX_ROOM: The complete room name (!...@...)

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL