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.

Code for "Temporal Difference Learning for Model Predictive Control"

Temporal Difference Learning for Model Predictive Control Original PyTorch implementation of TD-MPC from Temporal Difference Learning for Model Predic

Nicklas Hansen 156 Jan 03, 2023
Downloads data from OSM API and uploads it to the mapping sandbox.

OpenStreetMap To Sandbox This is a script to download data from OSM API and upload it to the mapping sandbox. Note that it clears all data in the sand

Ilya Zverev 5 Nov 27, 2022
S3 file download with Python and access with VBA

S3 file download with Python and access with VBA This simple project is using the following stacks: Python AWS S3 VBA/Excel A Bitcoin API With this st

Julio Cesar Scheidt 0 Dec 07, 2021
Downloads and Updates GOG Galaxy 2.0 Plugins/Integrations

GOG Galaxy Plugins Downloader Summary This program downloads GOG Galaxy 2.0 Plugins and installs them to the proper location. You probably do not want

slashbunny 253 Dec 12, 2022
Using Youtube downloader is the fast and easy way to download and save any YouTube video.

Youtube video downloader using Django Using Django as a backend along with pytube module to create Youtbue Video Downloader. https://yt-videos-downloa

Suman Raj Khanal 10 Jun 18, 2022
Mobile based API for Crunchyroll BETA (and Downloader).

Mobile based API for Crunchyroll BETA (and Downloader). Not restricted on servers and NO CLOUDFLARE

27 Dec 11, 2022
Can automatically download mods from a Curseforge modpack

Curseforge-Modpack-Downloader A Python script which automatically downloads mods from a Curseforge modpack. Installing Dependencies ⚠ Make sure you ha

Rayr 1 Sep 20, 2022
An automatic beatmapset downloader via txt file, suitable for tourney mappools.

Pooler Pooler is a bulk osu! mapset downloader, perfect for use with osu! Tournament Mappools. Prerequisites Python 3.10 Requests (pip install request

Thomas 0 Feb 11, 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
AkShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库

Overview AkShare requires Python(64 bit) 3.7 or greater, aims to make fetch financial data as convenient as possible. Write less, get more! Documentat

Albert King 5.8k Jan 03, 2023
Python module to download all media from a GoFile gallery.

GoFile Downloader Setup First of all, clone this repository : ~$ git clone https://github.com/quatrecentquatre-404/gofile-downloader Second, oh wait..

Quatrecentquatre 61 Jan 01, 2023
Fully automated download and parsing for Texas A&M University's Registrar's grade distribution PDFs for years 2014+.

Fully automated download and parsing for Texas A&M University's Registrar's grade distribution PDFs for years 2014+. Adds the parsing results to a mySQL database.

TAMU Grade Distribution 1 Sep 28, 2022
Download Thumbnail of YouTube Videos

Download Thumbnail of YouTube Videos in High Quality Variables: API_ID : Get From my.telegram.org API_HASH : Get from my.telegram.org BOT_TOKEN : Your

Arun 6 Jun 08, 2022
Itchio Downloader Tool with python

Itchio Downloader Tool Install pip install git+https://github.com/emersont1/itchio Download All Games in library from account python -m itchio.downloa

Peter Taylor 69 Dec 05, 2022
Youtube Downloader is a Graphic User Interface(GUI) that lets users download a Youtube Video or Audio through a URL

Youtube Downloader This Python and Tkinter based GUI allows users to directly download the Best Resolution Videos and Audios from Youtube. Pa-fy Insta

Samarth Kumar 2 Jun 25, 2022
PyDownloader - Downloads files and folders at high speed (based on your interent speed).

PyDownloader - Downloads files and folders at high speed (based on your interent speed).

Armen._.G 4 Feb 24, 2022
Youtube Video Downloader Using Python Gui Appliction with progress Bar

Youtube-Video-Downloader Youtube Video Downloader Using Python Gui Appliction with progress Bar Module Used Pytube Tkinter Pil Urllib Bytes Io LICENSE

Community Programmer 6 Dec 19, 2022
Download all posts and comments in a subreddit

subreddit downloader This subreddit downloader downloads all posts and comments in a subreddit For a tutorial to use this program please follow this m

Guneet 6 Dec 16, 2022
Let's you download entire YT-playlists.

Youtube MP3 Playlist Downloader Let's you download entire youtube playlists as mp3 files. This application is basically a script that makes it easier

11 Dec 18, 2022
Pypixiv - A fully-typed, asynchronous api wrapper for pixiv

pypixiv this library is a fully-typed, asynchronous api wrapper for pixiv. featu

DeltaLaboratory 2 Nov 16, 2022