https://tera.codewithshin.com/
Version 0.7.0
A modern, interactive radio player for your terminal with 50,000+ stations worldwide.
TERA (TErminal RAdio) is an interactive music radio player that brings the world's radio stations to your command line. Discover new music, manage favorite lists, and explore 50,000+ stations—all without leaving your terminal.
Why TERA?
- 🎵 Escape algorithmic recommendations and discover real variety
- 🚫 No ads, no subscriptions, completely free
- ⚡ Fast, keyboard-driven interface with arrow key navigation
- 📻 Access to global radio stations via Radio Browser API
- 💾 Save and organize your favorite stations
- 35,000+ Radio Stations powered by Radio Browser API
- Arrow Key Navigation throughout the entire application
- Quick Play Favorites - Top 10 favorites accessible from main menu
- Duplicate Detection - Prevents saving the same station twice
- Smart Search - Find stations by tag, name, language, country, or state
- List Management - Create, edit, and delete custom station lists
- Gist Integration - Share your favorite lists via GitHub Gist
- I Feel Lucky - Random station discovery mode
- Modern Interface - fzf-powered fuzzy search and selection
- Seamless Navigation - Return to main menu from anywhere with
0or ESC - Interactive Menus - All menus support arrow keys and keyboard shortcuts
- No Setup Required - Works immediately after installation
- Unix-like environment (Linux, macOS, BSD)
- mpv - Media player
- jq - JSON processor
- fzf - Fuzzy finder
- wget - Network downloader
- git - For Gist features (optional)
awesome install shinokada/terabrew tap shinokada/tera
brew install teraDownload from releases page:
sudo apt install ./tera_0.7.0_all.deb
rm ./tera_0.7.0_all.deb# Available on AUR
yay -S teraSee aur.archlinux.org/packages/tera
Test that mpv is working:
mpv https://live.musopen.org:8085/streamvbr0If music plays, you're ready to go!
teraYou'll see the main menu with options to:
- Play from your lists
- Search for stations
- Manage lists
- Delete stations
- Try "I Feel Lucky" mode
- Upload/recover lists via Gist
- Try the defaults: TERA comes with sample stations in "My Favorites"
- Search for music: Select
2) Search radio stations - Save favorites: After playing, save stations to your lists
- Quick access: Saved stations appear in main menu for instant playback
| Context | Action | Navigation |
|---|---|---|
| Any menu | Arrow keys ↑↓ | Navigate options |
| Any menu | Enter | Select option |
| Any menu | ESC | Go back |
| Text prompt | Type 0 |
Go back |
| Text prompt | Type 00 |
Main menu |
| Text prompt | Empty + Enter | Go back |
See Navigation Guide for complete details.
# From main menu
2) Search radio stations
# Search by:
- Tag (jazz, rock, classical, etc.)
- Name (station name)
- Language
- Country code
- State
# After search:
- Use arrow keys to select
- Press Enter to play
- Save to "My Favorites" or custom lists# From main menu
3) List (Create/Read/Update/Delete)
# Operations:
- Create new lists
- View list contents
- Rename lists
- Delete lists
- Protected: "My Favorites" cannot be deleted/renamedSee List Navigation Guide for details.
Your "My Favorites" list appears on the main menu:
--- Quick Play Favorites ---
10) ▶ BBC World Service
11) ▶ Jazz FM
12) ▶ Classical KDFC
Just select the number to play instantly!
See Favorites Guide for advanced usage.
Share and backup your station lists:
# From main menu
6) Gist
# Features:
1) Create a gist - Upload all your lists
2) Recover from gist - Download lists from URLSetup required: See Gist Setup Guide
While playing:
| Key | Action |
|---|---|
p / SPACE |
Pause/unpause |
q |
Stop and quit |
9 / 0 |
Volume down/up |
/ / * |
Volume down/up |
m |
Mute |
[ / ] |
Decrease/increase speed 10% |
{ / } |
Halve/double speed |
See MPV manual for all controls.
- Navigation Guide - Complete navigation reference
- List Navigation Guide - List management details
- Favorites Guide - Quick play favorites setup
- Gist Setup - GitHub Gist integration
- Changelog - Recent updates and features
~/.config/tera/ # Configuration directory
├── favorite/ # Your favorite lists
│ ├── myfavorites.json # "My Favorites" list
│ └── *.json # Custom lists
└── gisturl # Last gist URL (if used)
~/.cache/tera/ # Temporary files
└── radio_searches.json # Search results cache
curl -s https://raw.githubusercontent.com/shinokada/tera/main/uninstall.sh | bash# Remove executable
rm $(which tera)
# Remove configuration and cache
rm -rf ~/.config/tera
rm -rf ~/.cache/teratera # Start TERA
tera --version # Show version
tera -h # Show help
tera --help # Show help- Fast Navigation: Type
0in any text prompt to go back - Emergency Exit: Use
Ctrl+Cto force quit - No Duplicates: TERA prevents saving the same station twice
- ESC is Safe: Press ESC anywhere without fear—it just goes back
- Quick Access: Add stations to "My Favorites" for main menu access
- Fuzzy Search: In any list, start typing to filter results
# Test mpv directly
mpv https://live.musopen.org:8085/streamvbr0
# Check if station URL is valid
# Some stations may be offline or have changed URLs# Ensure fzf is installed
which fzf
# Update fzf if needed
brew upgrade fzf # macOSSee Gist Setup Guide for GitHub token configuration.
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Test your changes thoroughly
- Submit a pull request
- 📖 Documentation: tera.codewithshin.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- Radio Browser API - Station database
- MPV - Media playback
- fzf - Fuzzy finding interface
MIT License - See LICENSE file for details.
Shinichi Okada (@shinokada)
Made with ❤️ for music lovers who live in the terminal