diff options
author | Kaimi <kaimi-@users.noreply.github.com> | 2020-04-21 15:49:26 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-21 15:49:26 +0300 |
commit | 9bb85095e9b3de8dddc574c0a8493a22f3a9faff (patch) | |
tree | 095c305dd31c7b3cee8129f7d073c3d10868eaaf | |
parent | 6a595e8317fad10349d68ccf0862c4d806c69bc7 (diff) |
Update README.md
-rw-r--r-- | README.md | 136 |
1 files changed, 109 insertions, 27 deletions
@@ -2,11 +2,107 @@ Yandex Music Downloader ===================== [![Perl](https://img.shields.io/badge/perl-green.svg)](https://www.perl.org/) [![License](https://img.shields.io/badge/license-MIT-red.svg)](https://raw.githubusercontent.com/kaimi-io/yandex-music-download/master/LICENSE) -This is a simple command line Perl script for downloading music from Yandex Music (http://music.yandex.ru). +![Yandex Music Downloader usage](https://github.com/kaimi-io/yandex-music-download/blob/master/usage.gif?raw=true) + +Simple command line Perl script for downloading music from Yandex Music (http://music.yandex.ru). Origin of the script is the following article: https://kaimi.io/2013/11/yandex-music-downloader/ -## Usage +## Contents +- [Requirements](#Requirements) + - [Environment](#Environment) + - [Perl modules](#Perl-modules) + - [Windows-only modules](#Windows-only-modules) +- [Installation](#Installation) + - [Ubuntu / Debian](#Ubuntu-/-Debian) + - [MacOS](#MacOS) + - [Windows](#Windows) + - [Docker](#Docker) +- [Usage](#Usage) +- [Frequently Asked Questions (FAQ)](#FAQ) +- [Contribute](#Contribute) +- [License](#License) + +## Requirements +### Environment +* Linux/Windows/MacOS (anything, that runs Perl) +* Perl >= 5.12 + +### Perl modules +* General + * Digest::MD5 + * File::Copy + * File::Spec + * File::Temp + * Getopt::Long::Descriptive + * HTML::Entities + * HTTP::Cookies + * JSON::PP + * LWP::Protocol::https + * LWP::UserAgent + * MP3::Tag + * Term::ANSIColor + * Mozilla::CA + +* Windows-only modules + * Win32::API + * Win32::Console + * Win32API::File + +## Installation +### Ubuntu / Debian +```bash +# Prerequisites +sudo apt-get update +sudo apt-get -y install perl cpanminus make git +sudo apt-get -y install libwww-perl liblwp-protocol-https-perl libhttp-cookies-perl libhtml-parser-perl libmp3-tag-perl libgetopt-long-descriptive-perl libarchive-zip-perl +cpanm Mozilla::CA + +# Get a copy and run +git clone https://github.com/kaimi-io/yandex-music-download.git +cd yandex-music-download/src +perl ya.pl -h +``` +### MacOS +1. Install brew (https://brew.sh/) +2. Run: +```bash +brew update +brew install perl cpanminus git + +git clone https://github.com/kaimi-io/yandex-music-download.git +cd yandex-music-download/src +perl ya.pl -h +``` +### Windows +With WSL (Windows Subsystem for Linux) installation will be similar to [Ubuntu / Debian](Ubuntu-/-Debian). +Otherwise: +1. Download and install ActiveState Perl (https://www.activestate.com/products/perl/downloads/) or Strawberry Perl (http://strawberryperl.com/) +2. Ensure, that Perl was added to system `PATH` environment variable +3. From Windows command line run: +`perl -v` +It should output Perl version. If not, refer to your Perl distribution documentation about adding Perl to your `PATH` environment variable +4. Install required modules (it can be done via PPM if you're using ActiveState Perl): +```bash +cpan install Digest::MD5 File::Copy File::Spec File::Temp Getopt::Long::Descriptive HTML::Entities HTTP::Cookies JSON::PP LWP::Protocol::https LWP::UserAgent MP3::Tag Mozilla::CA Term::ANSIColor Win32::API Win32::Console Win32API::File +``` +5. Download and unpack Yandex Music Downloader (https://github.com/kaimi-io/yandex-music-download/archive/master.zip) +6. Run: +```bash +cd yandex-music-download/src +perl ya.pl -h +``` + +### Docker +1. Install Docker (https://docs.docker.com/get-docker/) +2. Run: +```bash +git clone https://github.com/kaimi-io/yandex-music-download.git +cd yandex-music-download +docker build --tag yandex-music-downloader:1.0 . +docker run --rm -v $(PWD):/root/ --name yamusic yandex-music-downloader:1.0 -d /root -u https://music.yandex.ru/album/215688/track/1710808 +``` +## Usage ```bat ya.pl [-adkptu] [long options...] -p --playlist playlist id to download @@ -44,30 +140,16 @@ ya.pl [-adkptu] [long options...] ``` -## Dependencies +## FAQ +### What is the cause for "[ERROR] Yandex.Music is not available"? +Currently Yandex Music is available only for Russia and CIS countries. For other countries you should either acquire paid subscription and use ```--auth``` parameter or use it through proxy (```--proxy``` parameter) from one of those countries. -### Linux -``` -Digest::MD5 -File::Copy -File::Spec -File::Temp -Getopt::Long::Descriptive -HTML::Entities -HTTP::Cookies -JSON::PP -LWP::Protocol::https -LWP::UserAgent -MP3::Tag -Mozilla::CA -Term::ANSIColor -``` -### Windows -Above and -``` -Win32::API -Win32::Console -Win32API::File -``` +## Contribute +If you want to help make Yandex Music Downloader better the easiest thing you can do is to report issues and feature requests. Or you can help in development. + +## License +Yandex Music Downloader Copyright © 2013-2020 by Kaimi (Sergey Belov) - https://kaimi.io + +Yandex Music Downloader is free software: you can redistribute it and/or modify it under the terms of the Massachusetts Institute of Technology (MIT) License. -For further assistance don't hesitate to ask for help in GitHub issues or on the blog: https://kaimi.io +You should have received a copy of the MIT License along with Yandex Music Downloader. If not, see [MIT License](LICENSE) |