Skip to content

yne/dzr

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
dzr
 
 
 
 
 
 
 
 
 
 
 
 

dzr logo

DZR: the command line deezer.com player ci

⚠️ For legal reasons this project

  • does not contain any track decryption key
  • does not cache any tracks on your machine

Preview

asciicast

Dependencies

  • mpv for playback (because of PLAYER="mpv -" default env variable)
  • curl for HTTP query
  • jq for API parsing
  • dialog for TUI
  • openssl (or openssl-tool in Android) for track decryption

Compatibility

  • Linux and {Free,Open}BSD
  • Android (using Termux from F-droid)
  • Window 10 (running dzr as CGI server from WSL and browsing http://127.0.0.1:8000 from Windows)

Install

From the AUR (Arch Linux)

yay -S dzr

From GURU (Gentoo)

emerge --ask dzr

From sources

Save source into a dzr-master folder, then copy into /usr/local/bin :

curl -sL github.com/yne/dzr/archive/master.tar.gz | tar xzf -
sudo mv dzr-master/dzr* /usr/local/bin

Usage Examples

dzr             # welcome screen
dzr /artist/860 # browse deezer.com/en/artist/860

Automatic ID3v2 Tagging

Use dzr-id3 to rename (as $ARTIST - $TITLE.mp3) and tag a given MP3 using it deezer track id

# the following examples are all equivalent
dzr-id3 1043317462 daylight.mp3
dzr-id3 /track/1043317462 daylight.mp3
dzr-id3 https://deezer.com/en/track/1043317462 daylight.mp3

Real time Lyrics

Use dzr-srt to extract lyrics of the current track and pass it to mpv as --sub-file :

PLAYER='mpv --sub-file=<(dzr-srt $id) -' dzr /track/14408104

HTTP/Web interface

In addition to it command line interface, dzr also support being invoked from a cgi server :

mkdir -p cgi-bin
cp dzr* ./cgi-bin/
python3 -m http.server --cgi

You shall then be able to play any track over HTTP (ex: http://127.0.0.1:8000/cgi-bin/dzr?6113114 )

A basic web interface is also available on http://127.0.0.1:8000

Feel free to create your own frontend an publish it as a new repository (not as a dzr fork) with the dzr tag.