rays 21d32104fe Step 5: quota and age retention
Oldest-first reaper with the original's 50 MB headroom pad, plus a
reconcile pass for files deleted by hand and pruning of stale entries.

The Python meant to reap only read, unflagged episodes but a missing
import and a typo made that filter throw on every candidate. Requiring
read=1 would be equally dead headless, so flagged is the keep-forever
marker and read only decides ordering.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RPyeapneuXrCdojsaiXGbe
2026-09-09 20:41:46 +00:00
2026-09-09 20:41:46 +00:00
2026-09-09 20:34:09 +00:00
2026-09-09 19:34:25 +00:00
2026-09-09 20:38:30 +00:00
2026-09-09 20:38:30 +00:00
2026-09-09 19:34:25 +00:00
2026-09-09 20:41:46 +00:00
2026-09-09 19:34:25 +00:00

ipodderx-rs

A headless podcatcher: scans RSS/Atom feeds, downloads enclosures (HTTP and BitTorrent), files them into per-feed folders, and reaps old episodes to stay under a disk quota. Runs as a one-shot CLI or as a daemon with a Unix-socket JSON event stream for a UI to attach to.

Lineage

This is a modern Rust rewrite of ipodderx-core, the Python 2 engine behind iPodderX (2004-2008, Ray Slakinski & August Trometer), which was open-sourced under the MIT License in 2010.

What carries over: the feed scan and TTL handling, GUID/URL dedupe, per-feed and per-date download folders, keyword filters, the explicit-content filter, torrent enclosures, and "SmartSpace" — the oldest-first disk quota reaper.

What does not: iTunes and iPhoto export via AppleScript, text-to-speech enclosures, the Windows WMP/COM paths, XML plists and Python pickles for state, the directory.iPodderX.com survey ping, 3DES-encrypted preferences, and the printMSG stdout protocol (replaced by a JSON-lines socket).

Status

Under construction. See PROGRESS.md for what works today.

Configuration

~/.config/ipx/config.toml, state in ~/.local/share/ipx/state.db. See PROGRESS.md until the usage section lands.

License

MIT. See LICENSE.

Description
No description provided
Readme MIT 9.5 MiB
Languages
Rust 49%
JavaScript 27.3%
TypeScript 15.4%
CSS 6.8%
HTML 1.1%
Other 0.4%