Browse and listen to thousands of radio stations across the globe right from your terminal ๐ŸŒŽ ๐Ÿ“ป ๐ŸŽตโœจ
radio rust tokio web-radio command-line-tool tui
README.md

Cover

TuneIn CLI ๐Ÿ“ป ๐ŸŽต โœจ #

npm License: MIT

A command line interface for TuneIn Radio / Radio Browser.
You can search for stations, play them, and see what's currently playing โ€” right from your terminal.

This package installs the prebuilt tunein binary from the official GitHub releases.

Made with VHS

โœจ Features #

  • ๐Ÿ” Search and play thousands of radio stations from TuneIn or Radio Browser
  • ๐ŸŽต Plays all the common Icecast stream formats: MP3, AAC/AAC+, Ogg Vorbis, FLAC and WAV
  • ๐ŸŽง Powerful DSP (Equalizer, Bass, Treble) based on the Rockbox DSP engine
  • ๐Ÿ“ป Interactive TUI: browse categories, favourites, resume last station
  • ๐ŸŒˆ Real-time audio visualizations: oscilloscope, vectorscope and spectroscope
  • ๐Ÿ–ฅ๏ธ OS media controls integration (play/pause/volume from your keyboard's media keys)
  • ๐Ÿ›ฐ๏ธ Built-in gRPC server, installable as a systemd service
  • ๐ŸŒ Embedded web UI with a GraphQL API (tunein web) โ€” search, browse and listen from your browser

๐Ÿšš Installation #

Install globally:

npm install -g tunein-cli

Or run it directly without installing:

npx tunein-cli search "BBC Radio 1"

Both expose the tunein command:

tunein --version

๐Ÿš€ Usage #

USAGE:
    tunein <SUBCOMMAND>

OPTIONS:
    -h, --help                   Print help information
    -p, --provider <provider>    The radio provider to use, can be 'tunein' or 'radiobrowser'.
                                 Default is 'tunein' [default: tunein]
    -V, --version                Print version information

SUBCOMMANDS:
    browse    Browse radio stations
    help      Print this message or the help of the given subcommand(s)
    play      Play a radio station
    search    Search for a radio station
    server    Start the server
    service   Manage systemd service for tunein-cli server
    web       Start the web UI & GraphQL API server

Search for a radio station:

tunein search "BBC Radio 1"

Result:

BBC Radio 1 | The best new music | id: s24939
BBC Radio 1Xtra | Remi Burgz | id: s20277

Play a radio station:

tunein play "alternativeradio.us"
# Or by station ID
tunein play s221580

Browse stations interactively:

tunein browse

Start the web UI & GraphQL API:

tunein web          # listens on http://localhost:8881
tunein web 3000     # custom port

๐Ÿ“ฆ Supported Platforms #

OS Architectures
macOS Apple Silicon, Intel
Linux x86_64, aarch64, armv7
FreeBSD x86_64, aarch64
NetBSD x86_64, aarch64

Windows is not supported. On other platforms, see the installation guide for alternatives (Homebrew, Nix, apt, dnf, AUR, or building from source).

๐Ÿ”ง How It Works #

On install, a postinstall script:

  1. Detects your OS and CPU architecture.
  2. Downloads the matching prebuilt binary from the GitHub releases page.
  3. Verifies its SHA-256 checksum against the published .sha256 file.
  4. Extracts the tunein binary into the package's bin/ directory.

If the install scripts were skipped (e.g. npm install --ignore-scripts), the binary is downloaded automatically on first run instead. The package itself has zero npm dependencies.

๐Ÿ“š Documentation #

๐Ÿ“ License #

MIT