vk-music-dl

Download Spotify playlist as mp3 from VKontakte

Usage no npm install needed!

<script type="module">
  import vkMusicDl from 'https://cdn.skypack.dev/vk-music-dl';
</script>

README

VK Music Downloader

A very simple tool to download music through VKontakte Music API.

This a proof of concept.

Inspired by DatMusic, MyFreeMp3

Features

For now

  • Scrape Spotify playlist page
  • Download all the titles from MyFreeMp3 aka VK Music
  • Generate a .m3u8 playlist file

TODO

  • Dowload all songs in a folder
  • Add Spotify metadatas in the m3u8 file
  • Add proper command line options
  • Add CLI progress info
  • Having placeholder for files that can't be downloaded, maybe as comment in the m3u8 file
  • Having a option to retry/resync download mp3 based on the m3u8 file
  • Check the mime type of receive files because some are html files instead of mp3 WTF !!
  • Rewrite this as a plugin for Ampache
  • Rewrite this as a plugin for Funkwhale
  • Add MusicBrain ID3Tag on file
  • Have a fallback for downloading song with youtube-dl :-P

Goals

  • Try to use state of art NodeJS APIs
  • Demonstrate what we can do with 100 lines of Javascript (and an infinity of dependencies, HALF OF THE WORLD LITERALY)

Usage

  1. Install nodejs/npm
  2. npx vk-music-dl https://open.spotify.com/playlist/6LgeEhc97Azxq6sinJQt6w

Usage as library

const {main} = require('vk-music-dl/lib');

main('https://open.spotify.com/playlist/6LgeEhc97Azxq6sinJQt6w');