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.

mescrappy - Python + Selenium Youtube scraper

mescrappy - Python + Selenium Youtube scraper Youtube Sraping With Python (Selenium) Table of Contents About The Project Built With Getting Started In

Merdan Chariyarov 12 Nov 28, 2021
YT-Spammer-Purge - Allows you easily scan for and delete scam comments using several methods

YouTube Spammer Purge What Is This? - Allows you to filter and search for spamme

4.3k Dec 31, 2022
YouTube Video publisher using youtube-dl & ROS2🐢

YouTube-publisher-ROS2 Publish sensor_msgs/Image by "YouTube" 🤗 🤗 🤗 ! You don't have to use webcamera or your video to check demos. Purpose Quick d

Ar-Ray 5 Dec 04, 2022
A YouTube downloader which allows you to choose which video you want

Youtube Video Downloader Download multiple videos in one go! How to Use 1.First type the video you want to download 2.On clicking the Search button yo

2 Dec 17, 2021
Google Art Image Downloader Tkinter

Google-Art-Image-Downloader-Tkinter 由 google-art-downloader 整改的批量 Google 艺术展平台高清图片下载 ⭐ It works perfectly from 2018 year till today, thanks for stars!

PY-GZKY 1 Jan 05, 2022
Application Updater using an download link

Application-Updater This tool will update your app using an storage link

ExtremeDev 1 Dec 20, 2021
pubmex.py - a script to get a fancy paper title based on given DOI or PMID

pubmex.py is a script to get a fancy paper title based on given DOI or PMID (can be also combined with macOS Finder)

Marcin Magnus 13 Nov 20, 2022
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Otis/Jacob Root 27 Dec 23, 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
An Inline Telegram bot that can download YouTube videos with permanent thumbnail support

Tube (YouTube Downloader) An Inline Telegram bot that can download YouTube videos with permanent thumbnail support About Bot need to be in Inline Mode

Renjith Mangal 30 Dec 14, 2022
This script fully automates of downloading tiktok videos, editing them,compiling them and finally uploading them to youtube.

This script fully automates of downloading tiktok videos, editing them,compiling them and finally uploading them to youtube. If you wanted to create a tiktok video compiilation youtubbe channel this

Supriyo Sarkar 32 Dec 16, 2022
𝐴 𝑡𝑒𝑙𝑒𝑔𝑟𝑎𝑚 𝑏𝑜𝑡 𝑡ℎ𝑎𝑡 𝑐𝑎𝑛 𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑 𝑣𝑖𝑑𝑒𝑜 𝑎𝑛𝑑 𝑎𝑢𝑑𝑖𝑜 𝑓𝑟𝑜𝑚 𝑦𝑜𝑢𝑡𝑢𝑏𝑒 𝑎𝑛𝑑 𝑣𝑖𝑑𝑒𝑜 𝑤𝑒𝑏𝑠𝑖𝑡𝑒𝑠 𝑞𝑢𝑖𝑐𝑘𝑙𝑦

𝐴 𝑡𝑒𝑙𝑒𝑔𝑟𝑎𝑚 𝑏𝑜𝑡 𝑡ℎ𝑎𝑡 𝑐𝑎𝑛 𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑 𝑣𝑖𝑑𝑒𝑜 𝑎𝑛𝑑 𝑎𝑢𝑑𝑖𝑜 𝑓𝑟𝑜𝑚 𝑦𝑜𝑢𝑡𝑢𝑏𝑒 𝑎𝑛𝑑 𝑣𝑖𝑑𝑒𝑜 𝑤𝑒𝑏𝑠𝑖𝑡𝑒𝑠 𝑞𝑢𝑖𝑐𝑘𝑙𝑦

SOCIAL MECHANIC 2 Aug 04, 2022
The tool allows to download a list of tiktok sounds

dependencies: pip install requests how to use LAUCH THE PROGRAM file (option f)

carpal 3 Jan 21, 2022
A program which takes an Anime name or URL and downloads the specified range of episodes.

super-anime-downloader A console application written in Python3.x (GUI will be added soon) which takes a Anime Name/URL as input and downloads the ran

Sayyid Ali Sajjad Rizavi 26 Jul 18, 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 YouTube downloader app built with Django.

YouTube Downloader ⭐️ Star this project ⭐️ Requirements Python3+ Git Installation Install the dependencies and start the server. git clone https://git

Gabriel Tavares 26 Aug 19, 2022
A simple Python +3.x script to download videos from Facebook.

Facebook Video Downloader A simple Python +3.x script to download videos from Facebook posts

Kerolos Atef Saber 1 Dec 03, 2021
Libretrofuzz - Fuzzy Retroarch thumbnail downloader

Fuzzy Retroarch thumbnail downloader In Retroarch, when you use the manual scann

8 Nov 26, 2022
Music, Album and Playlist downloader for JioSaavn

jiosaavn-dl Music, Album and Playlist downloader for JioSaavn Features Downloads tracks, albums and playlists in maximum available quality (320kbps AA

bunny 19 Dec 12, 2022
Youtube list to mp3 - Youtube list to mp3 downloader

Youtube list to mp3 downloader Tiny script to convert a list of youtube videos t

Papi Diagne 3 Feb 11, 2022