A minimalist, lightning-fast terminal radio player written in Bash.
Features a searchable station database, favorite management, and Vim-style navigation.
- Online Search — Instantly search thousands of stations via the Radio-Browser API
- Favorites — Save your favorite stations to a local M3U playlist
- Vim-Style Navigation — Use
h,j,k,lto navigate menus (powered by fzf) - Popularity Sorting — Online search results are automatically sorted by votes/popularity
- Easy Installation — Comes with a built-in installer for quick setup
radiosh needs these tools at runtime:
- fzf — Fuzzy finder for the interface
- mpv — The engine that plays the audio stream
- jq — To process API search results
- curl — To fetch station data
Clone the repository:
git clone git@github.com:JeromeTDev/radiosh.git
cd radioshMake the script executable:
chmod +x radioshRun the built-in installer:
./radiosh --installThis validates the required dependencies and copies the script to ~/.local/bin/radiosh.
If dependencies are missing, install them first with:
./radiosh --install-depsSupported package managers for automatic dependency installation are apt-get, dnf, pacman, zypper, and brew.
If you prefer, you can also install the dependencies manually using your system package manager and then run ./radiosh --install again.
Update your PATH (if not already done):
Bash/Zsh:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # or ~/.zshrcFish:
fish_add_path ~/.local/binSimply type radiosh in your terminal to start:
radiosh- Select a saved favorite to play immediately
- Select
__ONLINE_SEARCH__to find new stations - Press
yafter playing an online station to add it to your favorites
radiosh --help
radiosh --install
radiosh --install-deps
--helpshows the available command-line options--installchecks dependencies and installsradioshto~/.local/bin--install-depsinstalls missing runtime dependencies using a supported package manager
Favorites are stored as a standard M3U playlist at:
~/.config/mpv/radio.m3u
MIT License — see LICENSE for details.
