Miranda IM (Miranda Instant Messenger) — программа обмена мгновенными сообщениями для Windows. Распространяется под лицензией GPL 2.
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 обеспечивает рабочую среду клиента для сетей обмена мгновенными сообщениями, дизайн и функциональность которой можно изменять и расширять с помощью дополнительных плагинов.
Распространяется в двух версиях — 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.1.x
правитьПосле выпуска версии 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.
Версия 0.2.x
правитьПосле ухода Ричарда Хьюза в июне 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.x
правитьСамым значительным изменением версии 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.x
правитьВерсия 0.4 была выпущена 7 апреля 2005 года. Это была первая версия с протоколом Yahoo!, включённым в официальный дистрибутив. Другими значительными изменениями стали перемещение модуля списка контактов и модуля базы данных из ядра в отдельные плагины.[4][5] В результате появилось 4 вариации модуля списка контактов: классический (clist_classic), многооконный (clist_mw), современный список контактов (clist_modern) и улучшенный список контактов с расширенным изменением интерфейса (clist_nicer).
Также в этот период были созданы другие популярные плагины, включая модули окон сообщений со «вкладками» (TabSRMM и Scriver), модуль поддержки HTML-журнала сообщений (IEView), скриптовый плагин mbot и плагин метаконтактов.
Версия 0.5.x
правитьMiranda IM версии 0.5 была выпущена 28 июля 2006 года. Это была первая версия, которая поддерживала юникод для полноценного использования на системах Windows NT, 2000 и XP. Другой особенностью было введение протокола AIM OSCAR, впервые представленного в начале 2006 года, который позволял передавать файлы и использовать статусные сообщения. Также эта версия предусматривала расширенную поддержку аватаров среди различных протоколов.[6]
Версия 0.6.x
правитьВерсия 0.6 была выпущена 29 декабря 2006 года. Новшеством этой версии была поддержка UPnP для улучшения передачи файлов и прямых соединений через маршрутизаторы.[7] В этой же версии базы данных начинают поддерживать хранение данных в UTF-8, однако это не является обязательным. В API для плагинов добавлена работа с памятью. Кроме того, к моменту завершения работы над версией 0.5 возникла угроза, что разные куски Miranda расползутся слишком далеко.
Версия 0.7.x
правитьВерсия 0.7 увидела свет 1 октября 2007 года. В ней было сделано множество изменений в ядре Miranda. Система меню была переписана, модуль работы со шрифтами (FontService) и модуль работы с пиктограммами (IcoLib) были внесены в ядро. В дистрибутив вошли плагины для работы с изображениями и менеджер аватаров. Хранение данных в базе данных было принудительно переведено в UTF-8, что вызвало много проблем совместимости со старыми плагинами и повреждёнными базами данных.[8] Модульный интерфейс был изменён и теперь плагины должны были идентифицировать себя и предоставляемые функции с помощью уникальных идентификаторов (UUID).
Протокол Jabber перешёл в стадию активного развития, его интерфейс был качественно переработан и стал пригоден для регулярного использования.
Версия 0.8.x
правитьВерсия 0.8 Miranda доступна c 17 июня 2009. В ней реализована работа с несколькими аккаунтами одного протокола, без необходимости копирования DLL-файлов плагинов.[9] Улучшена совместимость с Windows Vista. Также стало более дружелюбным окно настроек, в котором появился поиск по настройкам.[10]
Развитие ветки продолжается и после появления серии 0.9.x. Все пиктограммы заменены на более качественные, для Windows 7 добавлена поддержка больших иконок — с большим разрешением.
Версия 0.9.x
правитьВерсия 0.9.0 вышла 24 августа 2010 года.[11] Улучшения сконцентрированы в основном на поддержке Unicode и протоколов. Появилась поддержка возможностей новой панели задач Windows 7. Добавлена первая официальная 64-битная версия.
Версия 0.10.x
правитьВерсия 0.10.0 вышла 18 июля 2012 года.
В ветке не появилось новых функций, только багфиксы. С версии 0.10.25 используется новый компилятор.
Miranda NG
править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.
Принципы проекта:
- Прекращена поддержка версий ANSI, как полностью морально устаревших. Будут только Unicode (x32 и x64-версии).
- Поддерживаются только компиляторы Visual Studio 2015, 2017.
- Подключение и отключение плагинов «на лету», без перезапуска программы.
- Все плагины находятся в одном репозитории, при изменениях в ядре необходимые правки вносятся сразу, без ожидания реакции разработчиков, которая может длиться месяцами у Miranda IM.
- Проведена достаточно большая работа по унификации — многое из того, что каждый плагин реализовывал самостоятельно, было перенесено в ядро.
- Избавление от старых «костылей» и багов, повышающее общую стабильность программы, повышена скорость запуска и работы программы.
- Возвращение в разработку Miranda NG разработчиков, покинувших или бросивших по тем или иным причинам разработку плагинов под Miranda IM.
- Расфиксировать на время API плагинов.[12] Это значит, что некоторое время разработка новых плагинов будет невозможна (будут работать только те, что лежат в репозитории и централизованно обновляются). Это даст чистое API, которое впоследствии можно будет и заморозить.
Плагины
править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.
Протокол OSCAR
править- ICQ OscarJ — плагин, реализующий функциональность протокола OSCAR и входящий в официальную поставку Miranda IM. Имеет поддержку расширенных статусов и аватар. Ограниченное управление видимостью, не поддерживается Privacy menu.
- ISee — альтернативный плагин, реализующий протокол ICQ в Miranda IM, один из наиболее функциональных и стабильных плагинов, имеющий целый ряд преимуществ, включая управление видимостью (Privacy menu), отзыв авторизации (удаление себя из контакт листа собеседника), некоторые способы проверки «на невидимость», возможность смены идентификатора клиентской программы и версии протокола. Однако работа над плагином не ведётся уже более двух лет.
- ICQJ Plus Mod — одна из последних альтернативных реализаций протокола OSCAR для Miranda, в настоящий момент находится в состоянии разработки. Плагин умеет работать со списками приватности и Privacy menu, обладает возможностью отзыва авторизации, встроенной защитой от известных спам-ботов, поддерживает возможность смены идентификатора клиентской программы и версии протокола, аватары и расширенный набор статусов.
Протокол XMPP (Jabber)
правитьПротокол 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]
Примечания
править- ↑ OSDir.com :: Open Source, Linux News & Software . Дата обращения: 5 февраля 2009. Архивировано 28 июля 2011 года.
- ↑ Miranda IM v0.3 released (25 июня 2003). Дата обращения: 21 ноября 2008. Архивировано из оригинала 5 февраля 2012 года.
- ↑ 1 2 Miranda IM v0.3 Changelog . Официальный сайт. Дата обращения: 21 ноября 2008. Архивировано из оригинала 3 апреля 2005 года.
- ↑ Miranda IM v0.4 Release Announcement . Официальный сайт (9 апреля 2005). Дата обращения: 21 ноября 2008. Архивировано из оригинала 10 апреля 2005 года.
- ↑ Miranda IM v0.4 Changelog . Официальный сайт. Дата обращения: 21 ноября 2008. Архивировано из оригинала 8 мая 2005 года.
- ↑ Miranda IM v0.5 Released . Официальный сайт (28 июля 2006). Дата обращения: 21 ноября 2008. Архивировано из оригинала 5 февраля 2012 года.
- ↑ Miranda IM v0.6 Released . Официальный сайт (29 декабря 2006). Дата обращения: 21 ноября 2008. Архивировано из оригинала 5 февраля 2012 года.
- ↑ Miranda IM v0.7 Released . Официальный сайт (2 октября 2007). Дата обращения: 21 ноября 2008. Архивировано из оригинала 5 февраля 2012 года.
- ↑ Miranda IM v0.8.0 Build #9 Discussion Архивировано 14 февраля 2008 года.
- ↑ 0.8 Roadmap on official forums (недоступная ссылка)
- ↑ Miranda IM v0.9.0 Released . Официальный сайт (24 августа 2010). Архивировано из оригинала 5 февраля 2012 года.
- ↑ Релиз Miranda NG / Хабрахабр . Дата обращения: 27 декабря 2013. Архивировано 27 декабря 2013 года.
- ↑ Miranda снова не подключается к ICQ . Lenta.ru (12 июля 2006). Дата обращения: 12 августа 2010. Архивировано из оригинала 14 мая 2012 года.
- ↑ Тысячи пользователей остались без доступа к ICQ . Дата обращения: 5 июля 2008. Архивировано 12 декабря 2008 года.
- ↑ ICQ версии 5.1 больше не поддерживается . Дата обращения: 24 декабря 2008. Архивировано из оригинала 23 декабря 2008 года.
- ↑ Miranda IM v0.7.14 Released . Официальный сайт (23 января 2009). Дата обращения: 6 июля 2009. Архивировано из оригинала 5 февраля 2012 года.
Ссылки
править- Официальный сайт (англ.)
- Официальный сайт Miranda NG
- Исходный код Miranda NG на GitHub (англ.)
- Исходный код Miranda IM в архиве Google Code (англ.)
- Miranda Way: Smaller, Faster, Easier? Статья об истории Miranda на Хабрахабре
- Обзоры
- Юрий Меркулов. Путеводитель по IM-клиентам . iXBT (23 августа 2006). Дата обращения: 8 января 2010. Архивировано из оригинала 28 сентября 2011 года.