From 4f0914c33a6de1f6c948e675921e0083089bbc42 Mon Sep 17 00:00:00 2001 From: Michael Kuperfish Steinberg <36902556+Michael-K-Stein@users.noreply.github.com> Date: Fri, 20 Jan 2023 15:20:58 +0200 Subject: [PATCH 1/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d07e9ae..710aed9 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ SpotiFile starts its life by authenticating as a normal Spotify user, and then p + Scraping tracks from a playlist. + Scraping tracks from an album. + Scraping tracks from an artist. ++ Scraping playlists from a user. + Scraping a track from a track url. + Scraping artist images. + Scraping popular playlists' metadata and tracks. From 5230877f3c8aed4d64ed822a6a056e34beb5d8f6 Mon Sep 17 00:00:00 2001 From: Michael Kuperfish Steinberg <36902556+Michael-K-Stein@users.noreply.github.com> Date: Fri, 20 Jan 2023 15:23:16 +0200 Subject: [PATCH 2/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 710aed9..edecc0c 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Downloading massive amounts of songs and meta data can help if you prefer listen ## How? SpotiFile starts its life by authenticating as a normal Spotify user, and then performs a wide range of conventional and unconventional API calls to Spotify in order to retrieve relevant information. +SpotiFile does not actually download audio from Spotify, since they use proper DRM encryption to protect against piracy. Rather, SpotiFile finds the relevant audio file on Deezer, using the copyright id (ironically). Then SpotiFile downloads the "encrypted" audio file from deezer, and decrypts it using the private key that Deezer leaked a while ago. --- From 9a4ca4027e60a7d9b124cbe63f35641ecead2623 Mon Sep 17 00:00:00 2001 From: Michael Kuperfish Steinberg <36902556+Michael-K-Stein@users.noreply.github.com> Date: Fri, 20 Jan 2023 15:36:05 +0200 Subject: [PATCH 3/5] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index edecc0c..7eccc93 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,16 @@ This allows SpotiFile to download information en-masse quickly. ## Why? Downloading massive amounts of songs and meta data can help if you prefer listening to music offline, or if you are desgining a music server which runs on an airgapped network. *We do not encourage music piracy nor condone any illegal activity. SpotiFile is a usefull research tool. Usage of SpotiFile for other purposes is at the user's own risk.* +### Proper and legitimate uses of SpotiFile: ++ Scraping tracks to create datasets for machine learning models. ++ Creating remixes (for personal use only!) ++ Downloading music which no longer falls under copyright law ([Generally, content who's original artist passed away over 70 years ago](https://www.copyright.gov/help/faq/faq-duration.html)). --- ## How? SpotiFile starts its life by authenticating as a normal Spotify user, and then performs a wide range of conventional and unconventional API calls to Spotify in order to retrieve relevant information. -SpotiFile does not actually download audio from Spotify, since they use proper DRM encryption to protect against piracy. Rather, SpotiFile finds the relevant audio file on Deezer, using the copyright id (ironically). Then SpotiFile downloads the "encrypted" audio file from deezer, and decrypts it using the private key that Deezer leaked a while ago. +SpotiFile does not actually download audio from Spotify, since they use proper DRM encryption to protect against piracy. Rather, SpotiFile finds the relevant audio file on Deezer, using the copyright id (ironically). Then SpotiFile downloads the "encrypted" audio file from Deezer, which failed to implement DRM properly. Credit for reversing Deezer's encryption goes to https://git.fuwafuwa.moe/toad/ayeBot/src/branch/master/bot.py & https://notabug.org/deezpy-dev/Deezpy/src/master/deezpy.py & https://www.reddit.com/r/deemix/ (Original reversing algorithm has been taken down). --- From ccaab487460fe77dd9ab7b980ad4ec80aee383da Mon Sep 17 00:00:00 2001 From: Michael Kuperfish Steinberg <36902556+Michael-K-Stein@users.noreply.github.com> Date: Fri, 20 Jan 2023 15:43:06 +0200 Subject: [PATCH 4/5] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7eccc93..ffada9d 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,14 @@ SpotiFile does not actually download audio from Spotify, since they use proper D + Scraping tracks from an album. + Scraping tracks from an artist. + Scraping playlists from a user. ++ Scraping playlists from a catergory. + Scraping a track from a track url. + Scraping artist images. + Scraping popular playlists' metadata and tracks. + Premium user token snatching (experimental). + Scraping song lyrics (time synced when possible). + Scraping track metadata. ++ Scraping category metadata. --- From b34022805f56fbe530c1c15a98d54ba1a6584037 Mon Sep 17 00:00:00 2001 From: Michael Kuperfish Steinberg <36902556+Michael-K-Stein@users.noreply.github.com> Date: Fri, 20 Jan 2023 16:04:23 +0200 Subject: [PATCH 5/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ffada9d..a2ec1fe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # SpotiFile ## A simple and open source spotify scraper. +*Python 3.8+* ---