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 cross-platform python based utility to download courses from udemy for personal offline use.

udemy-dl A cross-platform python based utility to download courses from udemy for personal offline use. Warning Udemy has started to encrypt many of t

Nasir Khan 4.6k Dec 31, 2022
A Python script that allows you to download all of an anime's episodes at once.

BitAnime A Python script that allows you to download all of an anime's episodes at once. · Download executable version · About BitAnime BitAnime is a

sh1nobu 17 Aug 10, 2022
A tool written in Python to download all Snapmaps content from a specific location.

snapmap-archiver A tool written in Python to download all Snapmaps content from a specific location.

46 Dec 09, 2022
Python Youtube Video-Playlist Downloader

Youtube-Video-Playlist-Downloader-PyQt5 You can download videos and playlists on YouTube with this script. Script has GUI. Enjoy. Setup git clone http

Yunus Emre Öztürk 2 Jun 06, 2022
Quickly, simply, and asynchronously download NFT's from an Opensea collection

iRightClick Quickly, simply, and asynchronously download NFT's from an Opensea collection. NOTICE This tool is not developed to encourage or facilitat

Setro 34 Dec 30, 2022
Discord Nitro Generator + Checker

Discord Nitro Generator + Checker Usage Download the project files and run main.py You will be prompted with 2 questions the first one being the amoun

509 Jan 02, 2023
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
Downloads files and folders

PyDownloader Downloads files and folders at high speed (based on your interent speed). This is very useful to transfer big files from one computer to

ArmenG 4 Feb 24, 2022
一个在新番更新后第一时间在dmhy等BT下载站自动下载的小工具.

Anime Track 一个在新番更新后第一时间自动下载的小工具. 可以根据自定义的关键字在dmhy等BT下载站在搜索结果更新时将磁力链发送至aria2实现自动下载. 基本功能包含: 将BT下载站的某个关键字的搜索结果的所有磁力链添加至ARIA2 自动更新aria2 trackers 将已添加的磁力

Sunky 24 Oct 12, 2022
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
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

1.6k Apr 12, 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
Python-Youtube-Downloader - An Open Source Python Youtube Downloader

Python-Youtube-Downloader Hello There This Is An Open Source Python Youtube Down

Flex Tools 3 Jun 14, 2022
Tool to get Canvas cover videos from Spotify tracks.

Spotify Canvas Downloader Tool to get Canvas cover videos from Spotify tracks. ✨ Try it out Building Clone the repository git clone https://github.com

Gabriel 35 Dec 28, 2022
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
A modern CLI to download animes automatically from Twist

Kurby Kurby is a nice and simple CLI that use Twist website, and their huge collection to download animes for free and automatically Animes from Twist

Alain BERRIER 48 Dec 22, 2022
Python script to automate youtube-dl downloads

Automated Download Tool !! Project status I am writing a new version of this program, which will solve several errors. The new version only supports G

Devil64-Dev 21 Sep 22, 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
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
Ripurei is a free-to-use osu! replay downloader, that can be configured to download from any osu! server.

Ripurei Ripurei is a fully functional osu! replay downloader, fully capable of downloading from almost any osu! server. Functionality Timeline ✔️ Able

Thomas 0 Feb 11, 2022