/dzr

Accountless deezer.com Player (CLI & VSCode)

Primary LanguageJavaScriptThe UnlicenseUnlicense

dzr logo

DZR: the command line deezer.com player

Features

  • Cross-platform support: Linux, *BSD, MacOS, Android, Windows+WSL
  • Little dependencies: curl, jq, dialog, openssl (openssl-tool in Android)
  • Real-time Lyrics display
  • Web interface support (see dzr-tagged frontend)
  • ID3v2 tag injector from Deezer metadata (cover, artist, ...)
  • Play without storing/caching on your machine for legal reasons
  • No private deezer key in the source (auto-extracted from web player, also for legal reasons)
  • VSCode extension VSIX experimental port

Preview (CLI)

asciicast

Preview (VSIX)

Screenshot

Install

Platform command version
MacOS + brew brew install dzr
Arch Linux + AUR yay -S dzr
Gentoo + GURU emerge --ask dzr
Ubuntu + Snap snap install --edge dzr Help Me
Linux + Flatpak flatpak install dzr Help Me
Nix + Flake nix run github.com/yne/dzr Help Me
Android + Termux curl -sL github.com/yne/dzr/archive/master.tar.gz | tar xzf -
mv dzr-master/dzr* $PREFIX/bin
VSCode code --install-extension ./path/to/dzr-*.vsix

Usage

# browse api.deezer.com
dzr

# browse a specific api.deezer.com url
dzr /artist/860

# play a specific track
dzr /track/1043317462

# use a custom PLAYER (mpg123 v1.31+ is a lightweight alternative)
PLAYER="mpg123 -" dzr

# inject deezer ID3v2 into MP3 (require eyeD3) and rename it as $ARTIST - $TITLE.mp3
dzr-id3 https://deezer.com/track/1043317462 tagme.mp3

# show track lyrics as srt
dzr-srt https://deezer.com/track/14408104

# play track with it lyrics
PLAYER='dzr-srt $id > .srt ; mpv --sub-file=.srt -' dzr /track/14408104

# play track with it srt (using non-POSIX compliant process substitution)
PLAYER='mpv --sub-file=<(dzr-srt $id) -' dzr /track/14408104

# install dzr into ./cgi-bin/. Then serve it
mkdir -p ./cgi-bin/ && install dzr* ./cgi-bin/
python3 -m http.server --cgi
open http://127.0.0.1:8000/cgi-bin/dzr?6113114