Code Monkey home page Code Monkey logo

sberzvuk-downloader's Introduction

Zvuk-Downloader

Zvuk (Звук) downloader written in Go. Windows, Linux, macOS and Android binaries

Setup

Input credentials into config file. Configure any other options if needed.

Option Info
email Email address.
password Password.
format Download format. 1 = 128 Kbps MP3, 2 = 320 Kbps MP3, 3 = 16/24-bit FLAC.
outPath Where to download to. Path will be made if it doesn't already exist.
albumTemplate Album folder naming template. Vars: album, albumArtist, year.
trackTemplate Track filename naming template. Vars: album, albumArtist, artist, genre, title, track, trackPad, trackTotal, year.
maxCover true = max cover size, false = 600x600.
lyrics Get lyrics if available.
speedLimit Download speed limit in megabytes. Example: 0.5 = 500 kB/s, 1 = 1 MB/s, 1.5 = 1.5 MB/s. -1 = unlimited.
keepCover true = don't delete covers from album folders.
token Use token to auth instead of credentials. Will only be used if not empty. Get from https://zvuk.com/api/v2/tiny/profile.

Usage

Args take priority over the same config file options.

Download two albums with config file format:
zvuk_dl_x64.exe https://zvuk.com/release/14607525 https://zvuk.com/release/14024820

Download a single album and from two text files in format 2 with lyrics:
zvuk_dl_x64.exe https://zvuk.com/release/14607525 G:\1.txt G:\2.txt -f 2 -l

 _____         _      ____                _           _
|__   |_ _ _ _| |_   |    \ ___ _ _ _ ___| |___ ___ _| |___ ___
|   __| | | | | '_|  |  |  | . | | | |   | | . | .'| . | -_|  _|
|_____|\_/|___|_,_|  |____/|___|_____|_|_|_|___|__,|___|___|_|

Usage: zvuk_dl_x64.exe [--format FORMAT] [--outpath OUTPATH] [--maxcover] [--lyrics] [--albumtemplate ALBUMTEMPLATE] [--tracktemplate TRACKTEMPLATE] [--speedlimit SPEEDLIMIT] URLS [URLS ...]

Positional arguments:
  URLS

Options:
  --format FORMAT, -f FORMAT
                         Download format. 1 = 128 Kbps MP3, 2 = 320 Kbps MP3, 3 = 16/44 FLAC. [default: -1]
  --outpath OUTPATH, -o OUTPATH
                         Where to download to. Path will be made if it doesn't already exist.
  --maxcover, -m         true = max cover size, false = 600x600.
  --lyrics, -l           Get lyrics if available.
  --albumtemplate ALBUMTEMPLATE, -a ALBUMTEMPLATE
                         Album folder naming template. Vars: album, albumArtist, year.
  --tracktemplate TRACKTEMPLATE, -t TRACKTEMPLATE
                         Track filename naming template. Vars: album, albumArtist, artist, genre, title, track, trackPad, trackTotal, year.
  --speedlimit SPEEDLIMIT, -L SPEEDLIMIT
                         Download speed limit in megabytes. Example: 0.5 = 500 kB/s, 1 = 1 MB/s, 1.5 = 1.5 MB/s. -1 = unlimited. [default: -1]
  --help, -h             display this help and exit

Disclaimer

  • I will not be responsible for how you use Zvuk Downloader.
  • Zvuk brand and name is the registered trademark of its respective owner.
  • Zvuk Downloader has no partnership, sponsorship or endorsement with Zvuk.

sberzvuk-downloader's People

Contributors

sorrow446 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sberzvuk-downloader's Issues

Onlly 1-2 tracks are downloaded for some multitrack releases

Hi,

For some releases 1 or 2 tracks are downloaded despite there are 3+ tracks. For example:
Kalabrese - Let Love Rumpel (Part 1) - 11 tracks, but only 2 are downloaded

E:\sz>sberzvuk_dl_x64.exe https://sber-zvuk.com/release/16808726

 _____ _           _____         _      ____                _           _
|   __| |_ ___ ___|__   |_ _ _ _| |_   |    \ ___ _ _ _ ___| |___ ___ _| |___ ___
|__   | . | -_|  _|   __| | | | | '_|  |  |  | . | | | |   | | . | .'| . | -_|  _|
|_____|___|___|_| |_____|\_/|___|_,_|  |____/|___|_____|_|_|_|___|__,|___|___|_|

Signed in successfully - openplay.promo

Album 1 of 1:
Kalabrese - Let Love Rumpel (Part 1)
Downloading track 1 of 11: Pain a Rollin' Away - 16-bit / 44.1 kHz FLAC
100%, 50 MB/50 MB
Wrote lyrics.
Downloading track 2 of 11: Nimm Mini Hand - 16-bit / 44.1 kHz FLAC
100%, 38 MB/38 MB

Other examples:

Substrat Innovation Durch Irritation - 1 track
Rumpelzirkus, Pt. 1 - 1 track

config.json:

{
    "email": "email",
    "password": "password",
    "format": 3,
    "outPath": "2",
    "trackTemplate": "{{.trackPad}}. {{.title}}",
    "maxCover": true,
    "lyrics": true
}

I tried with release binary #1 and freshly compiled master as of 2002-02-10

Thank you for this tool!

Dots in folder name

On Windows, is there is an ellipsis (three dots) in the album name, it is omitted when the folder is created. Then the script fails to locate it.

download bugs

After i downloaded the album, i noticed that one song didn't sound right. I'll just upload the file, the composition seems to play with little gaps. I don't know how to explain, you'd better just listen. It's very frustrating and I have no idea what caused it. I have already downloaded a couple of dozen albums in a flac and I hope that this will not happen again :^(
On the site and in the Sberzvuk app, the composition sounds normal... I tried downloading the album again but nothing changed. The composition starts to be laggy around 2:13.
03. On The Run (2011 Remastered Version).zip
.

Failed to get track stream metadata

Why is this thing happening? It's the first time I see this. I'm sorry if this question is already answered somewhere on the page... I'm not that good at English!
image

Feature request: add auth by token (bypass login with emai|pass)

if we have an of auth token (provided for a non anonymous user 33 chars from https://zvuk.com/api/v2/tiny/profile). it would be useful not to login but proceed directly to all other operations

expected ./main --token <33 secret chars> URLS

it could be done with config.json as well

{
    "email": "",
    "password": "",
    "format": 3,
    "outPath": "Zvuk downloads",
    "albumTemplate": "{{.albumArtist}} - {{.album}}",
    "trackTemplate": "{{.trackPad}}. {{.title}}",
    "maxCover": true,
    "lyrics": true,
    "speedLimit": -1,
    "keepCover": true
    "token": 6SJPyDCub8EJtXQuRPyu5q2meJKW8yleb
}

example token from /dev/urandom

Playlists

Hello! Is there any way to download playlists?
Thanks.

Folder Template

add the ability to change albumFolder, please.
right now there is not enough year in the folder name.
"albumArtist" - "album" ("year")

and for personal cataloging: how can i add "[catalogNumber]" (not meta) to the beginning of each folder name?
[catalogNumber] albumArtist - album (year)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.