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
PyWorkflow(PyWF) - A Python Binding of C++ Workflow

PyWorkflow(PyWF) - A Python Binding of C++ Workflow 概览 C++ Workflow是一个高性能的异步引擎,本项目着力于实现一个Python版的Workflow,让Python用户也能享受Workflow带来的绝佳体验。

Sogou-inc 108 Dec 01, 2022
Application launcher and environment management

Application launcher and environment management for 21st century games and digital post-production, built with bleeding-rez and Qt.py News Date Releas

10 Nov 03, 2022
IPython: Productive Interactive Computing

IPython: Productive Interactive Computing Overview Welcome to IPython. Our full documentation is available on ipython.readthedocs.io and contains info

IPython 15.6k Dec 31, 2022
Exactly what it sounds like, which is something rad

EyeWitnessTheFitness External recon got ya down? That scan prevention system preventing you from enumerating web pages? Well look no further, I have t

Ellis Springe 18 Dec 31, 2022
The Playwright Workshop for TAU: The Homecoming

tau-playwright-workshop This repository contains the instructions and example code for the Playwright workshop for TAU: The Homecoming on December 1,

Pandy Knight 134 Dec 30, 2022
Python interface to IEX and IEX cloud APIs

Python interface to IEX Cloud Referral Please subscribe to IEX Cloud using this referral code. Getting Started Install Install from pip pip install py

IEX Cloud 41 Dec 21, 2022
This repository provides a set of easy to understand and tested Python samples for using Acronis Cyber Platform API.

Base Acronis Cyber Platform API operations with Python !!! info Copyright © 2019-2021 Acronis International GmbH. This is distributed under MIT licens

Acronis International GmbH 3 Aug 11, 2022
Projects using the Tkinter module in Python!

Tkinter projects This repository includes some Tkinter projects made by me. All of these are simple to understand. I create apps with good functionali

Amey 0 Sep 24, 2021
A curated collection of Amazing Python scripts from Basics to Advance with automation task scripts

📑 Introduction A curated collection of Amazing Python scripts from Basics to Advance with automation task scripts. This is your Personal space to fin

Amitesh kumar mishra 1 Jan 22, 2022
The earliest beta version of pytgcalls on Linux x86_64 and ARM64! Use in production at your own risk!

Public beta test. Use in production at your own risk! tgcalls - a python binding for tgcalls (c++ lib by Telegram); pytgcalls - library connecting pyt

Il'ya 21 Jan 13, 2022
A web project to control the daily life budget planing

Budget Planning - API In this repo there's only the API and Back-End of the this project. Install and run the project # install virtualenv --python=py

Leonardo Da Vinci 1 Oct 24, 2021
Whole-day timezone comparison

Timezone Converter Compare a full day of your local timezone with foreign ones $ timezone-converter tijuana --zone $ timezone-converter tijuana new_yo

Iago Alonso 12 Nov 24, 2022
LAPS module for CrackMapExec

Crackmapexec-LAPS LAPS module for CrackMapExec Make sure to point to the DC Specify the full domain name Be careful the rid 500 might not be "Administ

28 Oct 05, 2022
A Python script to parse Fortinet products serial numbers, and detect the associated model and version.

ParseFortinetSerialNumber A Python script to parse Fortinet products serial numbers, and detect the associated model and version. Example $ ./ParseFor

Podalirius 10 Oct 28, 2022
A Way to Use Python, Easier.

PyTools A Way to Use Python, Easier. How to Install Just copy this code, then make a new file in your project directory called PyTools.py, then paste

Kamran 2 Aug 15, 2022
Python binding to rust zw-fast-quantile

zw_fast_quantile_py zw-fast-quantile python binding Installation pip install zw_fast_quantile_py Usage import zw_fast_quantile_py

Paul Meng 1 Dec 30, 2021
Assembly example for CadQuery

Spindle and vacuum attachment This is a model of the vacuum attachment for my Workbee CNC router. There is a mist spray coming from the left hand side

Marcus Boyd 20 Sep 16, 2022
For radiometrically calibrating and PSF deconvolving IRIS data

irispreppy For radiometrically calibrating and PSF deconvolving IRIS data. I dislike how I need to own proprietary software (IDL) just to simply prepa

Aaron W. Peat 4 Nov 01, 2022
本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片。

Where is top 250 movie ? 本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片,点击 Badge 可跳转至相应的电影首页。

MayanDev 123 Dec 22, 2022
Tracking stock volatility.

SP500-highlow-tracking Track stock volatility. Being a useful indicator of the stock price volatility, High-Low gap represents the price range of the

Thong Huynh 13 Sep 07, 2022