RadioCLI 📻
A feature-rich internet radio player — terminal UI built with Rust, plus a native macOS menu bar app
Features
Beautiful Terminal UI
Clean, intuitive interface built with ratatui. Station list and audio visualization side by side.
Audio Visualization
Real-time visualization of the playing audio stream right in your terminal.
Stream Metadata
Display station name, format, bitrate, and current song information.
Station Management
Save your favorite stations with star marking. Persistent SQLite storage.
Fast & Lightweight
Built in Rust for minimal resource usage. Streams via mpv backend.
Keyboard Driven
Simple, intuitive keyboard navigation. No mouse needed.
RadioMac NEW
Native macOS menu bar companion app
Lives in your menu bar — no Dock clutter. Click to play, control volume, see what’s playing.
Reads the same ~/.config/radio_cli/stations.db as the CLI. Your stations sync automatically.
Browse thousands of stations from Radio Browser. Filter by genre, search by name, preview before adding.
ICY stream metadata shows current song. Integrates with macOS Now Playing widget and media keys.
Track play time per station with visual charts. See your top stations and total listening time.
Optional auto-start. Set your default volume. Pure SwiftUI, no Electron.
Build from Source
git clone https://github.com/schlunsen/radio-cli.git
cd radio-cli/mac_app/radio-mac
xcodebuild -scheme radio-mac -configuration Release build Requires macOS 14+ (Sonoma) and Xcode 16+
Installation
Homebrew (macOS & Linux)
brew tap schlunsen/radio-cli https://github.com/schlunsen/radiocli
brew install radio-cli From Source
git clone https://github.com/schlunsen/radiocli.git
cd radiocli
cargo install --path . Usage
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate through stations |
| Enter | Play selected station |
| s | Stop playback |
| f | Toggle favorite status |
| q | Quit application |