bjarneo/cliamp

Gocliamp.stream
Windows

대체: Winamp

cliamp - Terminal music player inspired by winamp

m3umusicmusic-playerstreamwinampyt-dlpcliampicecasticecast-playernavidrome-clientpodcastradio
스타 성장
스타
4k
포크
260
주간 성장
+128
이슈
65
1k2k3k4k
26년 2월26년 4월26년 6월26년 9월
아티팩트Go Modules
README

Docs on contextowl.co

A retro terminal music player inspired by Winamp. Play local files, streams, podcasts, YouTube, YouTube Music, SoundCloud, Mixcloud, Bilibili, Spotify, NetEase Cloud Music, Yandex Music, Xiaoyuzhou (小宇宙), Navidrome, Lyrion, Plex, Jellyfin, and Audiobookshelf. Use the spectrum visualizer, parametric EQ, and playlist manager.

cliamp.stream | docs

cliamp uses Bubbletea, Lip Gloss, Beep, and go-librespot.

https://github.com/user-attachments/assets/fbc33d20-e3ac-4a62-a991-8a2f0243c8ea

Proudly sponsored by contextowl.co

Install

curl -fsSL https://raw.githubusercontent.com/bjarneo/cliamp/HEAD/install.sh | sh

Homebrew

brew install bjarneo/cliamp/cliamp

The formula installs all required runtime libraries.

Arch Linux (AUR)

yay -S cliamp

Nix

nix run github:bjarneo/cliamp

For a declarative NixOS configuration, add github:bjarneo/cliamp as a flake input. Install its default package:

inputs.cliamp.url = "github:bjarneo/cliamp";

environment.systemPackages = [
  inputs.cliamp.packages.${pkgs.stdenv.hostPlatform.system}.default
];

Go

go install github.com/bjarneo/cliamp@latest

Install ALSA development headers before you build on Linux. See Building from source.

Pre-built binaries

Download from GitHub Releases.

macOS: Pre-built binaries link dynamically to FLAC, Vorbis, Ogg, and mpg123 from Homebrew. If you download from Releases or use install.sh, install these libraries first. Otherwise, you can see errors such as Library not loaded: /opt/homebrew/opt/libvorbis/lib/libvorbisenc.2.dylib:

brew install flac libvorbis libogg mpg123

brew install bjarneo/cliamp/cliamp installs these libraries.

Linux: Pre-built binaries link FLAC, Vorbis, Ogg, and mpg123 statically. No extra codec packages are required. You can still need an ALSA bridge for your sound server. See Troubleshooting.

Windows: Download and extract cliamp-windows-amd64.zip from Releases. It includes the codec DLLs that Spotify requires. If HOME is not set, cliamp stores its config under %APPDATA%\cliamp.

Optional runtime dependencies for all platforms and install methods:

  • ffmpeg for AAC, ALAC, Opus, and WMA playback
  • yt-dlp for YouTube, YouTube Music, SoundCloud, Mixcloud, Bandcamp, Bilibili, and NetEase Cloud Music

On macOS, run brew install ffmpeg yt-dlp. On Linux, use your distribution package manager.

On Windows, install ffmpeg and yt-dlp with your package manager. Keep both on PATH.

Build from source

git clone https://github.com/bjarneo/cliamp.git && cd cliamp && go build -o cliamp .

Quick Start

cliamp ~/Music                     # play a directory
cliamp *.mp3 *.flac               # play files
cliamp https://example.com/stream  # play a URL

Press Ctrl+K to see all keybindings.

Configure remote providers such as Navidrome, Lyrion, Plex, Jellyfin, Audiobookshelf, Spotify, Mixcloud, YouTube Music, and NetEase Cloud Music with the interactive wizard:

cliamp setup

The wizard guides you through each provider. It writes the required block to your config file (~/.config/cliamp/config.toml, or %APPDATA%\cliamp\config.toml on Windows when HOME is unset). It validates supported server connections during setup. It checks optional Mixcloud browser-session or OAuth credentials when you use them. See docs/cli.md for details.

See the Mixcloud provider guide for discovery, account, creator/show, genre search, local genre favorites, authentication, signed-in playback, resume, seeking, and limitations.

Radio

Press R in the player to browse about 58,000 online radio stations in the Radio Browser directory.

Cut that down by location or genre: N browses by country, Browse genres & tags opens the directory's complete tag index, and / filters either list. f pins the countries you listen to, and Enter on a country or tag loads its stations as a playlist. cliamp does not work out where you are unless you pick "Use my location" and accept; it then reads your country from the system timezone, never from a geo-IP service. See docs/radio.md.

Add your own stations to ~/.config/cliamp/radios.toml (or %APPDATA%\cliamp\radios.toml on Windows when HOME is unset). See docs/configuration.md.

To host a radio station, use cliamp-server.

Building from source

Prerequisites:

  • Go 1.25.5 or later
  • ALSA development headers (Linux only, required by the audio backend)

Linux (Debian/Ubuntu):

sudo apt install libasound2-dev libflac-dev libvorbis-dev libogg-dev libmpg123-dev

Linux (Fedora):

sudo dnf install alsa-lib-devel flac-devel libvorbis-devel libogg-devel mpg123-devel

Linux (Arch):

sudo pacman -S alsa-lib flac libvorbis libogg mpg123

macOS: brew install flac libvorbis libogg mpg123 pkg-config

Windows: The core player needs no extra SDKs. It uses pure-Go audio decoding. ffmpeg.exe and yt-dlp.exe remain optional runtime dependencies for the same formats and providers as other platforms.

Spotify support uses go-librespot. It needs CGO and a MinGW toolchain:

  1. Install MSYS2.
  2. Open the MSYS2 MinGW64 terminal, not the standard MSYS2 terminal. Install the toolchain and codec libraries:
    pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config \
      mingw-w64-x86_64-libogg mingw-w64-x86_64-libvorbis \
      mingw-w64-x86_64-flac mingw-w64-x86_64-mpg123
    
  3. In that MinGW64 terminal, build with CGO enabled. This keeps gcc and pkg-config on PATH:
    CGO_ENABLED=1 go build -o cliamp.exe .
    
    Some MSYS2 libogg builds provide libogg-0.dll without ogg_stream_iovecin in its export table. The static libogg.a has this symbol. If linking fails with undefined reference to 'ogg_stream_iovecin', use static linking for this library only:
    CGO_LDFLAGS="-Wl,-Bstatic -logg -Wl,-Bdynamic" CGO_ENABLED=1 go build -o cliamp.exe .
    
  4. cliamp.exe links dynamically to codec and MinGW runtime DLLs. Keep C:\msys64\mingw64\bin on PATH at runtime, or copy each /mingw64/bin/*.dll that ldd cliamp.exe shows next to cliamp.exe.

Clone and build:

git clone https://github.com/bjarneo/cliamp.git
cd cliamp
make && make install

Or without Make: go build -o cliamp .

make install places the binary in ~/.local/bin/.

Optional runtime dependencies:

  • ffmpeg for AAC, ALAC, Opus, and WMA playback
  • yt-dlp for YouTube, SoundCloud, Mixcloud, Bandcamp, Bilibili, and NetEase Cloud Music

Docs

Full documentation is hosted at whiterose.org.contextowl.co/docs/cliamp.

Troubleshooting

No audio output

cliamp reports audio output unavailable when it cannot open an output device. On Linux systems that use PipeWire or PulseAudio, the cliamp ALSA backend needs a bridge package to route audio through the sound server:

  • PipeWire: pipewire-alsa
  • PulseAudio: pulseaudio-alsa (libasound2-plugins on Debian/Ubuntu)

Install the package for your system:

# PipeWire (Arch)
sudo pacman -S pipewire-alsa

# PulseAudio (Arch)
sudo pacman -S pulseaudio-alsa

# Debian/Ubuntu (PipeWire)
sudo apt install pipewire-alsa

# Debian/Ubuntu (PulseAudio, including WSL2)
sudo apt install libasound2-plugins

On WSL2 see WSL2 setup for the extra ALSA routing step.

Author

x.com/iamdothash

Disclaimer

Use this software at your own risk. The authors are not responsible for damage or issues that result from its use.

관련 저장소
iptv-org/iptv

Collection of publicly available IPTV channels from all over the world

TypeScriptnpmawesomeThe Unlicenseiptvm3u
iptv-org.github.io
138.1k8k
imDazui/Tvlist-awesome-m3u-m3u8

直播源相关资源汇总 📺 💯 IPTV、M3U —— 勤洗手、戴口罩,祝愿所有人百毒不侵

awesomem3um3u8
29.9k3.5k
fanmingming/live

✯ 可直连访问的电视/广播图标库与相关工具项目 ✯ 🔕 永久免费 直连访问 完整开源 不断完善的台标 支持IPv4/IPv6双栈访问 🔕

JavaScriptnpmGNU General Public License v3.0radioiptv
live.fanmingming.com
28.4k4.2k
Guovin/iptv-api

⚡️ IPTV直播源自动更新工具:自动采集、校验、测速并生成可播放结果,支持 M3U/TXT/API 输出、自定义频道、IPv4/IPv6、Docker、GitHub Actions、CLI 与 GUI 多端部署

PythonPyPIawesomeOtheriptvtvbox
25.1k7.4k
HerbertHe/iptv-sources

Autoupdate iptv sources

TypeScriptnpmGNU General Public License v3.0iptviptv-channels
m3u.ibert.me
8.9k1.5k
4gray/iptvnator

:tv: Cross-platform IPTV player application with multiple features, such as support of m3u and m3u8 playlists, favorites, TV guide, TV archive/catchup and more.

TypeScriptnpmappMIT Licenseiptvpwa
4gray.github.io/iptvnator/
7k903
ireader/media-server

RTSP/RTP/RTMP/FLV/HLS/MPEG-TS/MPEG-PS/MPEG-DASH/MP4/fMP4/MKV/WebM

ClibraryMIT Licensertprtmp
3.5k1.2k
EvilCult/iptv-m3u-maker

IPTV 国内+国外 电视台直播源m3u文件, 收集&汇总&本地源脚本

HTMLMIT Licenseiptvm3u
evilcult.dev/tags/IPTV-Projects/
2.9k473
mytv-android/mytv-android

Material 3 Expressive 风格的Android/Android TV IPTV播放器,内建Media3,IJKplayer和 VLC。A Material 3 Expressive style Android/Android TV IPTV player with built-in Media3, IJKplayer and VLC.

appMIT Licenseandroidapp
2.6k275
qwerttvv/Beijing-IPTV

最好用的北京联通、北京移动IPTV频道列表。https://bjiptv.gq/

GoGo ModulesCreative Commons Zero v1.0 Universaliptvbeijing
bjiptv.gq
2.3k356
kimwang1978/collect-txt

源 (自动整理)

PythonPyPItvboxlive
iptv365.org
1.9k436
oxyroid/M3UAndroid

a clean, practical, ad-free IPTV app

KotlinappGNU General Public License v3.0androidkotlin
t.me/m3u_android
1.2k156