Search & download music from a certain streaming service

Related tags

Downloaderdeezl
Overview

deezl

Video

⚠️ WARNING: THIS PROJECT IS NOT ACTIVELY MAINTAINED AND IS PROVIDED AS-IS

  • Search music - tracks, albums, playlists

  • Download FLAC/MP3 music files (depending on your account plan)

    • Download tracks, albums, playlists
    • Downloaded files are fully tagged (+embedded cover art)
    • Multiple downloads can be queued
  • Preview tracks before downloading

  • Responsive UI - designed for desktop & mobile

Installation/Usage

⚠️ WARNING: Use with caution if your data transfer/bandwidth is limited

You need:

  • A Deezer account (need HiFi for FLACs)
  • A Deezer client ID, client secret
  • The track decryption key. This is not included for legal reasons

Dockerfiles are provided for development & production. If you wish to run this without Docker, take a look inside either Dockerfile for usage & dependencies.

Running in production

  • PUBLIC_BASE (default /) - base URL/path the server is publicly served on
DOCKER_BUILDKIT=1 docker build -f Dockerfile . -t deezl \
	--build-arg PUBLIC_BASE=/

docker run --rm -it --name deezl -p 1313:80 \
	-e DEEZL_TRACK_DECRYPTION_SECRET=<...> \
	-e DEEZL_CLIENT_ID=<...> \
	-e DEEZL_CLIENT_SECRET=<...> \
	-e DEEZL_EMAIL=<...> \
	-e DEEZL_PASSWORD_MD5=<...> \
	deezl

Running in development

Both frontend & backend will auto-reload/restart when modified.

  • PUBLIC_PORT - port the server is publicly served on
  • PUBLIC_BASE (default /) - base URL/path the server is publicly served on
DOCKER_BUILDKIT=1 docker build -f dev.Dockerfile . -t deezl-dev

(cd web/; npm i)

docker run --rm -it --name deezl-dev -p 1313:80 \
	-v $(pwd):/app:rw \
	-e PUBLIC_PORT=1313 \
	-e PUBLIC_BASE=/ \
	-e DEEZL_TRACK_DECRYPTION_SECRET=<...> \
	-e DEEZL_CLIENT_ID=<...> \
	-e DEEZL_CLIENT_SECRET=<...> \
	-e DEEZL_EMAIL=<...> \
	-e DEEZL_PASSWORD_MD5=<...> \
	deezl-dev

Technical Overview

Frontend

Built with Vite, Vue 3 and UnoCSS.

Track files are downloaded as blobs, then saved using FileSaver. For albums/playlists, tracks are first downloaded, then zipped in the browser using fflate. Zip files are downloaded in multiple parts if too big.

Backend

The API server uses FastAPI.

Endpoints (summarized):

  • Search, track/album/playlist info - these call Deezer APIs, parse the responses and return the parsed data. Adding ?full=1 will make responses also include the unparsed Deezer responses, useful sometimes
  • Download a single track - downloads an encrypted track file → decrypts it → tags it, then returns it

Deezer client

deezer.py is a minimal standalone Deezer client (gateway, public API, track url fetching, track decryption). It is a bit low-level but provides access to all relevant APIs.

A more high-level (and rate limiting) client is implemented on top of it in api.py. It is used by the API server.

A Quick demo of how to use the youtube_dl module in python.

youtube_dl python module demo A Quick demo of how to use the youtube_dl module in python. Whole documentation for the youtube_dl Installation git

7 Aug 27, 2021
Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio.

YouTube-Downloader Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio. G

Manav Grover 2 Dec 27, 2021
Heroic-gogdl - GOG Downloading module for Heroic Games Launcher

heroic-gogdl GOG download module for Heroic Games Launcher Purpose This will tak

Paweł Lidwin 36 Dec 23, 2022
Download any video from YouTube playlists

youtube-dl Download any videos from YouTube playlists. Requirements Python 3 BeautifulSoup4 PyQt PyQtWebEngine pytube pyyoutube python-decouple Usage

Antonio Fortin 1 Oct 26, 2021
A tool to download program information from Bugcrowd, for use by researchers to compare programs they are eligible to participate in

Description bcstats is a tool which allows Bugcrowd researchers to download information about all accessible programs (public and private) into a sing

19 Oct 13, 2022
A growing collection of search plugins for the qBittorrent, an awesome and opensource torrent client

qBittorrent Search Plugins This is a still growing collection of search plugins for qBittorent, an amazing and open source torrent client, maintained

Alessio Tudisco 59 Dec 26, 2022
The PornHub Downloader is a powerfull script used to download and manage both videos and pictures

The PornHub Downloader is a powerfull script used to download and manage both videos and pictures

16 Aug 31, 2022
Desktop utility to download images/videos/music/text from various websites, and more

Desktop utility to download images/videos/music/text from various websites, and more

Kurt Bestor 11.2k Jan 08, 2023
Aline file downloader automator!

AlineDorker Aline is used for donwloading files with google dorking , dowloading specified links such as dorks. Dependences: python3 installed pip ins

27 Nov 16, 2022
This is a tool to allow downloading any links from r/Roms Magethread

ILYFPR This is a tool to allow downloading any links from r/Roms Magethread Limitations: It downloads ALL roms of the system you choose. This will be

Erase 4 Nov 04, 2021
SABnzbd - The automated Usenet download tool

SABnzbd is an Open Source Binary Newsreader written in Python.

SABnzbd 1.8k Dec 30, 2022
YouTube-Video-Downloader - Download Youtube Videos for free.

YouTube-Video-Downloader Download Youtube Videos for free. Installing Dependencies:- Windows pip install pytube Mac/Linux pip3 install pytube Clonin

Xception Inc. 1 Jan 01, 2022
Download YouTube videos that are available in the given playlist

Youtube-Playlist-Downloader Download YouTube videos that are available in the given playlist Project assets: music downloaded music folder. (will be g

Sultan Aljaberi 1 Dec 22, 2021
GTK4 + Python tutorial with code examples

Taiko's GTK4 Python tutorial Wanna make apps for Linux but not sure how to start with GTK? This guide will hopefully help! The intent is to show you h

190 Jan 08, 2023
Download and save Bing wallpapers and set as background for GNOME desktop

Save Bing wallpapers and set as background for GNOME desktop This script downloads the Bing wallpaper and sets it in the background of your gnome desk

manikamran 2 Nov 06, 2021
Will load an SRC page, logged in with Firefox's cookies imported, and delete all comments from every run

SRCCommentsAutoDeleter Will load an SRC page, logged in with a support browser's cookies, and delete all comments from every run Config is all done in

3 Oct 29, 2021
ImageScraper is a cross-platform tool for downloading a specified count from xkcd, Astronomy Picture of the Day and Existential Comics

ImageScraper The ImageScraper is a cross-platform tool for downloading a specified count from xkcd, Astronomy Picture of the Day and Existential Comic

1amnobody 1 Jan 25, 2022
Organize your downloads easily with DownloadOrganizer

DownloadOrganizer Organize your downloads organize your downloads easily with DownloadOrganizer Instilation how to install DownloadOrganizer Method 1:

1 Dec 02, 2021
Neon: an add-on for making it easier to handle component interactions

Neon Neon is an add-on for Lightbulb making it easier to handle component interactions. Installation pip install git+https://github.com/neonjonn/light

Neon Jonn 9 Apr 29, 2022
A collection of modules I have created to programmatically search for/download imagery from live cam feeds across the state of California.

A collection of modules that I have created to programmatically search for/download imagery from all publicly available live cam feeds across the state of California. In no way am I affiliated with a

Chad Groom 5 Nov 21, 2022