Tera
Interactive terminal music radio player. Play your favorite radio station, CRUD your favorite lists, and explore new radio stations from your terminal. https://tera.codewithshin.com/
Install / Use
/learn @shinokada/TeraREADME
Tera: Terminal Radio
A terminal-based internet radio player powered by Radio Browser.
Features
- 🔍 Search - Find stations by name, tag, language, country, or state
- 🎲 I Feel Lucky - Random station discovery by keyword
- 💾 Favorites - Organize stations into custom lists with duplicate detection
- ⭐ Star Ratings - Rate stations 1-5 stars and browse your top-rated collection
- 🏷️ Custom Tags - Tag stations with personal labels and build dynamic playlists
- ⚡ Quick Play - Direct playback from main menu (shortcuts 10-99+)
- 🕐 Recently Played - Last N stations shown below Quick Play Favorites in the main menu
- 🔊 Playback Control - Play/pause with persistent status, adjust volume, and mute during playback
- 🚫 Block List - Block unwanted stations from appearing in searches and auto-play
- ☁️ Sync & Backup - Export/restore local zip backups and sync all data via GitHub Gists
- 🗳️ Voting - Support your favorite stations on Radio Browser
- 🎨 Themes - Choose from predefined themes or customize via YAML config
- 💤 Sleep Timer - Set a timer to stop playback automatically
- 📊 Most Played - View your listening history sorted by play count, last played, or first played
- 🔄 Update Checker - Get notified when a new version is available
- ⌨️ Keyboard-driven - Full navigation without a mouse
- ❓ Context Help - Press
?anytime to see available keyboard shortcuts - 🖥️ Command-Line Play - Play stations directly from the terminal without opening the TUI
Requirements
- mpv - Media player for audio playback
Installation
Homebrew (macOS/Linux)
# update and upgrade
brew update && brew upgrade
brew install shinokada/tera/tera
# Upgrade existing installation
brew upgrade shinokada/tera/tera
Golang
go install github.com/shinokada/tera/v3/cmd/tera@latest
Debian/Ubuntu
sudo dpkg -i tera_3.x.x_linux_amd64.deb
sudo apt-get install -f # Install mpv dependency if needed
Fedora/RHEL
sudo rpm -i tera_3.x.x_linux_amd64.rpm
Windows Scoop
scoop bucket add shinokada https://github.com/shinokada/scoop-bucket
scoop install tera
Windows Winget
winget install Shinokada.Tera
# Upgrade existing installation
winget upgrade Shinokada.Tera
Manual Download
Download the latest binary for your platform from the releases page:
| Platform | Architecture | File |
| -------- | ------------- | -------------------------------- |
| macOS | Intel | tera_3.x.x_darwin_amd64.tar.gz |
| macOS | Apple Silicon | tera_3.x.x_darwin_arm64.tar.gz |
| Linux | x86_64 | tera_3.x.x_linux_amd64.tar.gz |
| Linux | ARM64 | tera_3.x.x_linux_arm64.tar.gz |
| Windows | x86_64 | tera_3.x.x_windows_amd64.zip |
| Windows | ARM64 | tera_3.x.x_windows_arm64.zip |
macOS/Linux
# Download and extract (example for macOS Apple Silicon)
tar -xzf tera_3.x.x_darwin_arm64.tar.gz
# Move to a directory in your PATH
sudo mv tera /usr/local/bin/
Windows
- Download the
.zipfile for your architecture - Extract the archive
- Add the extracted directory to your PATH or move
tera.exeto a directory already in your PATH
Quick Start
# Start TERA
tera
# Main Menu Options:
# 1) Play from Favorites - Browse your saved lists
# 2) Search Stations - Find new stations
# 3) Most Played - Your listening statistics
# 4) Top Rated - Browse your highest-rated stations
# 5) Browse by Tag - Browse stations by your custom tags
# 6) Tag Playlists - Dynamic playlists from tag combinations
# 7) Manage Lists - Create/edit/delete favorite lists
# 8) Block List - Manage blocked stations
# 9) I Feel Lucky - Random station by keyword
# 0) Sync & Backup - Backup/restore data locally or via GitHub
# -) Settings - Configure TERA
# Quick Play (from main menu):
# Type 10-99+ to instantly play stations from "My-favorites"
# Need help? Press ? anytime to see keyboard shortcuts!
Command-Line Play
Play stations directly from the terminal without opening the TUI — useful for shell scripts, startup routines, or timed listening sessions.
tera play <source> [args] [--duration <duration>]
Sources
| Full form | Short alias | Args | Description |
| --- | --- | --- | --- |
| favorites | fav | [list-name] [n] | Play nth station from a favorites list |
| recent | rec | [n] | Play the nth most recently played station |
| top-rated | top | [n] | Play the nth highest-rated station |
| most-played | most | [n] | Play the nth most-played station |
| lucky | — | <keyword ...> | Play a random station matching keyword(s) |
[list-name] defaults to My-favorites. [n] defaults to 1 (first item, 1-based).
Examples
# Play the first station from My-favorites
tera play fav
# Play the 3rd station from the jazz list
tera play fav jazz 3
# Play the most recently played station
tera play rec
# Play the highest-rated station
tera play top
# Play the most-played station
tera play most
# Play a random station matching a keyword
tera play lucky ambient
# Multi-word keywords work too
tera play lucky smooth jazz
# Stop automatically after 30 minutes
tera play fav --duration 30m
# Play for 1 hour then stop
tera play lucky ambient --duration 1h
Duration
The optional --duration flag accepts Go duration format: 30s, 10m, 1h, 1h30m. Without it, playback continues until Ctrl+C.
Status Line
A single line is printed when playback starts:
▶ Playing: Jazz FM [jazz · item 1 of 12] (Ctrl+C to stop)
▶ Playing: Jazz FM [jazz · item 1 of 12] (stops in 30m · Ctrl+C to stop early)
Notes
- Requires
mpvto be installed (same as the TUI) - CLI play sessions update Recently Played and Most Played history in the TUI
luckyrequires network access to query Radio Browser; all other sources are local- Run
tera play --helpfor full usage
Main Features
Play from Favorites
Browse and play stations from your organized lists. Navigate with ↑↓ or jk, press Enter to play. Press / to filter stations by name.
Search Stations
Six search methods to find stations:
- By Tag - Genre/style (jazz, rock, classical)
- By Name - Station name (BBC, NPR, KEXP)
- By Language - Broadcasting language
- By Country - Country code (US, UK, JP)
- By State - Region/state name
- Advanced - Search both name and tags
See Search Guide below for details.
Manage Lists
Create, rename, and delete your favorite lists. Stations can be:
- Saved to multiple lists
- Moved between lists
- Deleted from lists
Duplicate Detection: TERA automatically prevents adding the same station twice to any list.
Block List
Block unwanted stations to prevent them from appearing in shuffle mode and, by default, in search results.
How to Block:
- While playing any station, press
bto block it instantly - Press
uwithin 5 seconds to undo (in case of accidental block) - Works in Search, I Feel Lucky, and Play from Favorites
Block List Management: From main menu, select "8. Block List" to:
- 1. View Blocked Stations — List all blocked stations; press
uto unblock,cto clear all - 2. Manage Block Rules — Block entire countries, languages, or tags at once
- 3. Import/Export Blocklist — Backup and restore your blocklist
- 4. Search Visibility — Control whether blocked stations appear in search results
Search Visibility (default: hidden): By default, blocked stations are completely hidden from search results. To change this:
- Go to Block List → 4. Search Visibility
- Press
yto show blocked stations in search (marked with 🚫) - Press
nto hide them again (default)
Keyboard Shortcuts:
| Screen | Key | Action |
| ---------- | --- | ------------------------- |
| Playing | b | Block current station |
| Playing | u | Undo block (5 sec window) |
| Block List | u | Unblock selected station |
| Block List | c | Clear all blocks |
Storage Location:
- Linux:
~/.config/tera/data/blocklist.json - macOS:
~/Library/Application Support/tera/data/blocklist.json - Windows:
%APPDATA%\tera\data\blocklist.json
Star Ratings
Rate your favorite stations from 1-5 stars to build your personal collection of top stations.
How to Rate:
- While playing any station, press
rthen1-5to rate - Press
rthen0to remove a rating - Press
rthen any other key (orEsc) to cancel without changing the rating - Stars appear in search results, favorites, and the playing screen
Top-Rated View: From main menu, select "4. Top Rated" to:
- Browse all your rated stations sorted by rating
- Filter by minimum star rating (press
f) - Sort by rating high/low or recently rated (press
s) - Play stations directly from the list
Keyboard Shortcuts:
| Screen | Key | Action |
| --------- | -------------- | ---------------- |
| Playing | r then 1-5 | Rate station |
| Playing | r then 0 | Remove rating |
| Top Rated | f | Cycle filter |
| Top Rated | s | Cycle sort order |
Storage Location:
- Linux:
~/.config/tera/data/station_ratings.json - macOS:
~/Library/Application Support/tera/data/station_ratings.json - Windows:
%APPDATA%\tera\data\station_ratings.json
Custom Tags
Organize stations with your own personal labels. Tags are stored locally and never transmitted.
How to Tag:
- While playing any station, press
tto add a single tag - Press
T(shift+t) to open the Manage Tags dialog and toggl
Related Skills
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
333.3kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
333.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
