Note
Currently, I am rewriting DownOnSpot.
If you want to help me accelerate this process, please feel free to contact me at osumatrix.me.
- β Actually downloads from Spotify, free and premium
- β Chose between 96, 160, 256 and 320 kbit/s (free users can't exceed 160kbit/s)
- β Download tracks, playlists, albums and artists
- β Multi-threaded
- β Search for tracks
- β Download MP3 and original OGG files
- β Metadata tagging
- β Simple CLI interface
Note
Free Spotify users can not exceed 160kbit/s. Change the quality
setting in the settings.json
file to Q160
or lower. If you want to download 256 or 320kbit/s, you need to use a premium account.
-
Clone the repository using git and change to the local repository directory:
git clone https://github.com/oSumAtrIX/DownOnSpot.git cd DownOnSpot
-
Install dependencies
If you are on Linux, make sure you have the
libasound2-dev
package installed.
Additionally, you need the libmp3lame library.
On Mac OS, runbrew install lame
, provided you have Homebrew installed. -
Build
cargo build --release
Note
You need this private SSH key to clone a dependency of DownOnSpot to use it with a free Spotify account.
Follow this answer by DopeGhoti on stackexchange.com to set up SSH with the private key.
A sample ~/.ssh/config
file could look like this:
Host github.com
IdentityFile ~/.ssh/free_librespot_private_key
If you do not want to use free-librespot
(i.e. if you are using a paid Spotify account), replace git = "ssh://git@github.com/oSumAtrIX/free-librespot.git"
with librespot = "0.4.2"
inside the Cargo.toml
file.
-
Create a new application on the Spotify developer dashboard
-
Run DownOnSpot
$ ./down_on_spot Settings could not be loaded because of the following error: IO: NotFound No such file or directory. (os error 2)... ..but default settings have been created successfully. Edit them and run the program again.
-
Edit the
settings.json
fileThe
settings.json
file is located in the following directories:- Windows:
C:\Users\<user>\AppData\Roaming\down_on_spot\settings.json
- Unix:
~/.config/down_on_spot/settings.json
- Windows:
π Now you can use DownOnSpot
$ ./down_on_spot
Usage:
down_on_spot.exe <search_term> | <track_url> | <album_url> | <playlist_url> | <artist_url>
You can use the following template variables for path
and filename_template
in the settings.json
file:
- %0disc%
- %0track%
- %album%
- %albumArtist%
- %albumArtists%
- %artist%
- %disc%
- %id%
- %title%
- %track%
- Slow MP3 downloads due to libmp3lame
- Sporadic
channel error
when downloading tracks
DownOnSpot is licensed under the GPLv3 licence. Please see the licence file for more information. tl;dr you may copy, distribute and modify DownOnSpot as long as you track changes/dates in source files. Any modifications to DownOnSpot must also be made available under the GPL, along with build & install instructions.