21 июля 2007 г.

BitTorrent клиенты на Qt

Небольшая предыстория. Раньше я редко пользовался BitTorrent-сетью. Когда я использовал СТРИМ, у меня был динамический, но собственный IP и я мог использовать на тот момент еще не прикрытую сеть eDonkey2000, поскольку был соединен с Интернетом напрямую. Чуть позже, когда у меня появилось подключение к локальной сети и я смог наконец начать использовать Linux (да, до этого у меня был программный ADSL-модем), я лишился возможности использовать eDonkey2000 и GNUtella из-за того, что в сети применяется Network Address Translation. Меня это не сильно расстроило, благо внутренних ресурсов хватает. Тогда я впервые попробовал воспользоваться локальным BitTorrent трекером и был благополучно забанен из-за того, что не знал, что такое трекер и ратио (проще говоря, скачал в несколько раз больше, чем раздал). И уже тогда я столкнулся с внешними трекерами (я стал увлекаться аниме, а не всякое аниме возможно было раздобыть в нашей сети).

Однако, вернусь к статье.
В Linux я использовал в основном два BitTorrent клиента - KTorrent и qBitTorrent. В этой статье я приведу их плюсы и минусы. Начну с того, что после установки свежей версии kubuntu, мне потребовалось сразу использовать сеть BitTorrent, поэтому я сразу освещу один неочевидный плюс KTorrent - он поставляется вместе с KDE и для новичка очень просто сразу начать им пользоваться.

Итак, теперь к конкретике. Ниже приведены скриншоты основного окна KTorrent. (Прим.: панель меню вынесена в верхнюю панель рабочего стола à la MacOS, поэтому на скриншоте ее не видно.) Сразу видно, что информативность на очень высоком уровне. Особенно приятна вкладка "файлы", в которой мы можем наглядно ознакомиться со степенью выполнения задачи и структурой каталогов, попутно отмечая или снимая отметки с нужных и ненужных соответственно файлов "на лету".


В KTorrent встроено некое подобие поисковика. Это встроенное в KTorrent окно Konqueror'а, в котором загружается поисковая машина указанного пользователем трекера.

При добавлении торрента в закачки возникает окно, спрашивающее, куда положить файлы торрента, а также окно, предлагающее выбрать, какие файлы из закачки исключить:

О приятностях я рассказал, теперь о неприятном. И тут уже виной не оформление. При попытке добавления некоторых торрентов с разных трекеров вылезает сообщение "неправильный формат torrent-файла". А при попытке закачать другой торрент я столкнулся с тем, что KTorrent просто повис, а при последующих попытках загрузиться - благополучно вылетал до тех пор, пока я ручками не удалил этот торрент из его папки.

Теперь посмотрим на главное окно qBitTorrent. Первое, что бросается в глаза - это рендеринг шрифтов и красивое оформление. Да, это Qt4. Благодаря этому клиент очень красивый. И это, несомненно плюс. Теперь о приземленном. В отличии от KTorrent, информативность этого клиента страдает неполнотой. В главном окне у нас имеется список файлов и лог. Никакой вам подробной информации о доступности торрентов, ни возможности посмотреть структуру каталогов торрента.

Конечно, можно посмотреть подробную информацию о торренте, но никакой структуры каталогов мы здесь не увидим.

Вкладка "поиск" - очень заметна (в KTorrent она конечно тоже есть, но вынесена в не очень удачное место). Так что перейдем к ней. Замечательнейшая функция. Позволяет искать торренты прямо из клиента, при этом не подгружая никакие веб-страницы. Поиск ведется сразу в выбранных поисковиках. К сожалению, список поисковиков расширить невозможно - их стабильно четыре: Mininova, ThePirateBay, ISOhunt и Meganova. Впрочем, лично мне их хватает за глаза.

С добавлением торрентов та же проблема, что и с отображением информации о них. Структура каталогов просто не используется - мы тупо видим список файлов.

Я перешел на qBitTorrent совсем недавно и еще не сталкивался с тем, чтобы какой-то торрент отказался качаться. Очень надеюсь, что и не столкнусь.

UPD: Не столкнулся. qBitTorrent ест торренты, которые не принимает KTorrent. Засада в другом. Дело в том, что я попытался скачать файлов на 1 ГБ из торрента объемом в 16 ГБ. Нужные файлы он, конечно же скачал. Но при этом зарезервировал место на все 16 ГБ, забив его пустышками. Такой наглости я от такого замечательного клиента не ожидал. Поэтому оставлю его исключительно в качестве "саппорта" для KTorrent, который свободное место не забивает.

Подведем итоги.

KTorrent:
+ Информативность
+ Работа со структурой каталогов торрента
- Не самый удобный поиск
- Не самая лучшая совместимость с некоторыми торрентами

qBitTorrent:
+ Удобный поиск
+ Красивое оформление
- Непригоден для выкачивания неполных торрентов, ибо все равно забивает место "пустышками"
- Малая информативность
- Отсутствие работы со структурой каталогов
- Невозможность добавлять поисковые сервисы

PS. qBitTorrent отсутствует в репозитариях Ubuntu, о том, как его установить, написано на официальном сайте qBitTorrent.

7 комментариев:

virens комментирует...

Классные статьи выдаёшь, а говорил идей нет :-)
Раньше пользовался qtorrent - спартанская штучка... Сейчас Azureus. Не знаешь, как там с нескольких торрентов качать? Кстати, можно ещё о нём написать. Будет любопытно.

vonderer@darkstar комментирует...

Спасибо. :)
На момент написания переводов идей действительно не было. qtorrent не стал описывать именно по той причине, что он - "спартанская штучка", я торренты использую часто, поэтому мне он вряд ли подойдет. С Azureus - отдельная история. Он мне очень понравился, но... с моим NAT некоторые BT-клиенты отказываются качать с внешних трекеров. Azureus - среди них, я пока не успел разобраться, как подружить его с моим NAT'ом.

А что ты имеешь в виду под "как там с нескольких торрентов качать"? Если это относится к тому, что у меня несколько торрентов в списке по два раза висят - так это я на разных трекерах раздачи веду, на локальном и на внешнем.

vonderer@darkstar комментирует...

Очевидно, но невероятно: только что скачал Azureus, собрал как описано в how-to, задал рандомно порт и попробовал скачать что-то с внешнего трекера. Благополучно скачал и раздаю. %)

Погоняю, может оценю. Но желания использовать Azureus вместо KTorrent или qBitTorrent пока не возникло. Все-таки основной недостаток Java-приложений в том, что при всей их мультиплатформенности, они довольно медлительны. :)

ru_linuxtalk комментирует...

Скорее всего те "пустышки" - это файлы с "дыркой" вначале. Фактический размер можно посмотреть командой du.
KTorrent тоже умеет так делать, если скачать какой-то один файл из торрента, а потом проверить его целостность.
Сам пользуюсь KTorrent'ом, проблем пока не было.. возможно, это зависит от трекера.

Кстати, я не уверен, что KTorrent входит в KDE. Но он точно входит в Kubuntu.

MK комментирует...

Немного по тупому будет выглядеть инструкция, но если даблкликнуть на значке NAT в статусной страке Azureus'а (наверное должен быть включен advanced режим), то откроется страница помощи в виках (к сожалению не могу дать ссылку). Там будет даваться объяснение что и как и почему именно так в Ubuntu. Ключевые слова NAT problem Azureus.

Надо немного подправить iptables и Azureus будет нормально работать

Анонимный комментирует...

Советую BTPD. Он демонический, как и mpd. У него пока единственный клиент - btcli. Написан на С, очень быстр.

Анонимный комментирует...

для разнообразия очень смахивающий по функциональности,но ещё сырой deluge..
-Ktorrent'a не стабильная скорость, по крайней мере при использовании в Gnome

Отправить комментарий