A streaming music downloader.
HackrOne d9ef39ebd4 Add Android NPM error fix 1 month ago
libs Fix memory calculation for android 3 months ago
.gitignore Release: v1.6.0 5 months ago
README.md Add Android NPM error fix 1 month ago
SMLoadr.js Release: v1.9.2 2 months ago
VERSION.md Release: v1.9.2 2 months ago
package-lock.json Release: v1.9.2 2 months ago
package.json Release: v1.9.2 2 months ago
screenshot.png Update readme 5 months ago



A streaming music downloader.


SMLoadr is a program for downloading music from streaming music services.

It is intended for educational and private use only, and not as a tool for pirating and distributing music!

Remember that the artists and studios put a lot of work into making music - purchase music to support them.


  • Download music in excellent quality for free
  • Supports single tracks, albums, artists, playlists and users favourite tracks
  • Music quality selection (MP3 - 128 kbps, MP3 - 320 kbps, FLAC - 1411 kbps)
  • Auto tagging MP3 & FLAC files (with album cover)
  • Saves music to "DOWNLOADS/[artist]/[album]/[track_number] [title].mp3/flac"
  • Download a list of links from "downloadLinks.txt"
  • CLI support

Supported sites

  • Currently only Deezer is supported.
  • We'll add more in the future ;)

Supported platforms

  • Windows x64
  • Windows x86
  • Linux x64
  • Linux x86
  • MacOS x64
  • Android (Run from source, see guide below)
  • ARM like Raspberry Pi (Run from source)

How to use (Windows)

Run it as admin if you get "EPERM: operation not permitted..." error!


Double click the exe :)


.\SMLoadr-win-x64.exe -q "MP3_128" -p "DOWNLOADS/" "http://www.deezer.com/album|artist|playlist|profile|track/0123456789"

How to use (Linux/MacOS)

See "How to use (from source)" to run it on ARM devices like the Raspberry Pi.


chmod +x SMLoadr-linux-x64


chmod +x SMLoadr-linux-x64
./SMLoadr-linux-x64 -q "MP3_128" -p "DOWNLOADS/" "http://www.deezer.com/album|artist|playlist|profile|track/0123456789"

How to use (Android)

Installing SMLoadr on Android is a little bit complicated and not officially supported :/

If you need help, tag @sudoHackr in Telegram, and don't expect many people to help you.

1. Install Termux

In order to run SMLoadr on Android you have to install Termux.

2. Install dependencies

Run Termux and enter these lines in the given order (If it asks you if you want to continue, enter y):

pkg update
pkg upgrade
pkg install nodejs git

3. Download

First download the latest version from the repo:

git clone --depth 1 https://git.teknik.io/SMLoadrDev/SMLoadr.git

4. Install

Move files and remove unnecessary ones:

mv SMLoadr/{package.json,SMLoadr.js,./libs/} ./
rm -rf SMLoadr

Now we install what we've downloaded:

npm install

Patch openurl:

sed -i 's/linux/android/' node_modules/openurl/openurl.js

5. Setup storage

In order to let SMLoadr download to the right folder, we need to setup storage for Termux:


Now we trick SMLoadr into downloading to the public storage:

mkdir ~/storage/shared/SMLoadr
ln -s ~/storage/shared/SMLoadr DOWNLOADS

6. Run

Last but not least run the app (downloaded files will be in a folder named SMLoadr in public storage):

node SMLoadr.js

7. Updating to a new version

To update it, run step 3 and step 4

8. Troubleshooting

If you encounter an error with NPM, saying "Cannot read property 'length' of undefined", try running the command below.

curl 'https://raw.githubusercontent.com/rvagg/node-worker-farm/master/lib/farm.js' > "$PREFIX/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js"

This command will download the latest version of the file causing issues and overwrite it. More information can be found here and here

How to use (from source)

To run it from source you have to install Node.js first (>= 8.0.0 is required).

After that download the repo and execute the following commands in the directory:

npm i
node SMLoadr.js

CLI parameters

Parameter Short Default Supported values Description
--quality -q MP3_320 MP3_128/MP3_320/FLAC The quality of the files to download
--path -p DOWNLOADS/ Path with / in the end The path to download the files to
--url -u or nothing album/artist/playlist/profile/track url Downloads single deezer url
--downloadmode -d single all for "downloadLinks.txt" Downloads multiple urls from list
--help -h Nothing Shows the CLI help



  • BTC: 15GktD5M1kCmESyxfhA6EvmhGzWnRA8gvg
  • BTC Cash: 1LpLtLREzTWzba94wBBpJxcv7r6h6u1jgF
  • ETH: 0xd07c98bF53b21c4921E7b30491Fe0B86E714afeD
  • ETH Classic: 0x7b8f83e4cE082BfCe5B6f6E4F204c914e925f242
  • LTC: LXJwhRmjfUruuwp76rJmLrhJJjHSG8TNxm
  • DASH: XmHzFcygcwtqabgfEtJyq9cen1G5EnvuGR


  • We do not call to commit crimes.
  • The usage of this tool may be illegal in your country! Please inform yourself.
  • We do not give any guarantee at all and we am not responsible for damages of all kinds!

Made with :heart: & :beer: by SMLoadrDevs | Copyright © 2018 SMLoadrDevs.