A very simple tool to download music through VKontakte Music API
Go to file
2020-10-27 23:34:19 +01:00
lib feat: m3u8 have some metadata about missing songs and spotify playlist id 2020-10-27 23:33:10 +01:00
test test: add test for getSpotifyPlaylist 2020-09-27 11:23:23 +02:00
.env.example doc: add README 2020-07-02 00:53:35 +02:00
.gitignore feat: score match title from VK 2020-07-01 22:23:59 +02:00
index.js refactor: lib and main splitted 2020-09-27 11:23:14 +02:00
package-lock.json 1.2.0 2020-10-27 23:34:19 +01:00
package.json 1.2.0 2020-10-27 23:34:19 +01:00
README.md feat: m3u8 have some metadata about missing songs and spotify playlist id 2020-10-27 23:33:10 +01:00

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');