radiogogo

module
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2026 License: MIT

README

RadioGoGo - Command Line Online Radio Player

CI CodeQL OpenSSF Scorecard Go Reference Go Report Card

RadioGoGo is a simple command-line tool that allows users to play online radio streams directly from their terminal. It supports a wide range of stream formats and provides keyboard shortcuts to control playback.

Features

  • Play online radio streams from the command line
  • Supports MP3, AAC, and other common streaming formats
  • Uses mpg123 or ffplay for playback
  • Terminal controls for volume, skipping tracks, and quitting

Installation

Linux (Ubuntu/Debian)
sudo apt update
sudo apt install mpg123 ffmpeg
Fedora Linux
sudo dnf install mpg123 ffmpeg
macOS (via Homebrew)
brew install mpg123 ffmpeg

Install RadioGoGo

Build it from source code

You can build RadioGoGo locally:

go build -o radiogogo ./cmd/radiogogo

Or install it directly:

go install github.com/omaciel/radiogogo/cmd/radiogogo@latest

Usage

To play an online radio stream, run:

radiogogo https://stream.radioparadise.com/mp3-192

If you don't provide a radio stream, a random one will be chosen for you:

radiogogo
No URL provided. A random radio station will be chosen.
Selected station: Radio Swiss Classic (https://stream.srg-ssr.ch/m/rsc_de/mp3_128)
Running from Source Code

If you want to run radiogogo from the source code, navigate to the project root directory and execute:

go run ./cmd/radiogogo https://stream.radioparadise.com/mp3-192
Example

Play Radio Paradise using radiogogo:

go run ./cmd/radiogogo https://stream.radioparadise.com/mp3-192

Flags

List the built-in stations:

radiogogo --list

Play one by name:

radiogogo --station WUNC

Print the version (stamped at release time, so a released binary can be traced back to the commit it was built from):

radiogogo --version

Print usage:

radiogogo --help

Accepted URLs

Only http and https URLs are accepted. Other schemes — including file:// — are refused, as are URLs beginning with -, which a media player would parse as a command-line flag.

Terminal Playback Controls

While radiogogo is running, you can control playback using the following keys:

Key Action
h Show help menu with available commands
+ Increase volume
- Decrease volume
> Skip track
q Quit playback

Notes

  • mpg123 provides additional keyboard controls, accessible by pressing h during playback.
  • ffplay is used as a fallback if mpg123 fails to play a stream.

Development

make help             # list every target
make check            # vet, lint, race tests, govulncheck (what CI gates on)
make test             # tests only
make build            # build into ./dist
make release-snapshot # rehearse a full release locally, without tagging

Security

Each push and pull request is scanned by govulncheck for known vulnerabilities, gosec (via golangci-lint), and CodeQL. Repository hygiene is graded by OpenSSF Scorecard.

Release archives ship with an SBOM, and checksums.txt is signed keylessly with cosign — verification instructions are in every release's notes.

License

MIT License

Contributing

Pull requests and suggestions are welcome!

Directories

Path Synopsis
cmd
radiogogo command
Command radiogogo plays online radio streams from the terminal.
Command radiogogo plays online radio streams from the terminal.
internal
m3u
Package m3u resolves M3U playlists to a playable stream URL.
Package m3u resolves M3U playlists to a playable stream URL.
player
Package player validates stream URLs and plays them with an external player.
Package player validates stream URLs and plays them with an external player.
station
Package station provides the built-in catalog of radio stations.
Package station provides the built-in catalog of radio stations.

Jump to

Keyboard shortcuts

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