Private
podripper
A terminal podcast ripper that files episodes on the NAS
podripper is a full-screen terminal app for getting podcasts onto a NAS. Search the iTunes catalogue for a show, subscribe to its feed, pick the episodes you want, and it downloads them and copies them over SMB into the right folder on the share.
It is the other half of Boombox. podripper files the episodes; Boombox plays them from the same share. Neither one needs a podcast service in between, and an episode that has been pulled down stays pulled down after the show deletes it.
Small decisions that keep a TUI honest
- The search client has an overall timeout. A request that never returns would leave the search overlay spinning forever with no way to tell whether it was working — so it gives up after fifteen seconds and says so.
- Config is XDG-aware and self-creating. It honours
XDG_CONFIG_HOME, falls back to~/.config/podripper, and writes a default config on first run rather than failing on a missing file. - The NAS is a destination, not a mount. It dials SMB directly and copies into a path built from the show and episode, so there is no fstab entry to maintain and nothing to unmount when it is done.
Stack
| Language | Go 1.25 |
|---|---|
| Interface | Bubble Tea, with Bubbles components and Lipgloss styling |
| Discovery | The iTunes Search API for finding shows |
| Feeds | gofeed for RSS parsing |
| Transfer | go-smb2, dialling the share directly over NTLM |
| Layout | internal/ split into config, store, tui, itunes, podcast, download, and nas |