Восставший из ада.
Open OSCAR Server - возвращение AIM и ICQ.
Пользователь GitHub под ником mk6i (Mike) с июня 2023 года активно работает над сервером для мессенджеров, работающих по протоколу OSCAR.
Дисклеймер от автора. Этот проект является независимой инициативой с открытым исходным кодом и не связан, не одобрен и не ассоциирован с AOL или Yahoo! Inc. Этот проект полностью некоммерческий, он не приносит дохода и не принимает пожертвований.
Поддерживаются следующие функции:
AIM
- Клиенты Windows AIM: v1.x-v5.x, v6.x-v7.x
- Удаленные сообщения
- Значки друзей (v4.x, v5.x)
- Чаты
- Публичный и приватный чаты
- Мгновенный обмен сообщениями
- Профили пользователей
- Конфиденциальность (разрешить доступ определенным пользователям или заблокировать их)
- Предупреждение
- Поиск по каталогу пользователей
- Клиенты протокола TOC: Quick Buddy, gaim, TiK
- Общий доступ к файлам
- Только для локальной сети: прямое подключение, получение файла
- Локальная сеть/Интернет: отправить файл
ICQ
- Клиенты Windows ICQ: 2000b (скоро появятся и другие)
- Мгновенный обмен сообщениями
- Профили
- Поиск пользователей
- Статусы присутствия
- Обмен сообщениями в автономном режиме
На данный момент для загрузки доступна версия 0.22.0 для Windows, MacOS и Linux.
Особенности
- Возможность подключения нескольких устройств: пользователи могут одновременно входить в несколько клиентов под одним и тем же именем.
- Feedbag Endpoint: Новый менеджмент API Endpoint для управления добавлением и удалением друзей из списка.
Улучшения
- Удаленные сообщения теперь можно настроить в AIM 7.x.
- Добавлена поддержка клиентов Jimm ICQ.
- Добавлены псевдонимы на экране в результаты TOC каталога поиска.
Исправление ошибок
- Исправлено #128: пустой селектор обмена сообщениями в протоколе Kopete.
- Исправлена ошибка, из-за которой в Kopete сообщения из чата от клиентов AIM отображались пустыми.
- Исправлена ошибка, из-за которой запросы на создание профиля TOC возвращали пустые результаты.
- Исправлена проблема с нестабильным отображением событий о появлении друзей в сети после добавления друзей в список в AIM 4.8.
Как запустить
Подключитесь к Open OSCAR Server и начните работу с помощью одного из этих удобных руководств по быстрому запуску сервера.
Linux (x86_64)
В этом руководстве объясняется, как загрузить, настроить и запустить сервер Open OSCAR в Linux (x86_64).
1. Скачайте сервер Open OSCAR
Скачайте последнюю версию Linux с страницы релизов и распакуйте архив. В распакованной папке находятся приложение и файл конфигурации settings.env.
2. Настройка адреса сервера
Установите listener (слушатель) по умолчанию в SCAR_ADVERTISED_LISTENERS_ PLAIN в settings.env к имени хоста и порту, к которым могут подключаться клиенты AIM. Если клиент и сервер AIM работают на одном компьютере, менять значение по умолчанию не нужно.
Формат [NAME]://[HOSTNAME]:[PORT], где:
- LOCAL - это имя listener (может быть любым, главное, чтобы оно совпадало с именем в конфигурации OSCAR_LISTENERS).
- 127.0.0.1 - это имя хоста, к которому подключаются клиенты
- 5190 - это номер порта, к которому подключаются клиенты
Чтобы подключить клиентов AIM к локальной сети (включая виртуальные машины с мостовой сетью), можно найти соответствующий IP-адрес, выполнив команду ifconfig в терминале, и использовать его вместо 127.0.0.1.
3. Запуск приложения
Чтобы запустить сервер Open OSCAR, выполните следующую команду:
./open_oscar_server
Сервер Open OSCAR будет запущен в терминале и готов принимать клиентские подключения AIM.
4. Настройка клиентов AIM
Для быстрой проверки запустите клиент AIM, войдите на сервер и отправьте себе мгновенное сообщение. Настройте клиент AIM на подключение к хосту и порту из OSCAR_ADVERTISED_LISTENERS_PLAIN в файле settings.env. Если вы используете настройки сервера по умолчанию, укажите в качестве хоста 127.0.0.1, а в качестве порта - 5190.
Более подробную информацию о настройке клиента AIM смотри в Руководстве по настройке клиента.
По умолчанию при входе в AIM можно ввести любое имя пользователя и пароль для автоматического создания учетной записи.
Автоматическое создание учетной записи - это удобная функция для локальной разработки. При развертывании в рабочей среде следует установить DISABLE_AUTH=false в файле settings.env, чтобы обеспечить аутентификацию учетной записи. Учетные записи пользователей можно создавать с помощью менеджмента API.
5. Дополнительные настройки
Дополнительные шаги по настройке, которые повысят удобство использования Open OSCAR Server, описаны в руководстве по дополнительной настройке.
MacOS (Intel и Apple Silicon)
1. Скачать сервер Open OSCAR
Загрузите последнюю версию macOS со страницы релизов для вашей платформы (Intel или Apple Silicon).
Поскольку бинарный файл Open OSCAR Server не одобрен Apple, браузеры, такие как Chrome, могут посчитать его «подозрительным» и заблокировать загрузку. В этом случае вам нужно будет явно разрешить загрузку ненадежного файла.
Несмотря на то, что бинарные файлы на 100 % безопасны, вы можете избежать проблем с безопасностью, собрав приложение самостоятельно. (Автор не предоставляет подписанные бинарные файлы из-за их высокой стоимости и сложности)
После загрузки распакуйте ZIP-архив, в котором находится приложение и файл конфигурации settings.env.
2. Откройте терминал
Откройте терминал и перейдите в каталог, куда распаковали приложение. Этот терминал будет использоваться для выполнения оставшихся действий.
cd ~/Downloads/open_oscar_server.0.21.0.macos.intel_x86_64/
3. Удалить из карантина
macOS помещает двоичный файл Open OSCAR Server в карантин, поскольку он не одобрен Apple. Чтобы снять карантин, выполните в том же терминале следующую команду:
sudo xattr -d com.apple.quarantine ./open_oscar_server
4. Настройка адреса сервера
В файле settings.env укажите в OSCAR_ADVERTISED_LISTENERS_PLAIN имя хоста и порт, к которым могут подключаться клиенты AIM. Если клиент и сервер AIM работают на одном компьютере, менять значение по умолчанию не нужно.
Формат [NAME]://[HOSTNAME]:[PORT], где:
- LOCAL - это имя listener (может быть любым, главное, чтобы оно совпадало с именем в конфигурации OSCAR_LISTENERS).
- 127.0.0.1 - это имя хоста, к которому подключаются клиенты
- 5190 - это номер порта, к которому подключаются клиенты
Чтобы подключить клиентов AIM к локальной сети (включая виртуальные машины с мостовой сетью), можно найти соответствующий IP-адрес, выполнив команду ifconfig в терминале, и использовать его вместо 127.0.0.1.
osascript -e "IPv4 address of (system info)"
5. Запуск приложения
Чтобы запустить сервер Open OSCAR, выполните следующую команду:
./open_oscar_server
Сервер Open OSCAR будет запущен в терминале и готов принимать клиентские подключения AIM.
6. Тест
Для быстрой проверки запустите клиент AIM, войдите на сервер и отправьте себе мгновенное сообщение. Настройте клиент AIM на подключение к хосту и порту из OSCAR_ADVERTISED_LISTENERS_PLAIN в файле settings.env. Если вы используете настройки сервера по умолчанию, укажите в качестве хоста 127.0.0.1, а в качестве порта — 5190.
Более подробную информацию о настройке клиента AIM см. в Руководстве по настройке клиента.
По умолчанию при входе в AIM можно ввести любое имя пользователя и пароль для автоматического создания учетной записи.
Автоматическое создание учетной записи - это удобная функция для локальной разработки. При развертывании в рабочей среде следует установить DISABLE_AUTH=false в файле settings.env, чтобы обеспечить аутентификацию учетной записи. Учетные записи пользователей можно создавать с помощью менеджмента API.
7. Дополнительные настройки
Дополнительные шаги по настройке, которые повысят удобство использования Open OSCAR Server, описаны в руководстве по дополнительной настройке.
Windows 10/11 (x86_64)
В этом руководстве объясняется, как загрузить, настроить и запустить Open OSCAR Server на Windows 10/11.
1. Скачать Open OSCAR Server
Загрузите последнюю версию для Windows со страницы релизов и распакуйте .zip архив, содержащий приложение и файл конфигурации settings.env.
2. Настройка адреса сервера
Откройте settings.env(щелкните правой кнопкой мыши edit in notepad) и установите в качестве имени хоста и порта по умолчанию имя listener (слушателя) OSCAR_ADVERTISED_LISTENERS_PLAIN, к которому смогут подключаться клиенты AIM. Если клиент и сервер AIM работают на одной машине, изменять значение по умолчанию не нужно.
Формат [NAME]://[HOSTNAME]:[PORT], где:
- LOCAL - это имя listener (может быть любым, главное, чтобы оно совпадало с именем в конфигурации OSCAR_LISTENERS).
- 127.0.0.1 - это имя хоста, к которому подключаются клиенты
- 5190 - это номер порта, к которому подключаются клиенты
Для подключения клиентов AIM к вашей локальной сети (включая виртуальные машины с мостовым сетевым подключением) вы можете найти соответствующий IP-адрес, запустив команду ipconfigв командной строке, и использовать этот IP-адрес вместо 127.0.0.1.
3. Запуск приложения
Запустите open_oscar_server.exe, чтобы открыть OSCAR Server.
Поскольку Open OSCAR Server не заслужил достаточной репутации у Microsoft, Windows пометит это приложение как представляющее угрозу безопасности при первом запуске. Вам будет показано Microsoft Defender SmartScreen предупреждение с возможностью запуска заблокированного приложения.
Для продолжения нажмите More Options (Дополнительные параметры), затем Run anyway (Запустить в любом случае).
Нажмите Allow (Разрешить), если появится предупреждение брандмауэра Windows Defender.
Open OSCAR Server откроется в терминале и будет готов принимать подключения от AIM-клиентов.
4. Тест
Для быстрой проверки запустите клиент AIM, войдите на сервер и отправьте себе мгновенное сообщение. Настройте клиент AIM на подключение к хосту и порту из OSCAR_ADVERTISED_LISTENERS_PLAIN в файле settings.env. Если вы используете настройки сервера по умолчанию, укажите в качестве хоста 127.0.0.1, а в качестве порта - 5190.
Более подробную информацию о настройке клиента AIM см. в Руководстве по настройке клиента.
По умолчанию при входе в AIM можно ввести любое имя пользователя и пароль для автоматического создания учетной записи.
Автоматическое создание учетной записи - это удобная функция для локальной разработки. При развертывании в рабочей среде следует установить DISABLE_AUTH=false в файле settings.env, чтобы обеспечить аутентификацию учетной записи. Учетные записи пользователей можно создавать с помощью менеджмента API.
5. Дополнительные настройки
Дополнительные шаги по настройке, которые повысят удобство использования Open OSCAR Server, описаны в руководстве по дополнительной настройке.
У вас еще не установлен AIM? Ознакомьтесь с руководством по настройке клиента AIM.
Настройка клиента Windows AIM 5.x
В этом руководстве объясняется, как установить и настроить клиенты Windows AIM 5.x для Open OSCAR Server.
Если вы хотите насладиться последней версией AIM с «классическим» ощущением начала 2000-х, рекомендуется использовать AIM 5.x.
Установка
Linux / FreeBSD
Версии Windows AIM 5.0-5.1.3036 отлично работают в Wine . Вот как настроить AIM 5.1.3036.
- Установите Wine
- Загрузите установщик AIM с сайта archive.org.
- Запустите установщик из терминала:
wine aim513036.exe
MacOS (Intel и Apple Silicon)
Так как автор проекта удалил или скрыл репозиторий клиента для MacOS, можно установить Winehq и далее следовать шагам 2 и 3 из руководства для Linux / FreeBSD.
Windows 10/11
Скачайте AIM 5.9.6089 (доступно на oldversion.com ).
Установите AIM и закройте приложение после установки.
Откройте диспетчер задач и завершите процесс AOL Instant Messenger (32-бит), чтобы убедиться, что приложение действительно завершено.
Откройте Проводник и перейдите в папку C:\Program Files (x86)\AIM.
Удалить aimapi.dll.
Включите режим совместимости с Windows XP aim.exe.
Запустите AIM.
Конфигурация
После установки настройте AIM для подключения к серверу Open OSCAR.
1. На экране входа в систему нажмите Setup.
2. В разделе Sign On/Off нажмите Connection.
3. Настройте поля хоста и порта сервера в соответствии с настройками, OSCAR_ADVERTISED_LISTENERS_PLAINуказанными в файле конфигурации config/settings.env. Например, если OSCAR_ADVERTISED_LISTENERS_PLAIN=LOCAL://127.0.0.1:5190, установите значение Hostна 127.0.0.1, а Portзначение на 5190.
4. Нажмите ОК и войдите в AIM!
...а как насчет ICQ? Ознакомьтесь с руководством по настройке клиента ICQ .
Настройка клиента ICQ
В этом руководстве объясняется, как установить и настроить ICQ 2000b для Open OSCAR Server.
ICQ 2000b — единственная версия ICQ, которая в настоящее время поддерживается RAS.
Установка
Windows
- Скачайте ICQ 2000b с archive.org .
- Запустите установщик ICQ.
- Закройте окно регистрации
После завершения установки перед вами откроется окно регистрации ICQ. Не завершайте мастер регистрации. Закройте окно и перейдите к шагам пункта Настройка после установки.
Linux
ICQ 2000b можно запустить под Linux через WINE.
- Скачайте ICQ 2000b с archive.org.
- Запустите и установите WINE.
- Запустите установщик ICQ в WINE из терминала: wine icq2000b.exe
- Закройте окно регистрации
После завершения установки перед вами откроется окно регистрации ICQ. Не завершайте мастер регистрации. Закройте окно и перейдите к шагам пункта Настройка после установки.
macOS (Intel и Apple Silicon)
1. Установите WineskinServer через Homebrew:
brew install --cask --no-quarantine gcenx/wine/wineskin
2. Создайте пустую оболочку приложения.
Запустите программу Wineskin Winery. Установите последнюю версию движка и создайте новый пустой контейнер для установки ICQ.
Создание оболочки может занять 1-2 минуты, и в это время приложение может не отвечать. После завершения нажмите кнопку View wrapper в Finder.
3. Установите ICQ в оболочку приложения. Запустите оболочку из окна Finder. Выберите Install Software.
Выберите Choose Setup Executableи откройте исполняемый файл установщика ICQ.
4. Завершите работу мастера установки ICQ.
5. Закройте окно регистрации
После завершения установки перед вами откроется окно регистрации ICQ. Не завершайте мастер регистрации. Закройте окно и перейдите к шагам пункта Настройка после установки.
Настройка после установки
На этом шаге мы заменим стандартное имя хоста сервера ICQ на имя хоста вашего сервера Open OSCAR в реестре Windows.
Не пытайтесь установить имя хоста ICQ через окно регистрации. В противном случае возникнет ошибка, которая не позволит клиенту "запоминать" такие настройки, как сохраненные пароли и имя хоста OSCAR.
1. Откройте редактор реестра
Windows
- Откройте диалоговое окно "Выполнить" ⊞ Win+ R.
- Введите regeditи нажмите OK.
Wine (Linux)
- Откройте терминал.
- Запустите wine regeditв терминале.
WineskinServer (macOS)
- Откройте терминал
- Выполните следующую команду, заменив icq2000b.appна имя файла вашей оболочки:
~/Applications/Wineskin/icq2000b.app/Contents/Wineskin.app/Contents/Resources/regedit
2. Откройте настройки ICQ по умолчанию
Перейдите по ссылке HKEY_CURRENT_USER\Software\Mirabilis\ICQ\DefaultPrefs.
3. Настройте хост OSCAR
- Дважды щелкните Default Server Host запись в реестре.
- кажите Value data имя хоста из OSCAR_ADVERTISED_LISTENERS_PLAIN конфигурации Open OSCAR Server config/settings.env. Например, если OSCAR_ADVERTISED_LISTENERS_PLAIN=LOCAL://127.0.0.1:5190, используйте 127.0.0.1.
- Нажмите ОК.
4. Настройка порта сервера (редкий параметр)
Изменяйте это значение только в том случае, если ваш сервер не прослушивает порты OSCAR по умолчанию.
- Дважды щелкните Default Server Port запись в реестре.
- Отметьте Decimal (Десятичная) переключатель.
- Установите Value data (Значение) номер порта, OSCAR_ADVERTISED_LISTENERS_PLAIN найденный в конфигурации Open OSCAR Server config/settings.env. Например, если OSCAR_ADVERTISED_LISTENERS_PLAIN=LOCAL://127.0.0.1:5190, используйте 5190.
- Нажмите ОК.
5. Настройка клиента завершена. Закройте редактор реестра.
Первый вход в систему
Запустите ICQ и пройдите мастер первоначальной регистрации. Для начала выберите Existing User.
Не пытайтесь создать нового пользователя в мастере регистрации. Чтобы создать нового пользователя в Open OSCAR Server, следуйте инструкциям по созданию учетной записи, приведенным в руководствах по быстрому запуску сервера .
Введите учетные данные пользователя ICQ. Если вы используете RAS с настройками по умолчанию, вы можете ввести любой UIN и пароль. Нажимайте кнопку «Далее» на оставшихся экранах, пока мастер не завершит работу.
Теперь вы сможете подключиться к серверу Open OSCAR с помощью ICQ 2000b.
Автор проекта не тестировал клиенты для android, ios и j2me. Возможно некоторые версии клиентов, после модификации смогут подключится к серверу Open OSCAR.
Менеджмент API
Менеджмент API предоставляет функциональность для администрирования сервера (см. спецификацию OpenAPI ). Ниже показано, как выполнять эти команды через командную строку.
Windows PowerShell
Выполните эти команды из PowerShell , а не из командной строки .
Список пользователей
Invoke-WebRequest -Uri http://localhost:8080/user -Method Get
Создать пользователей
Invoke-WebRequest -Uri http://localhost:8080/user `
-Body '{"screen_name":"MyScreenName", "password":"thepassword"}' `
-Method Post `
-ContentType "application/json"
Удалить пользователей
Invoke-WebRequest -Uri http://localhost:8080/user `
-Body '{"screen_name": "user123"}' `
-Method Delete `
-ContentType "application/json"
Изменить пароль
Invoke-WebRequest -Uri http://localhost:8080/user/password `
-Body '{"screen_name":"MyScreenName", "password":"thenewpassword"}' `
-Method Put `
-ContentType "application/json"
Список активных сессий
Этот запрос отображает список сессий для всех авторизованных пользователей.
Invoke-WebRequest -Uri http://localhost:8080/session -Method Get
Создать публичный чат
Invoke-WebRequest -Uri http://localhost:8080/chat/room/public `
-Body '{"name":"Office Hijinks"}' `
-Method Post `
-ContentType "application/json"
Список публичных чатов
Invoke-WebRequest -Uri http://localhost:8080/chat/room/public -Method Get
MacOS / Linux / FreeBSD
Список пользователей
curl http://localhost:8080/user
Создать пользователей
AIM
curl -d'{"screen_name":"MyScreenName", "password":"thepassword"}' http://localhost:8080/user
ICQ
curl -d'{"screen_name":"100003", "password":"thepassw"}' http://localhost:8080/user
Удалить пользователей
curl -X DELETE -d '{"screen_name": "user123"}' http://localhost:8080/user
Изменить пароль
curl -X PUT -d'{"screen_name":"MyScreenName", "password":"thenewpassword"}' http://localhost:8080/user/password
Список активных сессий
Этот запрос отображает список сессий для всех авторизованных пользователей.
curl http://localhost:8080/session
Создать публичный чат
curl -d'{"name":"Office Hijinks"}' http://localhost:8080/chat/room/public
Список публичных чатов
curl http://localhost:8080/chat/room/public