Введение Link to heading
Иногда хочется скачивать треки в автоматическом режиме прямо на домашний сервер. Для браузеров на базе Chromium есть удобное расширение Yandex Music Downloader V3, которое умеет загружать музыку в FLAC и пакетом, но гораздо удобнее иметь аналог в командной строке.
Установка и настройка Link to heading
Установите утилиту:
pipx install git+https://github.com/llistochek/yandex-music-downloader.git
Добавьте
pipx
в PATH:pipx ensurepath
Получите токен. Есть несколько способов получения токена — я использовал способ «для продвинутых».
Сохраните токен в файл:
vim ~/.yandex_music_token chmod 600 ~/.yandex_music_token
Сохранение токена в файле упростит дальнейший вызов утилиты.
Использование Link to heading
Простейшая команда для скачивания одного трека выглядит так:
yandex-music-downloader \
--token "ваш_токен" \
--quality 2 \
--embed-cover \
--cover-resolution original \
--retry-delay 5 \
--skip-existing \
--only-music \
--url https://music.yandex.ru/track/116054894
Чтобы не вводить всё это каждый раз, можно обернуть вызов в функцию вашей оболочки.
Откройте файл
~/.bashrc
или~/.zshrc
.Добавьте в конец или начало:
ymdl() { if [[ "$1" != --* ]]; then url="$1" shift else url="" fi yandex-music-downloader \ --token "$(cat ~/.yandex_music_token)" \ --quality 2 \ --embed-cover \ --cover-resolution original \ --retry-delay 5 \ --skip-existing \ --only-music \ ${url:+--url "$url"} \ "$@" }
Примените изменения:
source ~/.bashrc
или
source ~/.zshrc
Теперь можно скачивать треки, альбомы и плейлисты одной командой:
ymdl https://music.yandex.ru/album/18466774