SkillAgentSearch skills...

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/Tera
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Tera: Terminal Radio

REPO

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

  1. Download the .zip file for your architecture
  2. Extract the archive
  3. Add the extracted directory to your PATH or move tera.exe to 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 mpv to be installed (same as the TUI)
  • CLI play sessions update Recently Played and Most Played history in the TUI
  • lucky requires network access to query Radio Browser; all other sources are local
  • Run tera play --help for 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 b to block it instantly
  • Press u within 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 u to unblock, c to 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:

  1. Go to Block List → 4. Search Visibility
  2. Press y to show blocked stations in search (marked with 🚫)
  3. Press n to 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 r then 1-5 to rate
  • Press r then 0 to remove a rating
  • Press r then any other key (or Esc) 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 t to add a single tag
  • Press T (shift+t) to open the Manage Tags dialog and toggl

Related Skills

View on GitHub
GitHub Stars139
CategoryDevelopment
Updated16h ago
Forks8

Languages

Go

Security Score

100/100

Audited on Mar 23, 2026

No findings