Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yne/dzr
Accountless deezer.com Player (CLI & VSCode)
https://github.com/yne/dzr
android cli deezer homebrew linux lyrics macos mpg123 mpv player termux vscode-extension windows
Last synced: 3 days ago
JSON representation
Accountless deezer.com Player (CLI & VSCode)
- Host: GitHub
- URL: https://github.com/yne/dzr
- Owner: yne
- License: unlicense
- Created: 2019-10-15T14:26:08.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-09T22:30:42.000Z (3 months ago)
- Last Synced: 2024-10-30T02:36:36.393Z (about 1 month ago)
- Topics: android, cli, deezer, homebrew, linux, lyrics, macos, mpg123, mpv, player, termux, vscode-extension, windows
- Language: JavaScript
- Homepage:
- Size: 95.7 KB
- Stars: 199
- Watchers: 9
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps - dzr - deezer.com player. (Entertainment / Music)
- awesome-linux-minimalism - dzr - Command line Deezer player for Linux (Uncategorized / Uncategorized)
- fucking-awesome-cli-apps - dzr - deezer.com player. (Entertainment / Music)
README
![dzr logo](.github/.logo.svg)
# 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](https://github.com/topics/dzr)-tagged frontend)
- ID3v2 tag injector from Deezer metadata (cover, artist, ...)
- Play without storing/caching on your machine for [legal reasons](https://github.com/github/dmca/blob/master/2021/02/2021-02-10-deezer.md)
- No private deezer key in the source (auto-extracted from web player, also for legal reasons)
- VSCode extension [VSIX](https://github.com/yne/dzr/releases) experimental port## Preview (CLI)
[![asciicast](https://asciinema.org/a/406758.svg)](https://asciinema.org/a/406758)
## Preview (VSIX)
![Screenshot](https://github.com/yne/dzr/assets/5113053/37b6cd26-8876-4d77-92bb-293ff248e21d)
## Install
| Platform | command | version |
|----------|---------|---------|
| MacOS + [brew](https://formulae.brew.sh/formula/dzr) | `brew install dzr` | ![](https://repology.org/badge/version-for-repo/homebrew/dzr.svg?header=)
| Arch Linux + [AUR](https://aur.archlinux.org/packages/dzr) | `yay -S dzr` | ![](https://repology.org/badge/version-for-repo/aur/dzr.svg?header=)
| Gentoo + [GURU](https://github.com/gentoo/guru) | `emerge --ask dzr` | ![](https://repology.org/badge/version-for-repo/gentoo_ovl_guru/dzr.svg?header=)
| Ubuntu + [Snap](https://snapcraft.io/dzr) | `snap install --edge dzr` | [Help Me](https://github.com/yne/dzr/issues/25)
| Linux + [Flatpak](https://www.flatpak.org/) | `flatpak install dzr` | [Help Me](https://github.com/yne/dzr/issues/25)
| Nix + [Flake](https://nixos.wiki/wiki/flakes) | `nix run github.com/yne/dzr` | [Help Me](https://github.com/yne/dzr/issues/25)
| Android + [Termux](https://f-droid.org/packages/com.termux/) | `curl -sL github.com/yne/dzr/archive/master.tar.gz \| tar xzf -`
`mv dzr-master/dzr* $PREFIX/bin` | [![](https://img.shields.io/badge/-tar.gz-40c010?logo=hackthebox)](https://github.com/yne/dzr/archive/master.tar.gz)
| VSCode | `code --install-extension ./path/to/dzr-*.vsix` | [![](https://img.shields.io/badge/VSIX-4c1?logo=visualstudiocode)](https://github.com/yne/dzr/releases)## Usage
```sh
# 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
```