Архив рубрики: Линуксоиду

Заметки, призванные облегчить жизнь пользователю Linux.

Об использовании MLdonkey в сети Direct Connect

В чём уникальность этого клиента? Всё очень просто — вводим в браузере адрес и порт, на котором запущен веб-интерфейс MLdonkey и управляем им с любого девайса, способного отображать сайты. Конечно, веб-управление для Direct Connect не новость — что-то по отдельности умеют FlylinkDC (опция «Включить веб-сервер»), написанный на PHP клиент PHPDC, Ajax чат как довесок к хабовому софту, но до нормального функционала всем им далеко — урезан либо чат, либо скачка файлов. MLdonkey — мощный комбайн, вобравший в себя поддержку всех (!) возможных p2p протоколов, а также возможность закачки по http, ftp, ssh. Мне не было нужды качать им торренты, но протокол отлично поддерживается, DHT также работает. К слову сказать, поддержка Direct Connect появилась в программе гораздо позже и реализована как встроенный плагин.
Судя по тегам юзеров на хабах, пользователей MLdonkey в природе не существует (кроме меня любимого). Но народ периодически просит поведать о софтине, так что попробую.
Достоинства MLdonkey:
- минимум зависимостей, не требует графического окружения.
- позволяет выполнить любую системную команду, что избавит некоторых от установки webmin для удалённого управления (требуется в настройках разрешить выполнение всех команд и запуск от имени root)
- ест крайне мало ресурсов, легко может быть развернут на VDS, VPS (где к примеру уже запущен хабовый софт и стоит задача мониторить работу хаба). Умеет качать-раздавать файлы (нахождение альтернативных источников поддерживает), читать и писать в чаты и ЛС. Очень удобный инструмент, если хаб работает на VerliHub — настроить его удалённо через браузер позволяет строка ввода.
Не стоит ждать от программы юзабельности GUI клиентов, отображение хабов в браузере выглядит необычно, хотя со временем привыкаешь. Новое сообщение в чате или личке даст знать о себе мерцающим текстом, когда вы обновите интерфейс.

MLdonkey желательно собрать из исходников, не во всех бинарных дистрибутивах он скомпилирован с поддержкой протокола Direct Connect. В репозитариях Debian 7 до сих пор лежит версия 3.1.2, хотя 2 года как вышла 3.1.3. Придётся много повозиться с настройкой софтины, всеядность пошла в ущерб простоте конфигурации. Настройки хабов я предпочитаю вручную вбить в конфиги directconnect.ini и servers.ini, остальное более-менее быстро можно настроить в пункте интерфейса Options.
Из недостатков MLdonkey замечены:
- необходимость обновления сообщений чата вручную, нажимая кнопку Refresh:

- пришедшее ЛС исчезает, когда юзер покидает хаб
- присутствует русская локализация, но включить её непросто
- демон не хочет запускаться из rc.local при старте системы. Есть работающий для Debian 7 вариант — пакет собственной сборки со стартующим из init.d скриптом.

(оценок: 2, средняя оценка: 5.00, рейтинг: 100%)

Загоняем музыкальную коллекцию lossless в wavpack

Согласитесь, не очень удобно держать в музыкальной коллекции сотни альбомов, раскиданных по папкам, где лежат вместе файлы с расширениями .cue, .ape, .flac, .log, да ещё хаотично разбросанные сканы диска. Нам на помощь придёт кодировщик wavpack, в котором есть возможность записывать в выходной файл теги APE v2. Это значит, что разметку .cue, лог рипа и картинки можно встроить в единый файл с расширением .wv (по спецификации размер метаданных файла не должен превышать 1 МБ, чего вполне хватит для встраивания обложек в невысоком разрешении). Один альбом — один файл, чем не unix-way? :) Естественно, ни о какой потере качества звука речи не идёт, это не mp3 с его алгоритмами компрессии звука, фактически wavpack контейнер, проще говоря — архиватор несжатого PCM потока.
Вкратце про ситуацию с поддержкой плеерами файлов, закодированных моим способом: без вывода дорожек воспроизводят mplayer и VLC (почему разработчики до сих пор не удосужились впилить поддержку cue — загадка, однако mplayer в консоли выводит содержимое cue). Треки видит DeaDBeeF, с некоторых пор этот плеер подключается через репозитарий разработчика. Виндовый foobar2000 конечно тоже читает без проблем. Я был немало удивлён наличию в Android читающего по трекам плеера — Neutron, к тому же он поддерживает CIFS и я крайне рад, что могу слушать коллекцию в своём телефоне прямиком с домашней сетевой шары.
Устанавливаем пакет wavpack, который есть в репозитариях любого линукса. Процесс кодирования будет состоять из нескольких этапов:
1) Распаковка в wav из .ape, .flac исходников. Способов много, я поведаю про свой в одной из следующих статей.
2) Правка .cue (здесь важный момент — укажите в редакторе имя wav-файла, каким вы желаете видеть его в коллекции, а распакованный wav можно даже не переименовывать). Также потребуется лог извлечения EAC сохранить в юникоде (UTF-8), иначе foobar2000 не покажет в свойствах файла лог извлечения на русском.
3) Уменьшение размера картинок, чтобы все они в итоге не превысили лимит в 1 МБ, затем переименование их в front.jpg, back.jpg, cd.jpg. Я это делаю скриптом для Наутилуса, быстро и просто (требует установленного imagemagic).
4) Собственно кодирование, процедура целиком пакетная, нужно лишь ткнуть на контекстное меню Nautilus-а (или Caja в среде Mate; Thunar из XFCE4 также можно приспособить под это дело) по wav файлу, подождать пару минут, отслеживая окончание загрузки процессора:
wvtools
На выходе мы получим монолитный .wv, читаемый всеми указанными плеерами; его надо будет переименовать, чтобы имя соответствовало указанному в cue-файле *.wav
Скачиваем архив, распаковываем папку со скриптами в директорию ~/.config/caja/scripts , теперь по вызову контекстного меню в Caja откроется пункт Сценарии > wavpack_tools, где будет несколько моих шаблонных скриптов, в том числе один для извлечения исходных файлов из уже запакованных в wavpack. В скриптах правим пути сохранения под свои, шаблон выбираем исходя из наличия заготовленных обложек.
В Windows приготовить аналогичный .wv можно в конвертере foobar2000. Мне показалось, что на это уходит больше телодвижений.
В сети большинство рипов в wavpack на трекерах имеют другой формат, двойное расширение .iso.wv намекает, что эти файлы могут быть прочитаны и распакованы архиватором или примонтированы как образ диска. Может и удобно, но выложенный мною скрипт или конвертер фубара в любом случае справятся с извлечением.
Перед тем как кодировать диск, желательно проверить совпадение его с базой AccurateRip. Для чего это нужно и как делается — попробую описать в следующей статье.

(оценок: 0, средняя оценка: 0.00, рейтинг: 0%)