Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feeder

RSS/Atom media feed player (Go) — fetches and plays podcast/audio feeds.


Overview

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

Repository Structure

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

Key Features

  1. Automatic Audio Detection

    • Scans feed items for audio enclosures (MP3, M4A, OGG, etc.)
    • Extracts metadata (title, duration, author) from audio files
  2. Playback Controls

    • Play/pause/stop functionality
    • Volume control
    • Playback speed adjustment
  3. Subscription Management

    • Add/remove feeds via URL
    • Organize feeds into categories
    • Mark episodes as played
  4. Offline Mode

    • Download episodes for offline listening
    • Resume playback from last position
  5. Cross-Platform Support

    • Built with Go for easy cross-compilation
    • Works on Linux, macOS, and Windows

Getting Started

Prerequisites

  • Go 1.13+ (for building from source)
  • SQLite 3 (for database storage)
  • FFmpeg (for audio decoding)

Installation

From Source

# Clone the repository
git clone https://github.com/mecctro/feeder.git
cd feeder

# Build the application
go build -o feeder

# Run the application
./feeder

Pre-built Binaries

Pre-built binaries are available for Linux, macOS, and Windows on the Releases page.


Usage

Adding a Feed

feeder add https://example.com/feed.rss

Listing Feeds

feeder list

Playing an Episode

feeder play <feed-id> <episode-id>

Downloading an Episode

feeder download <feed-id> <episode-id>

Configuration

The application uses SQLite for storage. The database file is created in the same directory as the executable.


License

MIT License — see LICENSE file.


Note

This is a simple application designed for personal use. It may not be suitable for production environments or large-scale deployments.

About

RSS/Atom media feed player (Go) — fetches and plays podcast/audio feeds

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages