RSS/Atom media feed player (Go) — fetches and plays podcast/audio feeds.
feeder is a lightweight Go application that fetches and plays podcast/audio feeds from RSS/Atom feeds. It provides:
- Feed Discovery — Automatic detection of audio enclosures in feed items
- Playback — Built-in audio player with basic controls
- Subscription Management — Add/remove feeds and organize them
- Offline Caching — Download episodes for offline listening
- Cross-Platform — Runs on Linux, macOS, and Windows
| File | Purpose |
|---|---|
main.go |
Entry point, CLI argument parsing |
routes.go |
HTTP server routes (feed management, playback controls) |
services.go |
Core feed processing logic (fetching, parsing, audio handling) |
sql.go |
SQLite database operations (feed storage, episode tracking) |
feed_extensions.go |
Feed-specific extensions (audio detection, metadata extraction) |
functions.go |
Utility functions (HTTP clients, file operations, audio decoding) |
assets/ |
Static assets (web UI, icons, audio samples) |
LICENSE |
MIT License (see below) |
README.md |
This file |
-
Automatic Audio Detection
- Scans feed items for audio enclosures (MP3, M4A, OGG, etc.)
- Extracts metadata (title, duration, author) from audio files
-
Playback Controls
- Play/pause/stop functionality
- Volume control
- Playback speed adjustment
-
Subscription Management
- Add/remove feeds via URL
- Organize feeds into categories
- Mark episodes as played
-
Offline Mode
- Download episodes for offline listening
- Resume playback from last position
-
Cross-Platform Support
- Built with Go for easy cross-compilation
- Works on Linux, macOS, and Windows
- Go 1.13+ (for building from source)
- SQLite 3 (for database storage)
- FFmpeg (for audio decoding)
# Clone the repository
git clone https://github.com/mecctro/feeder.git
cd feeder
# Build the application
go build -o feeder
# Run the application
./feederPre-built binaries are available for Linux, macOS, and Windows on the Releases page.
feeder add https://example.com/feed.rssfeeder listfeeder play <feed-id> <episode-id>feeder download <feed-id> <episode-id>The application uses SQLite for storage. The database file is created in the same directory as the executable.
MIT License — see LICENSE file.
This is a simple application designed for personal use. It may not be suitable for production environments or large-scale deployments.