node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »

off-the-rip

Off the Rip

"Future Proof" method of downloading Soundcloud audio and embedding ID3 tags (title, artist, artwork) within the resulting file.

Dependencies

These dependencies must be met before attempting to install off-the-rip

# Mac 
brew install eyeD3 rtmpdump
 
# Linux 
sudo apt-get --assume-yes install eyeD3 rtmpdump

Installing

Once dependencies have been met, you can install off-the-rip

npm i -g off-the-rip
 
# Update 
npm update -g off-the-rip

Developing

After cloning the repo...

npm install
npm link # Gives you access to `otr` in your terminal 

Usage

CLI

The CLI takes two parameters, url and dir. The second is optional.

otr https://soundcloud.com/artist/track ~/Music
 
If a `dir` is not specified, the current directory will be used.

Node

var otr = require('off-the-rip');
 
otr('https://soundcloud.com/artist/track', '~/Music', function() {
   // Done 
});

How it works

  • Network traffic on the soundcloud page is monitored and API requests and artwork are intercepted.
  • Page information is scraped (Title, Artist, etc)
  • Data is sent to Node where ID3 tags including artwork is written to the dist folder

Disclaimer

This tool is in no way shape or form to be used for downloading copyrighted music, it is designed and built as a proof-of-concept.

License

MIT