Skip to content

Repository files navigation

MRIM-Server

Эмулятор сервера Агент Mail.ru, реализующий протокол MRIM.

Сервер имитирует работу протокола версии 1.0 до 1.23. Некоторые версии пока не корректно работают с этим сервером, а, возможно, они где-то затерялись в глубинках Архива Интернета.

Проект лицензирован по лицензии GNU AGPL версии 3. Учтите это, если хотите сделать форк проекта.

Caution

Проект Renaissance никак не связан с Mail.ru Group, компанией ООО "ВК" и его структурами. Проект разрабатывается независимыми разработчиками.

Требования для сервера

  • Любой компьютер на процессоре x86_64 или ARM64 (aarch64)
  • Операционная система Windows, macOS или дистрибутив с ядром Linux (приоритетнее)
  • Node.js v18 или выше, тестируется на v22 LTS
  • MariaDB (приоритетнее) или любой другой SQL сервер

На FreeBSD и его производных сервер не запускается из коробки из-за Node.js модуля sharp. Модуль придётся собирать ручками.

Процедура установки

  1. Установите Node.js, npm, MariaDB или Percona
  2. Склонируйте этот репозиторий в любую удобную папку
  3. Создайте базу данных и импортируйте туда содержимое mrimdb.sql
  4. Пропишите в консоли npm i, а после установки npm audit fix
  5. Настройте сервер, см. настройка
  6. Запустите сервер командой npm start

Если при запуске выходит ошибка Could not load the "sharp" module using the linux runtime, введите в консоли npm install --include=optional sharp

Сервер можно обернуть в сервис на любых системах инилиализации (systemd, OpenRC и пр.).

Вы можете управлять сервером и следить за ним с помощью REST API, см. документацию

Статус проекта

Реализовано

  • Вход в аккаунт
  • Смена статуса
  • Xstatus (Агент 5.0 и выше; протокол MRIM 1.14 и выше)
  • Отправка сообщений, мультиков и будильников
  • Отправка SMS
  • Аватарки (образы)
  • Поиск пользователей
  • Просмотр анкет
  • Игры (на версиях Агента 4.2 до 5.2)
  • Микроблог
  • Прокси для обмена данными в условиях NAT
  • Звонки (до Агента 5.1 включительно)
  • Отправка файлов

Не работает

  • Игры на MRA >= 5.3
  • Звонки на MRA >= 5.1
  • Конференции на MRA >= 5.5
  • Отправка файлов на Android версии Агента
  • Серверная история сообщений и их отправка на очень поздних версиях Агента для Android

Почему GNU AGPL v3?

Не хочу, чтобы умирал проект. Проприетарный протокол должен быть доступен всему миру и всеми силами - хоть человеком, хорошо разбирающимся в ассемблере, хоть ИИ, который хоть и сгенерирует жидкую шизофрению, но обязательно натолкнёт на правильный результат.

Протестированные клиенты

Легенда

✅ - Полностью проверен и совместим с сервером

🟡 - Частично совместим с сервером (есть некоторые баги)

🟠 - Частично совместим, но есть серьёзные баги, мешающие работе клиента

🔴 - Не работает

Список клиентов

Статус Клиент Платформа Комментарий
Агент@Mail.ru версии 2.0 (сборка 217) Windows Работает через hosts.
Агент@Mail.ru версии 2.55 (сборка 423) Windows Работает через hosts
Агент@Mail.ru версии 4.0 (сборка 768) Windows Работает через hosts.
Агент@Mail.ru версии 4.3 (сборка 1218) Windows Работает через hosts и инъектор.
Агент@Mail.ru версии 4.10 (сборка 1952) Windows Работает через инъектор или замену в реестре.
Агент@Mail.ru версии 5.0 (сборка 2094) Windows Работает.
Агент@Mail.ru версии 5.1 (сборка 2190) Windows Работает (первая версия с UTF-16LE).
Агент@Mail.ru версии 5.5 (сборка 2842) Windows Работает.
Агент@Mail.ru версии 5.7 (сборка 3797) Windows Работает.
Агент@Mail.ru версии 5.9 (сборка 4876) Windows Работает, требует SSL.
Агент@Mail.ru версии 6.3 (сборка 8065) Windows Работает.
🟠 Агент@Mail.ru версии 6.5 (сборка 9316) Windows Вылетает или зависает если у контакта меняется статус. Но работает.
QIP Infium (сборка 9044) Windows Работает, сервером поддерживаются его особенности.
Miranga NG версии 0.95.4 Windows Работает, в настройках меняется адрес сервера.
Агент@Mail.ru версии 1.0 (beta) Mac OS X (PPC, Intel) Работает, достаточно в hosts прописать любой айпи на mrim.mail.ru. Нужен патч клиента, т.к. внутри заложена тайм-бомба на 21 декабря 2009 года
Агент@Mail.ru версии 2.0 Mac OS X (Intel 32 и 64 бит) Работает, достаточно в hosts прописать любой айпи на mrim.mail.ru
Агент@Mail.ru версии 2.1 Mac OS X (Intel 32 и 64 бит) Работает, достаточно в hosts прописать любой айпи на mrim.mail.ru
Мобильный Агент@Mail.ru версии 1.1 Java / J2ME Полностью рабочий.
Мобильный Агент@Mail.ru версии 1.3 Java / J2ME Полностью рабочий. Необходим патч клиента со сменой адреса.
Мобильный Агент@Mail.ru версии 2.1 Java / J2ME Полностью рабочий.
Мобильный Агент@Mail.ru версии 3.5 Java / J2ME Полностью рабочий.
Jimm aspro 0.6.0 с MRIM Java / J2ME Необходимо включить Windows-1251 в настройках; необходим патч клиента со сменой адреса.
jMailAgent 0.5.27 Java / J2ME Полностью рабочий, адрес сервера меняется в настройках.
Агент@Mail.ru 2.0.0 Windows Mobile Полностью рабочий, адрес сервера меняется в настройках.
Агент@Mail.ru версии 2.0 Android Работает. Необходим патч клиента со сменой адреса.
Агент@Mail.ru версии 3.0 Android Работает.
Агент@Mail.ru версии 2.0 iOS Работает.

Инструкции для патча клиентов

Агент@Mail.ru

Адрес сервера можно поменять через реестр: Создать REG_SZ в HKCU\Software\Mail.Ru\Agent\strict_server в формате IP:PORT либо DOMAIN:PORT

На версии MRA 5.8 и выше требуется SSL. Если вы его не желаете настраивать, то отключить его на стороне клиента можно создав REG_SZ в HKCU\Software\Mail.Ru\Agent\ssl с содержанием deny

QIP Infium

Адрес сервера можно указать в настройках.

Правда, QIP Infium просто так не запустится без аккаунта qip.ru. Есть два пути для его обхода:

  1. Необходимо запустить QIP в с параметром /isolated, создать профиль, и там настроить аккаунт Агента.
  2. Запустить QIP Infium, нажать ПКМ по заголовку и выбрать Run Modifiers, поставить галочку на /isolated, и все, что начинаются на Patch.

Мобильный Агент@Mail.ru (Java / J2ME)

В версиях до 1.1 включительно адрес сервера меняется в настройках. Клиентам старше нужен патч.

Один из методов патча, замена адреса mrim.mail.ru в файле cfg или cfgX (где X - любая буква латинского алфавита) из .jar клиента. Рекомендовано прописывать адрес, имеющий ту же длину что и оригинальный. После редактирования, заменить файл командой jar uf ИмяКлиента.jar Путь\К\Cfg из состава Java SE Development Kit

Агент@Mail.ru (Android)

Необходимо разобрать .apk файл через Apktool, найти и сменить строки mrim.mail.ru и obraz.foto.mail.ru на свои, собрать, затем подписать.

Miranda NG (Windows)

Необходимо скачать сборку до 2018 года, и либо пользоваться ей, либо выдрать из неё mra.dll для использования с современной версией Miranda NG. Автообновления придётся игнорировать, т.к. они заменят плагин Агента на Dummy плагин.

В настройках, в пункте "Сеть" -> "Агент", во вкладках "соединения" и "аватары" меняются адреса для подключения к MRIM серверу и к серверу образов.

Связь с сообществом

Поддерживаем связь с сообществом через:

About

Agent@Mail.ru Server Emulator

Topics

Resources

Stars

73 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages