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
Fastest python library for making asynchronous group requests.

FGrequests: Fastest Asynchronous Group Requests Installation Install using pip: pip install fgrequests Documentation Pretty easy to use. import fgrequ

Farid Chowdhury 14 Nov 22, 2022
DownTime-Score is a Small project aimed to Monitor the performance and the availabillity of a variety of the Vital and Critical Moroccan Web Portals

DownTime-Score DownTime-Score is a Small project aimed to Monitor the performance and the availabillity of a variety of the Vital and Critical Morocca

adnane-tebbaa 5 Apr 30, 2022
Daily knowledge pills to get better in Python.

Python daily pills Daily knowledge pills to get better Python code. Why Does your Python code suffers of any of this symptoms? Incorrect Indentation I

Jeferson Vaz dos Santos 35 Sep 19, 2022
A Notifier Program that Notifies you to relax your eyes Every 15 MinutesđŸ‘€

Every 15 Minutes is an application that is used to Notify you to Relax your eyes Every 15 Minutes, This is fully made with Python and also with the us

Ashely Sato 1 Nov 02, 2021
Automatically find solutions when your Python code encounters an issue.

What The Python?! Helping you find answers to the errors Python spits out. Installation You can find the source code on GitHub at: https://github.com/

What The Python?! 139 Dec 14, 2022
Python code for YouTube videos.

#This is a open source project. Python 3 These files are mainly intended to accompany my series of YouTube tutorial videos here, https://www.youtube.c

Joe James 1.3k Dec 26, 2022
A fast python implementation of DTU MVS 2014 evaluation

DTUeval-python A python implementation of DTU MVS 2014 evaluation. It only takes 1min for each mesh evaluation. And the gap between the two implementa

82 Dec 27, 2022
OntoSeer is a tool to help users build better quality ontologies

Ontoseer This document provides documentation for the first version of OntoSeer.OntoSeer is a tool that monitors the ontology development process andp

Knowledgeable Computing and Reasoning Lab 9 Aug 15, 2022
Educational Repo. Used whilst learning Flask.

flask_python Educational Repo. Used whilst learning Flask. The below instructions will be required whilst establishing as new project. Install Flask (

Jordan 2 Oct 15, 2021
Labspy06 With Python

Labspy06 Profil Nama : Nafal mumtaz fuadi Nim : 312110457 Kelas : T1.21.A.2 Latihan 1 Ubahlah kode dibawah ini menjadi fungsi menggunakan lambda impor

Mas Nafal 1 Dec 12, 2021
This an Anki add on that automatically converts Notion notes into Anki flash cards. Currently in development!

NotionFlash This is an Anki add on in development that will allow automatically convert your Notion study notes into Anki flash cards. The Anki deck c

Neeraj Patel 10 Oct 07, 2022
Simple package to make requests throughout Tor with circuit renewal.

AutoTor Table of Contents About the Project Contents Dependencies Getting Started Installation Coding Contributing About the Project Simple package to

Salvador Belenguer 6 Jan 01, 2023
Basic Clojure REPL for Sublime Text

Basic Clojure REPL for Sublime Text Goals: Decomplected: just REPL, nothing more Zero dependencies: works directly with pREPL Compact: Display code ev

Nikita Prokopov 23 Dec 24, 2021
Vehicle Identification Speed Detection (VISD) extracts vehicle information like License Plate number, Manufacturer and colour from a video and provides this data in the form of a CSV file

Vehicle Identification Speed Detection (VISD) extracts vehicle information like License Plate number, Manufacturer and colour from a video and provides this data in the form of a CSV file. VISD can a

6 Feb 22, 2022
Korg Volca Sample uploader for linux.

GnuVolca Korg Volca Sample uploader for linux. GnuVolca Usage Installation Via virtualenv Usage Store all the samples you want to upload on an empty d

Gonzalo Rafuls 12 Oct 11, 2022
IST-Website - IST Tutoring Portal for python

IST Tutoring Portal This portal is a web based interface to handle student help

Jean 3 Jan 03, 2022
Implements a polyglot REPL which supports multiple languages and shared meta-object protocol scope between REPLs.

MetaCall Polyglot REPL Description This repository implements a Polyglot REPL which shares the state of the meta-object protocol between the REPLs. Us

MetaCall 10 Dec 28, 2022
Deis v1, the CoreOS and Docker PaaS: Your PaaS. Your Rules.

This repository (deis/deis) is no longer developed or maintained. The Deis v1 PaaS based on CoreOS Container Linux and Fleet has been replaced by Deis

Deis 6.1k Jan 04, 2023
PyMedPhys is an open-source Medical Physics python library

PyMedPhys is an open-source Medical Physics python library built by an open community that values and prioritises code sharing, review, improvement, and learning from each other. I

PyMedPhys 238 Dec 27, 2022
An AI-powered device to stop people from stealing my packages.

Package Theft Prevention Device An AI-powered device to stop people from stealing my packages. Installation To install on a raspberry pi, clone the re

rydercalmdown 157 Nov 24, 2022