Miranda IM | |
---|---|
Тип | клиент системы мгновенного обмена сообщениями, IRC-клиент[вд], софтфон и XMPP-клиент |
Написана на | C++ и Си |
Операционная система | Windows |
Первый выпуск | 2 февраля 2000 |
Последняя версия | 0.10.80.0 (25 апреля 2018) |
Репозиторий | sourceforge.net/p/mirand… |
Состояние | проект закрыт |
Лицензия | GNU GPL 2 |
Сайт | miranda-im.org (англ.) |
Медиафайлы на Викискладе |
Miranda IM (Miranda Instant Messenger) — программа обмена мгновенными сообщениями для Windows. Распространяется под лицензией GPL 2.
Miranda IM обеспечивает рабочую среду клиента для сетей обмена мгновенными сообщениями, дизайн и функциональность которой можно изменять и расширять с помощью дополнительных плагинов.
Распространяется в двух версиях — Unicode (под ОС семейства Windows NT — NT, XP и далее), и ANSI (под ОС семейства Windows 9x).
В 2018 году разработка Miranda IM была прекращена. Часть покинувших проект разработчиков создала форк Miranda NG.
Miranda была создана Роландом Рабьеном (англ. Roland Rabien) 2 февраля 2000 года. На тот момент это был минималистский клон программы ICQ и официально программа называлась Miranda ICQ. Первая версия 0.0.1 была выпущена 6 февраля 2000 года. Программа использовала библиотеку LibICQ, не имела поддержки истории сообщений, базы данных, плагинов и имела размер меньше 100 Кбайт.
Основной особенностью версии 0.0.4 стал бот MegaHAL, который позволял вести автоматический чат между Miranda и другими пользователями. С версией 0.0.6 появилась поддержка плагинов и первым стал плагин истории Logger.
После выпуска версии 0.0.6.1 26 декабря 2000 года разработчики перестали поддерживать Miranda. Версия 0.1.0.0 была выпущена 8 апреля 2001 года Ричардом Хьюзом (англ. Richard Hughes), который взял руководство над проектом. Код Miranda был существенно переработан, окно диалога сообщений впервые было вынесено в отдельный плагин. В версию 0.1.1.0 был добавлен протокол MSN Messenger, ставший вторым протоколом, который стала поддерживать Miranda. Также эта версия была первой, в которой была добавлена поддержка языковых пакетов. С того времени Miranda стала мультипротокольным и многоязычным IM-клиентом.
После выпуска версии 0.1.0.0 началась активная разработка плагинов для Miranda. К версии 0.1.2.1, выпущенной 28 февраля 2002 года, было доступно приблизительно 50 плагинов. В это время был выпущен плагин Lizard, позволяющий использовать разные стили оформления, однако разработка плагина со временем прекратилась из-за нестабильности, которую он создавал в Miranda.
После ухода Ричарда Хьюза в июне 2002 года[1], разработчики Мартин Оберг, Роберт Рейнвотер,
Сэм К и Лион Лим взяли на себя дальнейшую разработку проекта. Разработку протокола MSN продолжил Рако Шизука. Он также разработал первую версию протокола Yahoo! Messenger, ставшего третьим протоколом, поддерживаемым в Miranda. Плагин Yahoo! имел закрытый исходный код и потерял актуальность в связи с изменениями в официальном протоколе Yahoo!. Позднее плагин протокола Yahoo! был переписан Геннадием Фельдманом.
В это время появились первые плагины, которые не относились к передаче мгновенных сообщений, такие как RSS (RSS News) и сводка погоды (Weather). Впервые контакты в списке контактов начали использоваться для отображения информации, а не для общения.
В это время начались дискуссии о переименовании программы и выделении кода поддержки ICQ из ядра. 17 декабря 2002 года, в связи с увеличением поддерживаемых протоколов, проект был официально переименован в Miranda IM.
Новая версия программы, названная Miranda IM, вышла 1 февраля 2003 года, спустя 3 года после основания проекта. Всего через две недели вышла следующая версия Miranda, содержащая исправления ошибок.
Самым значительным изменением версии 0.3, выпущенной 23 июня 2003 года, было перемещение поддержки ICQ из ядра программы в отдельный плагин. С этого времени Miranda могла работать без поддержки ICQ.[2] Сайт проекта получил новый адрес (www.miranda-im.org) и на нём были открыты новый форум для обсуждений и файловый архив.
В версию 0.3 были включены плагины протоколов ICQ, MSN, AIM и Jabber. Протокол Yahoo! не был включён в дистрибутив. Поддержку протокола IRC позднее обеспечил Йорген Перссон и этот протокол 8 августа 2003 года вошёл в официальный релиз Miranda версии 0.3.1.[3]
Другим значительным изменением Miranda в этой ветке было перемещение модуля отправки-получения сообщений (Send-Receive Messaging Module) из ядра в отдельный плагин SRMM.[3] Это заметно уменьшило размер исполняемого файла и дало толчок к созданию новых плагинов-окон переписки. В этот период появилось множество вариаций SRMM (SRAMM, SRMM_mod и т. п.), предлагающих разные новые возможности и улучшения стандартной реализации.
Версия 0.4 была выпущена 7 апреля 2005 года. Это была первая версия с протоколом Yahoo!, включённым в официальный дистрибутив. Другими значительными изменениями стали перемещение модуля списка контактов и модуля базы данных из ядра в отдельные плагины.[4][5] В результате появилось 4 вариации модуля списка контактов: классический (clist_classic), многооконный (clist_mw), современный список контактов (clist_modern) и улучшенный список контактов с расширенным изменением интерфейса (clist_nicer).
Также в этот период были созданы другие популярные плагины, включая модули окон сообщений со «вкладками» (TabSRMM и Scriver), модуль поддержки HTML-журнала сообщений (IEView), скриптовый плагин mbot и плагин метаконтактов.
Miranda IM версии 0.5 была выпущена 28 июля 2006 года. Это была первая версия, которая поддерживала юникод для полноценного использования на системах Windows NT, 2000 и XP. Другой особенностью было введение протокола AIM OSCAR, впервые представленного в начале 2006 года, который позволял передавать файлы и использовать статусные сообщения. Также эта версия предусматривала расширенную поддержку аватаров среди различных протоколов.[6]
Версия 0.6 была выпущена 29 декабря 2006 года. Новшеством этой версии была поддержка UPnP для улучшения передачи файлов и прямых соединений через маршрутизаторы.[7] В этой же версии базы данных начинают поддерживать хранение данных в UTF-8, однако это не является обязательным. В API для плагинов добавлена работа с памятью. Кроме того, к моменту завершения работы над версией 0.5 возникла угроза, что разные куски Miranda расползутся слишком далеко.
Версия 0.7 увидела свет 1 октября 2007 года. В ней было сделано множество изменений в ядре Miranda. Система меню была переписана, модуль работы со шрифтами (FontService) и модуль работы с пиктограммами (IcoLib) были внесены в ядро. В дистрибутив вошли плагины для работы с изображениями и менеджер аватаров. Хранение данных в базе данных было принудительно переведено в UTF-8, что вызвало много проблем совместимости со старыми плагинами и повреждёнными базами данных.[8] Модульный интерфейс был изменён и теперь плагины должны были идентифицировать себя и предоставляемые функции с помощью уникальных идентификаторов (UUID).
Протокол Jabber перешёл в стадию активного развития, его интерфейс был качественно переработан и стал пригоден для регулярного использования.
Версия 0.8 Miranda доступна c 17 июня 2009. В ней реализована работа с несколькими аккаунтами одного протокола, без необходимости копирования DLL-файлов плагинов.[9] Улучшена совместимость с Windows Vista. Также стало более дружелюбным окно настроек, в котором появился поиск по настройкам.[10]
Развитие ветки продолжается и после появления серии 0.9.x. Все пиктограммы заменены на более качественные, для Windows 7 добавлена поддержка больших иконок — с большим разрешением.
Версия 0.9.0 вышла 24 августа 2010 года.[11] Улучшения сконцентрированы в основном на поддержке Unicode и протоколов. Появилась поддержка возможностей новой панели задач Windows 7. Добавлена первая официальная 64-битная версия.
Версия 0.10.0 вышла 18 июля 2012 года.
В ветке не появилось новых функций, только багфиксы. С версии 0.10.25 используется новый компилятор.
Miranda NG | |
---|---|
Тип | клиент системы мгновенного обмена сообщениями, IRC-клиент[вд], софтфон и XMPP-клиент |
Разработчик | Miranda NG team |
Написана на | C++ и Си |
Операционная система | Windows |
Первый выпуск | 2 февраля 2000 |
Последняя версия | 0.96.5 (30 апреля 2024) |
Репозиторий | github.com/miranda-ng/mi… |
Лицензия | GNU GPL 2 |
Сайт | miranda-ng.org/ru/ |
Медиафайлы на Викискладе |
К 2011 году противоречия среди разработчиков углубились. Новые версии Miranda IM выходили крайне нерегулярно; зачастую в списке изменений была всего одна строчка. Часть разработчиков откололась и в мае 2012 года создала форк — Miranda NG (New Generation). Поскольку в 2018 году разработка Miranda IM была прекращена, Miranda NG стала единственной поддерживаемой версией Miranda.
Принципы проекта:
Miranda представляет собой компактный программный интерфейс к набору разнообразных модулей-плагинов. Плагины протоколов обмена сообщениями можно отключить или заменить на написанные сторонними авторами или самостоятельно. Возможности программы могут быть расширены с помощью модулей, которые реализуют расширения интерфейса, включая перевод на другие языки, позволяют вести развёрнутые логи и статистику, обеспечивать безопасную связь, выдавать напоминания и выполнять множество других функций, вплоть до ведения с удалённым партнёром логических игр. Для установки плагина достаточно загрузить архив с ним и распаковать его в подкаталог Plugins
в каталоге Miranda (в редких случаях — непосредственно в каталог программы).
Основные плагины для реализации протоколов обмена сообщениями, которые ставятся при установке программы по умолчанию, поддерживают протоколы IRC, Jabber (в том числе Google Talk), MSN, OSCAR (AIM, ICQ), Yahoo, Gadu-Gadu.
Дополнительно можно загрузить плагины протоколов battle.net Messenger, Mail.ru Agent, MS Exchange IM protocol (RVP), MySpaceIM, SIP, Skype (не требуется установленный Skype, доступно только в Miranda NG), Spinchat, Twitter, Tlen, Tox, QQ, WallaChat, Xfire, Facebook и ВКонтакте.
Протоколы обмена сообщениями по локальной сети включают EmLanProto, Novell NetWare NCP, Vypress Chat, WinPopup, QuickChat.
Протокол XMPP (Jabber) обеспечивается плагином из коробки и благодаря ему можно подключаться к XMPP серверам, в частности к GTalk и Facebook. Плагин поддерживает конференции, возможность передачи файлов через сервер или прямое подключение, работу со списками видимости, безопасную аутентификацию и работу с сервером по протоколу SSL, а также сжатие передаваемой информации (доступно не на всех серверах).
Открытый исходный код клиента и основных модулей, в том числе и обеспечивающих защиту, даёт возможность (имея соответствующий опыт) проверить программу на наличие ошибок, проверить отсутствие «закладок» и, при необходимости, изменить необходимые модули — например, заменив используемый в SecureDB алгоритм защиты на любой другой, удовлетворяющий определённым требованиям.
Miranda IM поддерживает безопасную аутентификацию ICQ (MD5) и Jabber SASL, защиту соединений с помощью SSL/TLS с теми сервисами, которые это поддерживают. Для обеспечения безопасности передаваемых по любому из протоколов сообщений возможно их шифрование с помощью плагина SecureIM, с применением либо встроенного в плагин шифрования сообщений алгоритмом AES-192, либо внешних программ GPG/PGP. При этом необходимо, чтобы оба корреспондента использовали Miranda с SecureIM.
Для шифрования сообщений с помощью GPG/PGP есть и другие плагины — например, GnuPG. Также, пользователи Miranda могут с помощью плагина OTR безопасно обмениваться сообщениями, защищёнными AES, с клиентами, поддерживающими тот же протокол.
Для хранения паролей и защиты базы данных сообщений Miranda использует не «секретность» представления этих данных с помощью держащегося в тайне формата, а плагины, позволяющие защитить сохранённые пароли или всю базу данных с помощью шифрования известными криптографическими алгоритмами. Для защиты паролей в стандартной базе данных используется плагин msecure, с помощью которого пароли хранятся в зашифрованном виде, используя 190-битный алгоритм Blowfish. Тот же плагин защищает Miranda от несанкционированного запуска — преимуществом его использования является отсутствие необходимости запоминания паролей к аккаунтам (которых одновременно может быть много) и замена их на один пароль.
Заменив стандартный плагин базы данных пользователя на SecureDB, можно полностью защитить от несанкционированного доступа весь свой профиль (не только сохранённые пароли, но и сообщения, контакт-листы, хранимые локально и т. д.), что весьма удобно как для работы с компьютером «общего пользования», так и для защиты от похищения паролей. Вариант же SecureDB + Autobackup обеспечит резервирование базы данных настроек и сообщений, по расписанию или запускаемое вручную. Для применяемой в версии 7 базы данных Memory-Mapped Database (dbx_mmap) также существует безопасный вариант с защитой с помощью алгоритма RC4 и возможностью резервного копирования — Memory-Mapped Secured Database.
Помимо названных, существуют и другие плагины, защищающие Miranda от запуска и т. д.
Имеются плагины, обеспечивающие защиту от спама — например, SpamFilter. Защита осуществляется в виде задания вопроса и сравнения ответа с заданным. Вопрос можно задать как на сообщение, так и на другие действия (запрос авторизации и т. д.). За счёт этого становится возможным с большой долей вероятности определить, является собеседник рекламным роботом или живым человеком. Если ответ верен, то сообщения от этого номера (UIN) принимаются. При этом возможна проверка сообщений как от тех, кто не входит в список контактов (или контакт-лист) пользователя, так и от имеющихся в контакт-листе, так же возможно автодобавление в контакт-лист и разрешение авторизации «проверенным» таким образом контактам.
Некоторые плагины ICQ-протокола, например ICQJ, имеют встроенную возможность блокирования сообщений и авторизационных запросов от известных «спам-UIN-нов» и гибкие настройки видимости и раскрытия «статус-сообщения».
Для Miranda существуют плагины, позволяющие скрыть следы работающей Miranda нажатием некоторой комбинации клавиш (т. н. boss key) и очищающие историю сообщений и другую личную информацию, что важно при её использовании на рабочем месте в офисе или другом публичном месте.
Также Miranda легко можно запустить с переносного носителя — флеш-карты и т. п. Это позволяет хранить всю приватную информацию при себе, работая на любом подходящем компьютере.
Miranda IM не является кроссплатформенным приложением, так как структура программы довольно жёстко ориентирована на использование Windows API, и поэтому её затруднительно портировать под другие операционные системы. Однако имеется возможность использования программы в среде Unix-совместимых операционных систем с помощью Wine.
Miranda отличается от многих других мессенджеров широкой настраиваемостью и функциональностью, что является основным достоинством данной программы. Для пользователей существенными являются также высокая скорость, что немаловажно на устаревших или перегруженных задачами машинах (однако эти характеристики зависят от количества подключённых плагинов). Кроме того, бывает полезна возможность работы без установки программы. А при работе по протоколу ICQ не загружается реклама, что снижает нагрузку на каналы связи и экономит трафик.
Недостатки Miranda являются обратной стороной достоинств: некоторые пользователи (особенно из числа не имеющих большого опыта работы на компьютере) жалуются на скромность внешнего вида, предоставляемого по умолчанию, а также сетуют на сложность самостоятельного подбора наиболее эффективных плагинов. Эти недостатки легко преодолеваются не только посредством самостоятельного изучения и подбора дополнительных модулей, но и путём установки готовых дистрибутивов, иначе называемых «сборками», снабжённых целым рядом уже настроенных расширений и плагинов.
Также, недостатком является отсутствие кроссплатформенности — работы, как родной программы в ОС, отличных от Windows.
Корпорация AOL периодически вносила в протокол ICQ изменения, которые не мешают работе программ AOL, но приводят к невозможности работы Miranda.[13] Эта проблема касается и других альтернативных ICQ-клиентов.[14] Однако нередко изменения в протоколе, делающие неработоспособными другие альтернативные клиенты, не нарушают работоспособность Miranda.[15]
Как правило, разработчики Miranda оперативно реагируют на возникновение подобных проблем, внося изменения в соответствующий плагин. Для удобства можно использовать плагин Updater, позволяющий автоматизировать процесс обновления.
Достаточно быстро отреагировали разработчики на изменение в протоколе ICQ от 21 января 2009 года. Уже вечером появилась исправленная версия плагина Miranda IM ICQ+, 22 января была выложена обновлённая версия плагина ICQ OscarJ, а 23 января — очередной релиз (0.7.14).[16]
Обзоры