An universal linux port of deezer, supporting both Flatpak and AppImage

Overview

Deezer for linux

This repo is an UNOFFICIAL linux port of the official windows-only Deezer app. Being based on the windows app, it allows downloading your songs to listen to them offline!

It packages the app in a number of formats:

  • Flatpak
  • Snap (not tested yet)
  • AppImage (can't automatically login without desktop integration)
  • rpm (Fedora, Red Hat, CentOS, openSUSE, ...)
  • deb (Debian, Ubuntu, Pop!_OS, elementary OS, ...)
  • tar.gz/zip/7z to install anywhere else

It was done thanks to the hard work of SibrenVasse, who packaged the app for the AUR.

Please note that it is still in alpha stage, and you will probably need to install some things in order to generate the packages from source (nodejs and npm at least).

Flatpak

The main point of the project is the flatpak image.

You can install it thanks to the flatpakref file.

To build it from source, you can one of the following commands:

# To build it and install it
make install_flatpak

# To just build it, but do nothing with it
make build_flatpak

# To build it and install it in the local repo (which you can import later)
make export_flatpak

And when it is installed, you can run it with flatpak run dev.aunetx.deezer, or from the desktop icon.

AppImage

This project also generates an AppImage file, which can be used as a stand-alone application.

To use it, you must build it from source for the moment: the package size is randomly big, which prevents me from making a public release.

To generate it from source, call:

make build_appimage

And the image should be in the artifacts/x64 folder.

Because of the way AppImage work, excepted if you use appimaged, you will not be able to login from the browser: the you are not redirected to the application. To make it work, you must open a first instance of the app, and copy the link shown in https://www.deezer.com/desktop/login/electron/callback. In a terminal (where the `.AppImage file is), call:

deezer-desktop-*.AppImage deezer://autolog/...

And you should be automatically logged in.

rpm / deb / tar.gz / 7z / zip / snap

To generate the rpm/deb/tar.gz/7z/zip/snap packages, you can call make build_pkgs, everything should be generated in artifacts/x64.

Please note that generating all at once will take a very long time, and it oddly results in big package sizes for the moment.

The tar.gz is not a pacman package by the way, but just an archive containing the executable (like for 7z and zip). I can't get to generate pacman packages for the moment (throws an error, will investigate later).

To only generate rpm or deb, call:

make build_rpm
# or
make build_deb

Wthout package manager

This will be soon supported, but you can install it by hand with one of the generated 7z/zip/tar.gz archive

IMPORTANT NOTICE

This work is UNOFFICIAL, and Deezer does not officially support linux yet.

Installing/using this is consequently outside of the scope of the Deezer EULA, and I am not responsible for your usage of this.

I will try to talk to Deezer to ask them if I can upload this on Flathub, but even if they say yes (which is nearly impossible), this work is still unofficial.

Comments
  • Deezer app is modifying MIME html to be associated with it

    Deezer app is modifying MIME html to be associated with it

    Hello,

    Deezer when it is launched is modifying the file ~/.config/mimeapps.list as follows:

    [Default Applications]
    text/tab-separated-values=rstudio.desktop
    text/plain=rstudio.desktop
    text/html=deezer-desktop.desktop
    x-scheme-handler/http=firefox.desktop
    x-scheme-handler/https=firefox.desktop
    application/xhtml+xml=firefox.desktop
    x-scheme-handler/dzr=deezer-desktop.desktop
    x-scheme-handler/deezer=deezer-desktop.desktop
    

    the culprit is this line text/html=deezer-desktop.desktop. Then any HTML files I open goes into deezer and of course does not display.

    If I manually replaced by text/html=firefox.desktop HTML files are again opened by FF.

    Put if I close deezer and later opened it, the mime text/html is again associated to Deezer.

    Do you know why this is happening?

    Thanks!

    Ubuntu 21.10 with Wayland GNOME 40.4.0 deezer 5.30.170 install via .deb and apt

    bug 
    opened by ginolhac 7
  • Limited to 320Kb/s an cannot favorite albums

    Limited to 320Kb/s an cannot favorite albums

    This seems to be an issue while on Fedora. It worked fine on Ubuntu, but flatpak, appimage, and .rpm files do not fix the issue. Not sure how much of this involves something you can fix. Just thought I'd mention it and thank you for the work.

    opened by picklepopper1 6
  • Outdated version

    Outdated version

    The latest version of the Windows application on the Deezer website is 5.30.330, whereas the latest version here is 5.30.220:

    image

    Though I can't say for certain, it seems that the application being out of date has finally caught up with it, because logging into the desktop application simply doesn't work as of today, whereas logging into the website works just fine:

    https://user-images.githubusercontent.com/40576902/192224268-b02a4728-32f9-449b-807e-f99310d70759.mp4

    opened by elsandosgrande 5
  • Fix #21 app must stay in background by default

    Fix #21 app must stay in background by default

    Hello ! 🙂

    This PR is to fix #21 After closing the app, it is not stayed in background and, obviously, the systray disappeared. I noticed that the quit.patch was not applied like the other patches. With this change, it is finally applied. I think this is caused by the fix-isDev-usage.patch. It is applied in first, shifts the lines and the patch provided by quit.patch is not found.

    So, with this PR, it works fine. But, it's possible that the bug will come back after merging the PR #20 for example... Is there another way to apply patches?

    opened by adynemo 5
  • Can't put the app in favorite

    Can't put the app in favorite

    image The icon in the app bar does not offer "Add to favorites" option, so I can't launch it from there, I have to search for it in all applications. e.g. for a standard file icon: image

    opened by florentdestremau 5
  • Build deb file

    Build deb file

    Running installation commands like described returns an error.

    $ make install_deps
    
    added 17 packages, and audited 18 packages in 3s
    
    1 package is looking for funding
      run `npm fund` for details
    
    found 0 vulnerabilities
    
    added 1 package, and audited 19 packages in 823ms
    
    2 packages are looking for funding
      run `npm fund` for details
    
    found 0 vulnerabilities
    Download installer
    2022-08-03 19:45:22 URL:https://e-cdn-content.dzcdn.net/builds/deezer-desktop/8cF2rAuKxLcU1oMDmCYm8Uiqe19Ql0HTySLssdzLkQ9ZWHuDTp2JBtQOvdrFzWPA/win32/x86/5.30.220/DeezerDesktopSetup_5.30.220.exe [77848448/77848448] -> "source/deezer-setup-5.30.220.exe" [1]
    Extract app archive from installer
    /bin/sh: 1: 7z: not found
    make: *** [Makefile:19: prepare] Error 127
    

    Then when I try to run make build_deb returns an error "Command 'build-deb' not found." I'm on Ubuntu 20.04 LTS.

    opened by samuelv8 4
  • Lot of debug outputs

    Lot of debug outputs

    Hey!

    I am running the Flatpak version and the app is quite verbose with many log lines like 23:24:01.470 (main/debug) › Added response headers for https://e-cdnt-proxy-4.dzcdn.net. This is logged in the ~/.xsession-errors file in my case. Is it possible to disable debug logs?

    opened by vincentbernat 4
  • Flatpak xdg-open not working

    Flatpak xdg-open not working

    Hello,

    I'm using Deepin Linux 20.6 and installed Deezer from Flatpak, but I can't login at app.

    When I click at login, it opens my browser at Deezer login page but after I successfully provides my credentials the xdg-open action seems to do nothing.

    I had to run it through terminal using the following command for it to login successfully (similar to AppImage):

    flatpak run dev.aunetx.deezer deezer://autolog/...
    
    opened by eduardomozart 3
  • Option to disable systray?

    Option to disable systray?

    As a suggestion, I would find it very nice to have the option to disable minimize-to-systray or even better to disable the systray functionality completely. Especially on GNOME, where there is no systray by default, it is annoying to have deezer running in the background. Or is there maybe some workaround to disable it?

    In any case: Thank you for your work on this! :)

    enhancement 
    opened by pschloenzke 3
  • After closing the main window, Deezer does not stay in the tray

    After closing the main window, Deezer does not stay in the tray

    After installing v5.30.220-1, the main window when closed quits the whole app (it does not stay in the tray). The tray icon is present and works if the app is open. In v5.30.210-1 after closing the main window Deezer stayed in the tray and played music.

    I didn't find a way how to change the behavior back as it was in v5.30.210-1 in settings or by a command line parameter.

    Workaround: revert to v5.30.210-1.

    Operating System: Kubuntu 21.10 KDE Plasma Version: 5.24.4 KDE Frameworks Version: 5.92.0 Qt Version: 5.15.2 Kernel Version: 5.17.0-5.1-liquorix-amd64 (64-bit) Graphics Platform: X11

    opened by gree7 2
  • "Flow: play how you feel" not working

    Deezer has a new feature "Flow: play how you feel": image which is not working. The icons are shown as generic albums and the play button does nothing: image

    opened by gree7 2
  • Deezer Cache Location?

    Deezer Cache Location?

    Hello! Thanks so much for creating this project. Without it, I don't think I could have switched to Deezer from Spotify.

    I've been having trouble with the "Flow" playlist. Sometimes it plays the same songs repeatedly. Some times it doesn't work at all. Deezer forums and support have indicated this might be a cache issue, but when using the Flatpak Deezer, I can't locate the cache at all. Visiting Profile -> Account Settings -> More -> App Preferences, it indicates that Deezer is not using any cache:

    image

    I'm not sure if there isn't a cache, or if the Flatpak just can't see it. Either way, that seems like it could be causing my potential problems. Where on the disk is the cache supposed to be stored?

    opened by quicksketch 2
  • Loosing ability to play or skip next track after a short while.

    Loosing ability to play or skip next track after a short while.

    I am finding that after a few tracks in a playlist or album the app will stop playing any further tracks or allow me to skip forward (or back). I can still play the same song again. This in particular happens after the application is left in the background (window closed), but also happens with the window open too. If I click on a different track to play, the name gets updated in the bottom bar, but still only allows the previous song the app is stuck on to play. Happens with both the latest (v5.30.220-2) flatpak and deb, I am using Mint 20.03, fully updated. Issue is repeatable on a clean install of the same version of Mint on a separate machine. Let me know if you need further info :)

    opened by NGRhodes 0
  • Media Keys not working (Ubuntu, .deb file)

    Media Keys not working (Ubuntu, .deb file)

    Hey !

    Just started using this app today, you're a godsend for building it ! The fact that Deezer still doesn't have official Linux support is really sad...

    App is working really well, didn't try the offline features yet, but I can already tell you that media keys (Razer Blackwidow Elite) do not work (they work when using Deezer in the browser), neither do the controls from the app tray. Although the controls in the notification center do (I'm using them for the moment to play/pause and switch tracks)

    I'm using the latest release installed from a .deb file (deezer-desktop_5.30.220_amd64.deb) on Ubuntu 20.04.4.

    Let me know if you need anything to debug :)

    opened by 3rgo 2
  • Album in track metadata is empty

    Album in track metadata is empty

    I try to get metadata with playerctl, there is song title and artist, but album stays empty.

    playerctl metadata
    chromium xesam:album               
    chromium xesam:artist              Some Artist
    chromium xesam:title               Some Title
    

    As I have seen it is processed here in renderer.js:

                      track = {
                        title:
                          song.SNG_TITLE ||
                          song.LIVESTREAM_TITLE ||
                          song.EPISODE_TITLE ||
                          "",
                        artist:
                          song.ART_NAME ||
                          song.LIVESTREAM_TITLE ||
                          song.SHOW_NAME ||
                          "",
                        album: song.ALB_TITLE,
                        coverUrl: defaultCover,
                      },
    

    Any idea how to solve? Note that I have compiled from source, but I don't have experience in js or node.

    bug 
    opened by joerg65 4
  • New features for Systray Icons

    New features for Systray Icons

    In the flatpak.ref the Systray Icon is only shown after suspend. Additionally it would be nice to give the systray a deezer logo. And lastly it would be nice to have options inside the app to change settings on systray-behaviour (if that is possible from your side?)

    opened by muffinmaster1024 1
Releases(v5.30.350-1)
Owner
Aurélien Hamy
A fish swimming in acid.
Aurélien Hamy
Transform a Google Drive server into a VFX pipeline ready server

Google Drive VFX Server VFX Pipeline About The Project Quick tutorial to setup a Google Drive Server for multiple machines access, and VFX Pipeline on

Valentin Beaumont 17 Jun 27, 2022
Just a simple python script to generate graphs of salt state requisites.

saltstatevis Just a simple python script to generate graphs of salt state requisites. Installation Requirements You will need to install graphviz to r

Dwayn Matthies 3 May 04, 2022
🍕 A small app with capabilities ordering food and listing them with pub/sub pattern

food-ordering A small app with capabilities ordering food and listing them. Prerequisites Docker Run Tests docker-compose run --rm web ./manage.py tes

Muhammet Mücahit 1 Jan 14, 2022
An interactive tool with which to explore the possible imaging performance of candidate ngEHT architectures.

ngEHTexplorer An interactive tool with which to explore the possible imaging performance of candidate ngEHT architectures. Welcome! ngEHTexplorer is a

Avery Broderick 7 Jan 28, 2022
Python Osmium Examples

Python Osmium Examples This is a set (currently of size 1) of examples showing practical usage of PyOsmium, a thin wrapper around the osmium library.

Martijn van Exel 1 Jan 26, 2022
Visualization of COVID-19 Omicron wave data in Seoul, Osaka, Tokyo, Hong Kong and Shanghai. 首尔、大阪、东京、香港、上海由新冠病毒 Omicron 变异株引起的本轮疫情数据可视化分析。

COVID-19 in East Asian Megacities This repository holds original Python code for processing and visualization COVID-19 data in East Asian megacities a

STONE 10 May 18, 2022
CountdownTimer - Countdown Timer For Python

Countdown Timer This python script asks for the user time (input) in seconds, an

Arinzechukwu Okoye 1 Jan 01, 2022
Nateve transpiler developed with python.

Adam Adam is a Nateve Programming Language transpiler developed using Python. Nateve Nateve is a new general domain programming language open source i

Nateve 7 Jan 15, 2022
A python package template that can be adapted for RAP projects

Warning - this repository is a snapshot of a repository internal to NHS Digital. This means that links to videos and some URLs may not work. Repositor

NHS Digital 3 Nov 08, 2022
Transform your boring distro into a hacking powerhouse.

Pentizer Transform your boring distro into a hacking powerhouse. Pentizer is a personal project that imports Kali and Parrot repositories in any Debia

Michail Tsimpliarakis 2 Nov 05, 2021
Sequence clustering and database creation using mmseqs, from local fasta files

Sequence clustering and database creation using mmseqs, from local fasta files

Ana Julia Velez Rueda 3 Oct 27, 2022
Ellipitical Curve Table Generator

Ellipitical-Curve-Table-Generator This script generates a table of elliptical po

Nishaant Goswamy 1 Jan 02, 2022
Prometheus exporter for Spigot accounts

SpigotExporter Prometheus exporter for Spigot accounts What it provides SpigotExporter will output metrics for each of your plugins and a cumulative d

Jacob Bashista 5 Dec 20, 2021
A supercharged version of paperless: scan, index and archive all your physical documents

Paperless-ng Paperless (click me) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily sear

Jonas Winkler 5.3k Jan 09, 2023
[arXiv 2020] Video Representation Learning with Visual Tempo Consistency

Video Representation Learning with Visual Tempo Consistency [Paper] [Project Page] News Full codebae is coming soon Pretained Models For now, we provi

DeciForce: Crossroads of Machine Perception and Autonomy 24 Nov 23, 2022
These are my solutions to Advent of Code problems.

Advent of Code These are my solutions to Advent of Code problems. If you want to join my leaderboard, the code is 540750-9589f56d. When I solve for sp

Sumner Evans 5 Dec 19, 2022
A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

New World Damage Simulator A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash d

Joseph P Langford 31 Nov 01, 2022
A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

Mengting Song 1 Jan 10, 2022
FBChecker Account using python , package requests and web old facebook

fbcek FBChecker Account using python , package requests and web old facebook using python 3.x apt upgrade -y apt update -y pkg install bash -y pkg ins

XnuxersXploitXen 5 Dec 24, 2022
Python plugin for Krita that assists with making python plugins for Krita

Krita-PythonPluginDeveloperTools Python plugin for Krita that assists with making python plugins for Krita Introducing Python Plugin developer Tools!

18 Dec 01, 2022