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



Быстро пролетело чуть больше трех лет, и получился LeechCraft. LeechCraft — это модульный кроссплатформенный интернет-клиент. Модульный — все по-настоящему важное выполняется плагинами, а ядро программы только связывает их между собой, да показывает общий для них интерфейс. Кроссплатформенный? LeechCraft постоянно используется автором под Linux, запускается под Windows и, теоретически, может работать под Mac OS X. Однако, за неимением Мака работа под ним не была протестирована.





Сегодня вышла версия 0.3.0. Итак, сегодня уже есть (из наиболее важных):

  • Aggregator, клиент для чтения лент новостей.
  • BitTorrent, плагин для BitTorrent-сетей, как это ни странно.
  • LMP, небольшой медиа-проигрыватель, поддерживающий очереди и потоковое воспроизведение.
  • Poshuku, полноценный веб-браузер.
  • SeekThru, OpenSearch-клиент.


Для полноты картины отмечу, что есть еще:
  • CSTP, обеспечивающий работу с HTTP-протоколом.
  • DBusManager, который дает LeechCraft'у связь с внешним миром через D-Bus.
  • DeadLyrics, который был хорошим клиентом для LyricWiki.org, но из-за изменения API умер.
  • HistoryHolder, отслеживающий историю закачек.
  • NetworkMonitor, отслеживающий HTTP-запросы.


Что же уже написано для следующей версии?
  • Chatter, небольшой плагин, адаптированный из отдельной программы, для общения в IRC.
  • LCFTP, поддержка FTP-закачек и двухпанельный FTP-клиент.


Что же планируется?
  • Поддержка протокола Gnutella и, возможно, DC.
  • Удаленный доступ через Web, Jabber.
  • Интеграции с контактиками, LOR и, конечно же, Хабрахабром.
  • Поддержка плагинов на других языках программирования как напрямую, например, Python, так и через механизмы вроде D-Bus.


А, я ведь еще не сказал, на чем пишется LeechCraft. А пишется он на C++, Qt и Boost.

Ты, %username%, можешь спросить, нафига такой комбайн, когда есть уже %programname%?
Потому что плагины очень хорошо интегрируются между собой, и в то же время могут работать по отдельности, и очень легко добавлять новые плагины. В чем выражается интеграция? Например, все плагины показываются в одном окне (хотя и могут открывать новые, если захотят), плагины для закачек показывают список задач в одном списке, и прочее, прочее, прочее.
Например, можно при помощи BitTorrent в автоматическом режиме скачивать ссылки, полученные из новостей в Aggregator и добавлять скачанные медиа-файлы в LMP. Благодаря проработанной архитектуре, добавить свой плагин, работающий с новым протоколом, и интегрировать его с остальными очень просто. Плагин Chatter был переделан из отдельной программы за несколько часов, и теперь любая другая часть LeechCraft поддерживает irc-ссылки.

В общем, более детальное описание есть в Википедии: ru.wikipedia.org/wiki/LeechCraft

Также, программа разрабатывается сейчас двумя людьми, один делает плагин Chatter, другой — все остальное. Есть еще несколько человек, помогающих со сборками под Windows и различные дистрибутивы Linux.
Кто был бы очень нужен?
  • Переводчики. Есть перевод на русский, как-то продвигается дело с немецким, украинским и арабским. Нужно допиливать как эти, так и переводить на другие языки.
  • Дизайнеры иконок, тем и пользовательских интерфейсов.
  • Сайтостроители. Сайт проекта, leechcraft.org, хорош, но только как «зона для разработчиков». Было бы очень здорово нарисовать красивый сайт, со скриншотами, пользовательскими мануалами и ссылкой «скачать».
  • Разработчики.
  • Ну и просто пользователи, конечно же.
  • LeechCraft пишется и используется в основном под Linux, поэтому работа под Windows не отлажена. Да и не обладает автор программы временем и ресурсами для отладки под Windows. А еще версия 0.3 выпустилась уже устаревшей, ибо давно вошла в feature freeze, а разработка перенеслась на master-бранч. По факту, 0.3.0 является демонстрацией того, что что-то есть, что-то собирается и даже как-то иногда работает. Поэтому нужны Win32-девелоперы.


Где можно все это обсуждать?
  • Конференция leechcraft@conference.jabber.ru
  • Либо писать автору в личку, d34df00d@jabber.ru


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