A simple utility to download tracks from youtube as mp3.
- node.js and npm
- Clone the repo
Try it out
There are two scripts:
download.js. They both accept data from
stdin and write to
Accepts a query and returns links in the form
echo "Michael Buble - Sway" | scripts/get_download_link.js => http://downloadurl/asd Sway (song).mp3
In the above example the script will output the download URL for the mp3, followed by a tab character, followed by the mp3 filename (taken from the title of the youtube video).
Alternatively you can pass in a youtube URL instead of the search query.
-p: Preserve original query as filename
Accepts a download request in the form
http://downloadurl/<TAB>filename.mp3 (in the same form returned by
get_download_link.js), and downloads it to the current directory (requires
echo "http://server/dl123 sway.mp3" | scripts/download.js
In the above example, the script will run
wget on the provided URL and will download the result to a file called
sway.mp3 in the current directory.
-d /path/to/dir: Directory to download to (defaults to current directory)
--force: Overwrite the file even if it already exists.
More sample usage
echo "Michael Buble - Sway" | scripts/get_download_link.js -p | scripts/download.js -d ~/Music
The above example will find an mp3 download link of "Sway" by Michael Buble and download it to
~/Music with the filename
Michael Buble - Sway.mp3 (from the query).
Run the tests
The tests are all integration tests so they will take a while to run, and require an internet connection.
To set up the tests you'll need to install nodeunit -
sudo npm install -g nodeunit. Then run