Журнал LinuxFormat - перейти на главную

LXF116:DC-клиент

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Выбираем DC-клиент

Пусть в сетях Direct Connect не сразу появляются свежие дистрибутивы Linux; там и без них можно найти много интересного. Евгений Зобнин подберет для этих целей подходящую программу.

Сегодня в локальных сетях все чаще можно встретить протокол DC (Direct Connect), используемый в качестве средства для обмена файлами. Пиринговые DC-сети заслужили большую популярность благодаря открытому коду клиентов (а для Windows-пользователей это означает, в первую очередь, бесплатность) и доступности серверов-«хабов» (hub). Немаловажным фактором популярности DC явилась также интегрированная система обмена текстовыми сообщениями с другими пользова- телями (проще говоря, DC – это не только P2P-сеть, но и чат). Многие локальные сети обзавелись собственным (и зачастую не одним) DC-хабом, которые имеют тенденцию превращаться в базар, где каждый может не только устроить бартер с другими участниками, но и просто хорошо провести время за приятной беседой.

К сожалению, эгоизм Windows-программистов в очередной раз дал о себе знать, оставив пользователей других операционных систем не у дел: официальный DC-клиент хоть и открыт в плане исходного кода, но жестко привязан к WinAPI. К счастью, ответ от мира свободного ПО не заставил себя долго ждать, и вскоре начали появляться DC-клиенты и под Unix: не слишком функциональные, не слишком стабильные, не поддерживающие русских кодировок, но все же работающие. Прошло время, и сегодня из них осталось три созревших лидера, пусть и уступающих в чем-то своим Windows-аналогам, но вполне подходящих для повседневного использования. Встречайте!

LinuxDC++


LinuxDC++ появился как Unix-вариант официального DC-клиента. Его внутренняя логика базируется на ядре DC++, а интерфейс переписан с WinAPI на GTK+. Долгое время сей замечательный продукт был скрыт от глаз публики, и единственным путем его получения оставался репозиторий Subversion. К моменту, когда все самые значимые элементы интерфейса были закончены, разработчики нарекли свое детище linuxdcpp-1.0.0 и сопроводили официальной web-страничкой со ссылками на tar-архивы и пакеты для Linux-дистрибутивов. Это довольно странный для сообщества Open Source подход к разработке, последствия которого сказались на стабильности программы (хотя версия 1.0.3 уже достаточно стойкая к сбоям).

Клиент поддерживает перекодировку символов «из коробки». Для комфортной работы на территории России достаточно указать стандартную Windows-локаль cp1251 в настройках хаба, либо сделать тоже самое на вкладке Personal [Личное] в окне настроек. Последние версии LinuxDC++ также поддерживают magnet-ссылки и пользовательские команды. Из недостатков можно выделить полное отсутствие какой-либо подсветки в окне чата (если судить по неактивным кнопкам, призванным настраивать эти параметры, в скором времени она должна появиться) и поддержки сегментированной загрузки (это когда файл выкачивается сразу с нескольких пользователей, что существенно снижает время ожидания – наряду с интернационализацией, планируется к добавлению в следующем релизе). В остальном же все достаточно стандартно, включая автоматический поиск альтернативных источников для «очереди на скачивание», необязательное SSL-шифрование и возможность изменения множества настроек для так называемых «продвинутых пользователей».

Valknut


Еще одна попытка создать полнофункциональный DC-клиент для UNIX, на сей раз с использованием графической библиотеки Qt (версии 3 или 4, на выбор). В отличие от LinuxDC++, этот выдержанный временем продукт (разработка Valknut началась аж в 2001 году, когда он носил имя dcgui) не претендует на звание Unix-аналога DC++, хоть и повторяет многие элементы интерфейса последнего.

Valknut обладает всеми достоинствами LinuxDC++ и лишен его недостатков. Подсветка чата присутствует и может быть легко переиначена в окне настроек. Сегментированная загрузка поддерживается, но придется слегка подкорректировать настройки, чтобы клиент начинал поиск альтернативных источников сразу, а не ждал долгие 10 минут. Кроме того, Valknut имеет встроенный поисковый шпион, который показывает все поисковые запросы, сделанные другими пользователями хаба, в реальном времени, поддерживает расширяемые модули и списки друзей, а также достаточно хорошо русифицирован.

Несмотря на все свои достоинства, среди пользователей Valknut заработал репутацию неудобного и щедрого на ошибки DC-клиента с далекой от идеала поддержкой альтернативных кодировок. Однако с каждой новой версией программа становится все лучше и лучше. Постоянно дающая сбои функция перекодировки имен файлов была поправлена, вы больше не увидите «иероглифов» в имени загруженного файла и сможете контактировать с пользователями, чьи ники написаны кириллицей. В окно настроек была добавлена опция, позволяющая увидеть в правой части списка файлов не только сами файлы, но и каталоги. Ненавистную всем систему дочерних окон теперь можно отключить и наслаждаться классическими вкладками (правда, потребуется Qt 4.4). С другой стороны, программа до сих пор полна ошибок и не может похвастаться стабильностью соединения с сервером. Система модулей расширения могла бы стать шикарным инструментом продвинутых пользователей, если бы за все время существования этой функции появилось хоть одно работоспособное дополнение. Досадное отсутствие поддержки нового DC-протокола (ADC) за недостаток считать не стоит, потому как все распространенные хабы поддерживают его наравне со старым.

Microdc2


Консольный DC-клиент. Интерфейс устроен на манер ftp-клиента: вводишь команду, получаешь ответ от сервера. Поддерживает все основные (и в большинстве случаев достаточные) возможности DC, в том числе чат и поиск. Не забыта функция автодополнения, причем как команд, так и ников пользователей. Также присутствует команда alias, с помощью которой, на манер консоли, можно заменить длинные комбинации короткими удобными командами. Быстрый и нетребовательный к ресурсам.

Из недостатков можно отметить отсутствие поддержки сегментированной загрузки файлов, работу не более чем с одним хабом одновременно и некоторое неудобство использования, порождаемое тем фактом, что все сообщения, как диагностические, так и чат-сессии, сыплются в одно окно (а ведь еще и команды надо вводить и читать список файлов!). Но это уже непоборимая проблема консольной сущности программы, и единственное, что можно сделать – это просто отключить мешающие сообщения командой set display. Как и всякое уважающее себя Unix-приложение, Microdc2 имеет конфигурационный файл, пример которого приведен ниже.

# Ник
set nick vasya
# Пароль
set password secret
# Включаем активный режим работы
set active 1
# Кодировка хаба (cp1251 для русскоговорящих)
set hub_charset cp1251
# Автоматическое подключение в случае обрыва связи
set auto_reconnect 1
# Скорость соединения (часто хабы игнорируют этот параметр, но все же лучше указать)
set speed cable
# Каталог для скачанных файлов
set downloaddir /home/vasya/download
# Сокращения команд
alias l="ls -l"
# Команды для быстрого переключения между хабами
alias hub1="disconnect; set nick vasya; set password secret1; connect 192.168.1.1"
alias hub2="disconnect; set nick petya; set password secret2; connect 192.168.1.2"
alias hub3="disconnect; set nick boris; set password secret3; connect 192.168.1.3"

Альтернативы

При должном терпении, на просторах Интернета вы сможете найти и множество других DC-клиентов для альтернативных платформ. Среди них есть реализации с графическими интерфейсами на Qt и GTK+, консольные клиенты и даже клиенты, написанные на Java (javadc) и C# (dcsharp). К несчастью, большинство из них находятся на начальной стадии разработки, поддерживают очень узкий круг возможностей и не могут работать с альтернативными кодировками. Последние версии комбайна MLDonkey также справляются с протоколом Direct Connect, но пользоваться им сможет разве что инопланетянин, имеющий очень странное представление об удобстве. Еще более огорчает то, что такие разработки, как DCTC и DoldaConnect, созданные по всем правилам Unix-проектирования (а это, в первую очередь, разделение программы на клиентскую и серверную части), медленно, но верно становятся историей, а поддерживающий сегментированную загрузку, управление из скриптов и ориентированный на истинных технарей CuRZed DC++ (http://sourceforge.net/projects/crzdc) до сих пор находится в закрытой стадии разработки.

Подводя итог, трудно однозначно рекомендовать какой-то из трех рассмотренных клиентов. Идеала среди них нет, поэтому выбор следует делать на основе личных предпочтений и требований к программе. Valknut ближе остальных подошел к званию «Лучший из лучших», но застрял на той отметке, где удобство использования и стабильность значат больше, чем сегментированная загрузка или наличие дополнительных возможностей. LinuxDC++, напротив, достаточно стабилен и удобен, но до сих находится на уровне развития первых версий DC++ для Windows. Особняком стоит Microdc2, который мало что умеет, но наверняка придется по вкусу юниксоидам старой школы.

Также стоит сказать о том, что из представленной тройки активно развивается только Valknut, новые версии которого выходят ежемесячно. LinuxDC++ медленно, но верно движется в сторону поддержки новой версии ядра DC++, а развитие Microdc2 остановилось еще в 2006 году и, увы, вряд ли продолжится.

LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика