Виртуальная файловая система для аудиозаписей ВК. Для её использования необходим аккаунт ВКонтакте.
Программа позволяет слушать музыку из ВК в любом плеере и загружать песни на свой компьютер. Поддерживаются сохранённые аудиозаписи и плейлисты, поиск по названию песни и исполнителю. Автоматически, используя название песни и исполнителя, добавляются отсутствующие ID3 теги.
Загрузите AppImage из релизов, vk_music_fs-i386.AppImage
или vk_music_fs-x86_64.AppImage
. AppImage — исполняемый файл, в котором уже есть все зависимости. Их можно запускать, как «обычные» исполняемые файлы: ./vk_music_fs-x86_64.AppImage ...
Более подробная информация в документации к AppImage.
Установка из исходных кодов:
- Установите зависимости:
cmake g++ libssl-dev libfuse-dev libboost-system1.67-dev libboost-thread1.67-dev libboost-filesystem1.67-dev libboost-program-options1.67-dev zlib1g-dev
GCC должен поддерживать C++17 - Выполните команду в каталоге с исходниками:
mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && cmake --build . --target vk_music_fs
- Скопируйте исполняемый файл
vk_music_fs
Поддерживается система Windows 7 и более поздние.
- Загрузите и установите драйвер WinFsp.
- Загрузите
vk_music_fs.exe
из релизов - Скопируйте DLL WinFsp из
C:\Program Files\WinFsp\bin
в каталог, в который вы поместилиvk_music_fs.exe
Установка из исходных кодов:
- Установите зависимости:
cmake gcc openssl osxfuse boost
- Выполните команду в каталоге с исходниками:
mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release DCMAKE_CXX_COMPILER=/usr/local/bin/g++-8 -DCMAKE_C_COMPILER=/usr/local/bin/gcc-8 && cmake --build . --target vk_music_fs
Начиная с версии 1.3 путь к каталогу или диску в vk_music_fs должен обязательно быть указан и быть либо первым аргументом, либо до аргументов FUSE. Например, так: vk_music_fs ~/VkMusicFs
, но не так: vk_music_fs -d ~/VkMusicFs
Запустите программу в терминале vk_music_fs --get_token vk_login vk_password
. (vk_login
и vk_password
— логин и пароль VK). Программа выведет токен и user-agent, эти две строки нужно скопировать либо в файл VkMusicFs.ini
в том же каталоге, либо в ~/.config/VkMusicFs/VkMusicFs.ini
. Создайте директорию для монтирования: mkdir ~/VkMusicFs
. Запустите программу снова vk_music_fs ~/VkMusicFs
.
Запустите программу vk_music_fs --get_token vk_login vk_password
. (vk_login
и vk_password
— логин и пароль VK). Программа выведет токен и user-agent, эти две строки нужно скопировать либо в файл VkMusicFs.ini
в том же каталоге, либо в C:\Users\<Username>\AppData\Roaming\VkMusicFs\VkMusicFs.ini
. Запустите программу снова vk_music_fs T:
и система будет примонтирована в диск T. Поддерживается монтирование только в диск, не в директорию. Может потребоваться добавить опции vk_music_fs T: -o uid=-1,gid=-1
если примонтировать не удастся.
Запустите программу vk_music_fs --get_token vk_login vk_password
. (vk_login
и vk_password
— логин и пароль VK). Программа выведет токен и user-agent, эти две строки нужно скопировать либо в файл VkMusicFs.ini
в том же каталоге, либо в ~/Library/Application Support/VkMusicFs/VkMusicFs.ini
. Создайте точку монтирования: mkdir ~/VkMusicFs
. Запустите программу снова: vk_music_fs ~/VkMusicFs -o modules=iconv,from_code=UTF-8,to_code=UTF-8-MAC
и файловая система будет примонтирована.
VK Music FS работает в файловом менеджере, взаимодействие с ним, в основном, происходит через создание каталогов. Например, чтобы создать искать по названию песни «Justin Bieber - Baby», нужно создать каталог Justin Bieber - Baby
в Search
.
Однако создание нового каталога в различных файловых менеджерах может отличаться. В SpaceFM открывается отдельное окно для ввода имени директории и сразу создаётся «правильный» каталог. А, например, в стандартном проводнике Windows сначала создаётся каталог Новая папка
, а потом уже он переименовывается в то, что нужно. Чтобы это исправить и не делать лишние запросы к VK, нужно включить опцию --create_dummy_dirs 1
. Тогда поиск будет идти только при переименовании. Если же используется, например, Total Commander или терминал, то эту опцию наоборот следует отключить: --create_dummy_dirs 0
.
Файловые менеджеры любят открывать файлы, чтобы, к примеру, сделать изображение для предпросмотра. Эту опцию лучше отключить для каталога с Vk Music FS, так как содержимое незакэшированных файлов получается по сети, а не с диска.
В проводнике Windows нужно установить опцию Свойства диска -> Настройка -> Оптимизировать эту папку -> Документы и отметить чекбокс «применять этот же шаблон ко всем подпапкам». В Finder OS X нужно для каталога с файловой системой нажать Command+J, убрать чекбокс «Показывать вид значков» и нажать «Использовать как стандартные».
В версиях до 1.3 при создании каталога нужно было ждать, пока все файлы в нём «загрузятся», то есть появятся в окне файлового менеджера. Начиная с 1.3 файлы по умолчанию «загружаются» по одному. Чтобы это отключить и вернуть старое поведение, нужно передать опцию --enable_async_creation 0
.
После выполнения команд может потребоваться обновление каталога — нужно нажать F5.
-
Создайте каталог с именем, например, 2 чтобы родительский каталог содержал два последних элемента (аудиозаписи).
После этого можно создать каталог 10, тогда будет загружено уже 10 аудиозаписей и так далее.
Команда работает в
My audios
,My playlists
, в поддиректорияхSearch
иSearch by artist
.У «верхних» аудиозаписей в интерфейсе ВК меньшая дата изменения, то есть, можно упорядочить аудиозаписи по дате изменения по возрастанию, чтобы сверху были последние аудиозаписи.
-
Создайте каталог с именем, например, 1-2, чтобы загрузить две аудиозаписи, начиная со второй (первая цифра — номер смещения, вторая — число аудиозаписей).
Команда работает в
My audios
,My playlists
, в поддиректорияхSearch
иSearch by artist
. -
Создайте каталог с именем
Justin Bieber
и в нём будут результаты поиска по этому тексту.Если в каталоге создать подкаталог
Baby
, то запрос будет уточнён —Justin Bieber Baby
Команда работает в
Search
иSearch by artist
, в поддиректорияхSearch
иSearch by artist
. -
Переименуйте файл, добавив к нему
_a
, тогда аудиозапись будет добавлена вMy audios
.Команда работает для всех аудиозаписей во всех директориях.
-
Переименуйте файл, добавив к нему
_s
, создастся каталог, в котором будут аудиозаписи, похожие на эту. Потом можно переименовать обратно.Команда работает для всех аудиозаписей во всех директориях.
-
Создайте каталог
r
илиr<ЦИФРA>
илиrefresh<ЦИФРА>
(r12
,refresh678
), чтобы обновить элементы (аудиозаписи) в каталоге.Команда работает в
My audios
иMy playlists
. -
Удалите файл, чтобы удалить его из
My audios
. Команда работает только в этом каталоге. -
Удалите отдельную аудиозапись или каталог в
Search
иSearch by artist
, или каталог с похожими аудиозаписями, тогда они просто не будут показываться.
Значения по умолчанию могут быть другими и дополнительные опции FUSE не показываются. Все опции можно указать и в конфигурационном файле.
Usage vk_music_fs mountpoint [options]
mountpoint must be either the first argument or
before all options passed to FUSE
General options:
--token arg set token
--user_agent arg set user agent
--sizes_cache_size arg (=10000) set max number of remote file sizes in
cache
--files_cache_size arg (=300) set max number of remote files in cache
--mp3_ext arg (=.mp3) set mp3 files extension
--num_search_files arg (=10) set initial number of files in the
search directory
--cache_dir arg (=/home/vodka2/.cache/VkMusicFs/)
set cache dir
--create_dummy_dirs arg (=0) create dummy dirs
--num_size_retries arg (=3) set max number of HEAD requests when
retrieving size
--err_log arg (=/home/vodka2/.config/VkMusicFs/ErrorLog.txt)
set error log file name
--log_err_to_file arg (=0) log errors to file
--enable_async_creation arg (=1) enable asynchronous audio files and
directories creation
--http_timeout arg (=12000) set HTTP requests timeout in
milliseconds
--help produce help message
--clear_cache clear remote files and remote file
sizes cache
Token options:
--get_token arg Obtain token by login and password