Spotify song downloader without injecting into the windows client
Go to file
2021-10-26 16:14:31 -04:00
.github/workflows fix: pylint 2021-10-25 14:15:03 +02:00
zspotify Fix audio copy, set bitrate based on account type if not in config 2021-10-26 16:14:31 -04:00
.gitignore Add DS_Store to .gitignore 2021-10-24 22:52:14 -06:00
CHANGELOG.md Update CHANGELOG.md 2021-10-25 18:14:09 +13:00
COMMON_ERRORS.md docs(common_errors): remove explanation 2021-10-25 14:15:49 -04:00
CONTRIBUTING.md change docker dir from src to zspotify 2021-10-25 14:59:40 +13:00
Dockerfile Modified zs_config.json to only copy if exists 2021-10-25 16:54:38 +10:30
LICENSE Licence under GPLv3 2021-10-22 20:02:45 +13:00
README.md Update README.md 2021-10-27 00:36:23 +05:30
requirements.txt Use ffmpeg instead of pydub, support ogg stream copy 2021-10-26 15:06:17 -04:00

Stars Forks Size

ZSpotify

A Spotify downloader needing only a python interpreter and ffmpeg.

Discord Server - Matrix Server - Gitea Mirror - Main Site

Requirements:

Binaries

- Python 3.9 or greater
- ffmpeg*
- Git**

Python packages:

- pip install -r requirements.txt

*ffmpeg can be installed via apt for Debian-based distros or by downloading the binaries from ffmpeg.org and placing them in your %PATH% in Windows. Mac users can install it with Homebrew by running brew install ffmpeg.

**Git can be installed via apt for Debian-based distros or by downloading the binaries from git-scm.com for Windows.

Command line usage:

Basic usage:
  python zspotify                                      Loads search prompt to find then download a specific track, album or playlist
  python zspotify <track/album/playlist/episode url>   Downloads the track, album, playlist or podcast episode specified as a command line argument
  python zspotify <artist url>                         Downloads all albums by specified artist

Extra command line options:
  -p, --playlist       Downloads a saved playlist from your account
  -ls, --liked-songs   Downloads all the liked songs from your account

Options that can be configured in zs_config.json:
  ROOT_PATH           Change this path if you don't like the default directory where ZSpotify saves the music
  ROOT_PODCAST_PATH   Change this path if you don't like the default directory where ZSpotify saves the podcasts

  SKIP_EXISTING_FILES Set this to false if you want ZSpotify to overwrite files with the same name rather than skipping the song

  MUSIC_FORMAT        Can be "mp3" or "ogg", mp3 is required for track metadata however ogg is slightly higher quality as it is not transcoded.

  FORCE_PREMIUM       Set this to true if ZSpotify isn't automatically detecting that you are using a premium account

  ANTI_BAN_WAIT_TIME  Change this setting if the time waited between bulk downloads is too high or low
  OVERRIDE_AUTO_WAIT  Change this to true if you want to completely disable the wait between songs for faster downloads with the risk of instability

Docker Usage

Pull the official docker image (automatically updates):
  docker pull cooper7692/zspotify-docker
Or build the docker image yourself from the Dockerfile:
  docker build -t zspotify .
Create and run a container from the image:
  docker run --rm -v "$PWD/ZSpotify Music:/ZSpotify Music" -v "$PWD/ZSpotify Podcasts:/ZSpotify Podcasts" -it zspotify

Will my account get banned if I use this tool?

Currently no user has reported their account getting banned after using ZSpotify.

There have been 2-3 reports from users who received account bans from Spotify for using this tool.

We are working on making it less likely for your account to get banned, please be patient. We suggest you wait till this fix has been made to avoid ban, or if you are in a hurry, make sure to not use your primary account.

Use ZSpotify at your own risk, the developers of ZSpotify are not responsible if your account gets banned.

What do I do if I see "Your session has been terminated"?

If you see this, don't worry! Just try logging back in. If you see the incorrect username or password error, reset your password and you should be able to log back in and continue using Spotify.

Contributing

Please refer to CONTRIBUTING

Changelog

Please refer to CHANGELOG

Common Errors

Please refer to COMMON_ERRORS