Miranda

Материал из Lurkmore

Перейти к: навигация, поиск
Nohate.jpgНЯ!
Эта статья полна любви и обожания.
Возможно, стоит добавить ещё больше?
Голая Миранда.
Oh, exploitable!

Miranda IM — православный мультипротокольный IM-клиент, сложный в настройке, но обладающий множеством возможностей по сравнению с остальными клиентами. По степени распространения в русских интернетах сильно уступает этому вашему QIP. В 2012 году разработчики доблестно самораспилились поровну, вследствие чего появилось два параллельных проекта, Miranda IM и Miranda NG.

Содержание

Datasheet (тех. информация)

  • 'Целевая платформа:win32/win64 (win9x, winNT), некоторые собрали таки с winelib
  • 'Язык программирования:C/C++ (ядро, базовые плагины, большинство известных доступных плагинов)
  • Структура: модульная: ядро (win32 PE EXE) + плагины (DLL): драйвер БД, протоколы, контакт-лист, окно ввода, pop-up’ы, tooltip’ы и т. п. + БД для каждого пользователя + обложки + иконки + ресурсы сторонних плагинов.
  • Поддержка Unicode: два раздельных дистрибутива — ANSI и Unicode (UTF-16), некоторые плагины юзают unicows.dll (актуально только для IM версии, в NG этот фатальный недостаток убран, и поддержка ansi версий прекращена)
  • Размер дистрибутива: ~1.6MB
  • Утилиты мигрирования: да, импорт контактов/истории из других клиентов (+сторонние плагины)
  • Требует наличия дополнительных библиотек: нет (в новых версиях SSL включены в дистрибутив)
  • Субъективная скорость работы: ситуация почти аналогична Огнелису: чистая миранда работает очень быстро; тупо обвешанная всевозможными плагинами — сильно тормозит (а иногда даже вешает систему); при грамотном подборе необходимых плагинов скорость как минимум нормальная.

Особенности

Миранда со всякими свистелками и перделками в стиле линейки

Изначально разрабатывалась как максимально минималистичный мультипротокольный клиент, но постепенно обросла различными свистелками и перделками в виде плагинов, которых написано различными добровольцами значительно более 9000. Таким образом, из базового дистрибутива можно сделать как трёхколёсный велосипед, так и реактивный истребитель монстроподобный тормозной комбайн со свистоперделками вроде температуры железа — вопрос лишь во времени, потраченном на обработку напильником.
Хоть сборка Миранды подразумевает наличие прямых рук, британскими учеными доказано что это под силу даже блондинкам. В худшем случае получится нестабильно работающий клиент, который будет хуже ICQ2003b и ICQ5. Однако и сборки задротов время от времени вылетают с ошибкой.

Настройки Миранды, тысячи их!
Миранда — что-то среднее между Winamp и EMACS.

Обилие настроек хорошо подчёркивает Bashorgrufavicon.pngцитата № 399966 на баше:

Она: Я поставила миранду и разбираюсь в ней)
Он: Ооо, большое дело)
Она: Я думаю, если постараться, то судя по настройкам, тут мона грудь увеличить)

В отличие от многих своих конкурентов, Миранда разрабатывалась по принципу расширения функциональности и сохранения минимализма в GUI. Это стало залогом её быстродействия и неприхотливости.

Миранда исповедует модульную архитектуру — за каждую функцию отвечает свой тип плагинов: Contact-list, database driver, message sessions, всякие «сервис-плагины» типа добавителей смайлов, тем, шрифтов и т. п. Благодаря полной открытости и бесплатности, для проекта написано огромное количество действительно уникальных вещей: шифровальщики сообщений, драйверы БД, позволяющие хранить данные только в оперативной памяти, гигантское число протоколов обмена сообщениями, всевозможные pop-up’ы, тулбары и прочая поебень. Большой профит можно получить также при наличии прямых рук и работоспособного головного мозга — любой кодер может дописать то, чего ему не хватает.

Миранда популярна среди некоторых красноглазиков в силу того что запускается через ваен. Однако, при этом работают даже не все плагины из стандартной поставки, так что сборка миранды под Линукс — отдельная песня. Но полномасштабно портировать её почти не пытались потому как под юникслайками меранда не нужна. Совсем не нужна.

Плагины

Всё пучком.

В список поддерживаемых через плагины систем общения наряду с IRC, Jabber[1], ICQ затесались такие быдлосети как ВКонтакте и Mail.ru Agent. Поскольку плагинов очень много, в миранду возможно добавить всё — от возможности показывать всплывающие окна и аггрегировать RSS-фиды, до асимметричного шифрования и встроенного морского боя по протоколу ICQ. Увлечение плагинописанием доходит до того, что можно пересылать по быдлоасечке матан-формулы, ничем не отличающиеся по виду от этого вашего $LaTeX$'а[2].

Поскольку некоторые плагины могут быть несовместимы друг с другом, процесс «сборки» Миранды — дело довольно долгое, поэтому занимаются этим отдельные гики, распространяя потом свои сборки, чем полностью убивают оригинальную задумку «собери сам». Особенных лулзов доставляет наличие в некоторых сборках плагинов-троянов, угоняющих ICQ-номерки и другие пароли.

Если же ты, несчастный, решил собрать свою Миранду, то для создания комбайна, который удовлетворит все твои потребности (кроме той, для которой нужен браузер), тебе не повредит прикинуть список необходимых и просто полезных плагинов. Итак:

  • Сам контакт-лист. Clist_classic — кондовый, простой, почти ненастраиваемый. Clist_modern — поддержка скинов (отключаемая, так что системная тема подхватывается на ура), настраиваемые фреймы (панели, проще говоря) и редактируемый в самых широких пределах режим отображения контактов. Clist_nicer — нечто среднее, настраиваемости поменьше и скины не поддерживаются.
  • Окно сообщений. Tabsrmm — поддерживает скины, настраивается в самых широких пределах: вертикальные вкладки, например. Scriver — мультитабовый минималистичный GUI без потери основного функционала и прикручивания различных свистоперделок.
  • Протоколы: ну тут всё понятно. Есть от упомянутых соцсетей до RSS-агрегатора, не исключая, кстати плагина для погоды. Если уж конкретизировать — существует IcqOscar J Plus Mod, после которого стандартный icq.dll (тоже фичастый, к слову) кажется ущербным. С другой стороны, реализация jabber почему-то не требует костылей и всяческих модов.
  • Stopspam aka StopSpam mod — стандартненький такой вопросо-ответный антиспам.
  • Authstate — авторизация.
  • Startupstatus и keepstatus — полезные вещи, дабы каждый раз не чертыхаться и не тянуться на панель статуса.
  • Avs — работа с аватарами. Может быть дополнен flashavatars-плагином.
  • langman — удобная штука для работы с локализациями.
  • Updater — это чтобы каждую dll не приходилось обновлять вручную. Настраивается чувствительность (обновление при выходе нового билда, нового минорного релиза, нового мажорного релиза, альфы/беты/ночника).
  • Fingerprint и extraicons — частично перекрывающие функционал друг друга, но вместе с clist_modern и tabsrmm — крайне полезные вещи. Отображают разнообразные иконки касаемо профиля контакта: от пола до активности Jabber. Сюда же — flags, отображающие, как ни странно, флаг страны, где собеседник предположительно находится.
  • Tipper YM — всплывающие подсказки под курсором. Настроек — туча.
  • Popup.dll — всплывающие окна. Аналог — YAPP (Yet Another Popup Plugin). Есть поддержка скинов, да и настраиваемость в последней версии плагина весьма расширилась и стала более кошерна. Идёт в пачке с MtextcontrolW.dll (текстовый рендер API’шного формата в более другой).
  • History++ — плагин для просмотра истории. Может использоваться в качестве окна чата, как и IEview, и добавлять туда всяческие красивости (навроде того, что есть в Kopete). Оба в силу тяжеловесности не могут работать с конференциями, да и в чатах рекомендуется использовать с осторожностью. С другой стороны, в качестве просмотрщика истории благодаря дереву дат, фильтру и т. п. великолепен.

Помимо этого, есть куча других плагинов — от банальных смайликов до мини-игр.

См. также

Примечания

  1. При этом, если аську миранда функционально расширяет, то джаббер в ней становится ущербным до крайности. Изначально гибкий и расширяемый джаббер в тесных рамках предлагаемых плагинов становится хуже, чем тот же IСQ5. Та же песня с IRC
  2. Разумеется, у обоих игроков при этом должна быть миранда с одним и тем же плагином.


Источник — «https://lurkmore.to/Miranda»