Icq сервер для локальной сети под windows

Примеры ICQ для локальной сети - представлены...

2019. MyChat 7.3 добавил удаление переписки в приватных диалогах

В новой версии мессенджера для локальной сети MyChat 7.3 реализована технология для удаления любых сообщений из приватных диалогов. Сообщения удаляются везде, автоматически, в локальных базах данных MyChat Client и на сервере. Восстановить удалённые сообщения нельзя. Даже если сообщение будет удалено, когда собеседник был не в сети, информация синхронизируется после подключения и сообщение будет уничтожено. Доступ к этим инструментам для администратора и для пользователя регулируется правами групп на сервере. Сотрудники могут удалять только сообщения в своих диалогах. Также в новой версии улучшено Android-приложение: появился поиск, @упоминания, быстрые кнопки в уведомлениях.

2018. MyChat 7.2 — синхронизация истории и статусы доставки сообщений

Вышла новая версия мессенджера для локальной сети MyChat 7.2. Теперь пользователи могут заходить в MyChat на разных компьютерах и в разных приложениях (Windows/Android/macOS/Linux), и при этом история приватных сообщений и открытые диалоги будут автоматически синхронизироваться. Во всех приватных диалогах теперь показываются статусы отправленных сообщений: Отправлено, Получено, Просмотрено. Также в новой версии обновлен Чат для сайта, Android-приложение и скрипт-движок, появились новые функции для управления задачами, вставки картинок и Робот-викторина — для геймификации и обучения сотрудников.

2018. Корпоративный чат CommFort обзавелся новым Android-клиентом

CommFort software выпустила совершенно новый клиента для своей программы внутрикорпоративных коммуникаций CommFort на базе ОС Android. Новый Android-клиент теперь полностью бесплатен, а его интерфейс стал значительно удобнее в сравнении с предшественником. Приложение пока содержит только базовый функционал и позволяет обмениваться сообщениями и изображениями в общих и приватных каналах. Со временем будет внедрена поддержка всех функций и возможностей CommFort’а, а новый подход к проработке интерфейса сделает доступ к этим функциям не менее удобным, чем в настольной версии.

2007. Inbit Messenger — программа для обмена сообщениями и файлами в локальной сети

По стилю общения Inbit Messenger является аналогом ICQ, и считается лучшей в своём роде. Ключевые особенности: использует выделенный сервер, содержит систему собственной электронной почты и позволяет отправлять сообщения отключённым пользователям.Программа позволяет пользователям общаться друг с другом в реальном времени, работатать с электронной почтой собственного формата и передавать файлы — как напрямую, так и посредством размещения их во всеобщем доступе. Пользователи могут вести персональные разговоры (как в ICQ), или групповые — на общих каналах (как в IRC). Поддерживается отправка всплывающих объявлений и сообщений списку получателей (или всем доступным пользователям сразу). Программа позволяет отображать в контакт-листе контакты с группировкой по департаментам, рабочим группам, или в соответствии со списком пользователя (пользователь может создавать несколько списков). В случае необходимости отлучиться от компьютера пользователь может поставить на паузу отображение сообщений в окне, и по возвращении продолжить чтение с этого же места. Контакт-лист скины не поддерживает, но возможность настраивать его внешний вид всё же есть. Программа использует выделенный сервер, хранящий учётные записи, почту, общедоступные файлы.

2006. В каждом офисе теперь прихлопнут «аську»

Компания Atompark Software объявлено о выпуске и начале продаж новой версии программы StaffCop — 2.1, которая разработана для слежения за компьютерами сотрудников организаций. StaffCop позволяет узнать, на что тратится рабочее время пользователей компьютеров, что за программы они используют, какие посещают сайты, с кем и о чем общаются в ICQ, что наблюдают на экранах своих мониторов.  StaffCop может использоваться как в локальных сетях любого размера, так и на персональных компьютерах. Главная особенность новой версии — мониторинг ICQ. В отчет попадает вся собираемая StaffCop информация, в том числе снимки экрана и история переписки в ICQ.

2006. Внутренние коммуникации через мессенджеры

Наиболее скоростным каналом коммуникации можно считать интернет-пейджер ICQ и его аналоги (AIM, MSN, Yahoo и т. д.). Этими программами ежедневно пользуются миллионы людей. С их помощью можно общаться в режиме он-лайн, обмениваться файлами и даже играть в многопользовательские игры. Видимо, поэтому у «тети Аси» есть не только ярые сторонники, но и противники. «Я пользуюсь ICQ сама, и мне очень нравится этот способ общения. Бесшумно, мгновенно и не отрываясь от компьютера — супер! Почему я должна мешать моим сотрудникам пользоваться этими возможностями?» — удивляется учредитель группы LifeStyle Communications Анна Федорова. «Несколько лет назад, когда ICQ обрела популярность, вопрос, работать с ней или нет, неоднократно поднимался сотрудниками APC, в том числе российскими, — вспоминает Андрей Воробьев, руководитель информационно-технической службы компании APC в России и странах СНГ. — Он был решен централизованно на уровне штаб-квартиры — там пришли к выводу, что в настоящий момент использование ICQ не является целесообразным». Нет единства и в выборе самой программы.

2006. Будущее ICQ — обмен мгновенными сообщениями и звонки в локальной сети

Разработчики самого популярного в России интернет-пейджера ICQ ведут тестирование новую программу под названием Compad. Она позволяет обмениваться мгновенными сообщениями в собственной сети, а также общаться с пользователями AIM и ICQ (оба этих интернет-пейджера принадлежат компании AOL). Кроме этого, через Compad можно отправлять сообщения на адреса электронной почты. А вот голосовое общение пока не поддерживается. Идея, которой в ICQ руководствовались при создании программы, состоит в том, чтобы предоставить пользователю максимально простой способ общения с друзьями и родными. В идеале не нужно заботиться об установке различных программ, регистрации почтовых ящиков, ведении адресных книг — достаточно набрать имя в строке поиска, и нужный контакт будет найден. Но реальное положение дел далеко от идеала.

2005. Доступ к ICQ в корпоративной сети

Когда в корпоративной сети закрыт доступ к «аське» или «Живому Журналу», и вроде бы ничего нельзя сделать, есть неожиданное решение: использовать GPRS, причем только для ICQ- или LiveJournal-трафика. Для этого необходимо сделать так, чтобы пакеты, адресованные к ICQ-серверу, отправлялись по GPRS, а все прочие — в локальную сеть. И эта задача легко решается стандартными средствами Windows, а именно — настройкой TCP/IP-роутинга. Итак. Подключаем телефон к компьютеру и создаем в Windows GPRS-соединение. Имя соединения должно содержать слово «GPRS» (оно нам понадобится позже, при автоматизации). Теперь необходимо запретить передачу через это соединение непредназначенного для него трафика. Для этого идем в свойства созданного соединения, на вкладку «Сеть». Там выбираем строчку «Протокол интернета (TCP/IP) и затем нажимаем кнопку «Свойства». Там жмем кнопку «Дополнительно…» и идем на вкладку «Общие». Тут надо снять галку на пункте «Использовать основной шлюз в удалённой сети.

2005. Настраиваем ICQ-клиенты для работы за NAT

При работе ICQ-клиентов из локальной сети многие сталкиваются с фактом отсутствия возможности перекачивания файлов между ними. Попробуем разобраться в чем же проблема. ICQ и другие многочисленные альтернативные клиенты для обмена файлами требуют прямого соединения между собеседниками, а в локальных сетях обычно для выхода в интернет используется NAT (Network Address Translation) — и потому, когда вы пытаетесь перекачивать файл, то соединение устанавливается не с вашим компьютером, а с сервером на котором работает NAT — в результате процесс перекачки файлов зависает и вскоре прерывается с ошибкой. Однако, и в возможностях большинства NAT, и в возможностях более половины ICQ-клиентов есть функции, позволяющие решить эту проблему: Port Forwarding и Not using Proxy (Direct Connection).

В этой статье мы делаем установка и настройка Jabber-сервера c поддержкой  ICQ на основе Openfire с авторизацией пользователей в  Active Directory. Пользователи вашей сети смогут пользоваться “корпоративной” ICQ (а так же Google Talk  и многое другое).

Мы выбрали XMPP-сервера на основе Openfire. Его можно установить как и на Linux/FreBSD так и на Windows – сервера. Какую именно операционную систему для сервера выбрать – решать вам.

Для тестирования и настройки сервера OpenFire я использую Debian-like системы (сам Debian или к примеру Ubuntu-Server). Что такое Openfire можно прочесть в http://ru.wikipedia.org/wiki/Openfire или  XMPP .

Изначально считаем, что система “чистая” и в ней ничего не установлено. Для примерной установки использовалась Ubuntu-Server 9.10 установленный на VMware ESX Server. Под машину было выделено 1 ядро процессора, 512Мб  оперативной памяти и 20Гб на жестком диске. Никаких проблем с установкой/запуском не наблюдалось.

Я рекомендую воспользоваться виртуальной машиной + снэпшоты состояний. В дальнейшем при администрировании вашей сети вы сможете сэкономить кучу времени и нервов при корректировке конфигурационных файлов или обновлений версии плагинов / самой OpenFire.

OpenFire работает на  Java.

Для установки Java выполните:

$ sudo apt-get install sun-java6-bin

будет два окна с лицензионным соглашением. Соглашайтесь 🙂
Так как система “чистая” мы должны установить web-server apache командой:

$sudo apt-get install apache2

Откройте привычный вам браузер и попробуйте перейти на

http://localhost/

Если вы на сервер браузеры не держите – откройте http://server с вашей рабочей станции.
Вы должны увидеть радостную надпись:

it’s work!
Если Вы видите тоже самое, то всё хорошо, и ваш Apache работает.

Теперь необходимое установиться php5 и libapache2-mod-php5. Для установки выполните:

$sudo apt-get install php5 libapache2-mod-php5

Перезапустите веб-сервер apache командой:

$sudo /etc/init.d/apache2 restart

И давайте протестируем работу PHP. Выполните в консоли (nano – это наш текстовый редактор, если у вас другой – то и команда соответственно должна быть другая):

$sudo nano /var/www/php.php

Открылся текстовый редакторе nano с файлом php.php Впишите в файл php.php следующую строчку (можно скопировать и вставить):

<?php phpinfo(); ?>

Сохраните файл и закройте текстовый редактор nano

Браузером перейдите

http://localhost/php.php
или http://server/php.php

Должно вывестись окно с версией вашего PHP. Думаю, что раз вы ставите jabber на линукс – вы ребята взрослые. Какое окошко должно появиться вы знаете.

Теперь необходимо установить mysql-server. Выполните:

$sudo apt-get install mysql-server

Будет пара окон с предложением:
Введите пароль ROOT
Подтвердите пароль ROOT

Соответственно вводим ваш пароль root для mysql

Авторы в других статьях рекомендуют сделать

Для доступа других компьютеров из Вашей сети к серверу мы должны назначить серверу IP.

Делается это так.
Выполните в консоли:
sudo gedit /etc/mysql/my.cnf

Теперь необходимо настроить mysql.
Выполните:
mysql -u root -p mysql

Для того чтобы задать пароль ROOT выполните:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(’5604778′);
где 5604778 = Ваш пароль.

Так вот: делать этого НЕ НУЖНО.
Сомнительно что вам потребуется менять только что введенный вами же пароль root для mysql или обеспечивать для mysql доступ по сети. Для того чтобы все отлично работало доступа по 127.0.0.1 записанного в /etc/mysql/my.cnf хватает за глаза.

Чтобы авторизироваться через mysql и чтобы в php была поддержка mySQL необходимы пакеты libapache2-mod-auth-mysql и php5-mysql и до кучи поставим ещё phpmyadmin.

$sudo apt-get install libapache2-mod-auth-mysql и php5-mysql phpmyadmin

При установке пакета phpmyadmin появится окно с предложение автоматически отконфигурировать и веб-сервера apache. Глупо не воспользоваться. Отметьте сервер  и нажмите  OK.

Перезапустите web-server apache выполнив:

$sudo /etc/init.d/apache2 restart

Теперь у нас есть рабочий инструмент под названием phpmyadmin. Раз мы его ставили – то и будем им пользоваться (удобство). Зайдите по адресу http://server/phpmyadmin и создайте базу с именем openfire
Укажите тип подключения и сортировку UTF-8

Теперь необходимо скачать пакет openfire, сам  jabber-server. В стандартных Debian- репозиториях его судя по всему нет. Придется качать вручную. Выполните:

wget http://download.igniterealtime.org/openfire/openfire_3.6.4_all.deb

(пакет openfire_3.6.4_all.deb на момент написания статьи был самый последний. Вам советую предварительно заглянуть на http://www.igniterealtime.org/downloads/index.jsp и убедиться какая версия OpenFire там находится)

Для установки пакета сделайте:

$sudo dpkg -i openfire_3.6.4_all.deb

Чтобы настроить jabber-server openfire откройте браузером
http://localhost:9090
или с вашего рабочего компьютера http://server:9090

Далее все зависит от того что мы хотим попробовать: быструю установку или “долгую”.

Быстрая установка:

Русского языка к сожалению нет =( Выбираем Английский жмем кнопку Continue.В строке Domain нам предлагается указать IP нашего сервера. Укажите E-mail и пароль администратора. В следующем шаге выберите Embedded Database. Всё Jabber-server openfire установлен.

Длинный путь: с поддержкой Active Directory и хранением БД на MySQL.

Длинный путь – для нас.

1. Настройка сервера.

В данном окне:

45

В строке Domain указываем имя вашего домена. Пусть наш домен называется myfirma.local Тогда в этой строке пишем myfirma.local

2.  Настраиваем подключение к БД.

Настраиваем базу данных. Первый пункт – standart database connection подразумевает подключение к внешней БД, второй (embedded) – использование внутреннего механизма хранения данных.

openfire_database_settings

Выбираем standart и нажимаем Next. В открывшемся окне выбираем тип базы данных (это приведёт к автоматическому заполнению строк JDBC Driver Class и Database URL). Далее правим строку Database URL: на месте [host-name] вводим адрес сервера БД, а на месте [database-name] – имя базы, которая будет создана. Правильная строка выглядит примерно так: jdbc:mysql://localhost:3306/openfire. Если порт сервера БД отличается от стандартного, также меняем. Вводим имя пользователя и пароль. Пользователь должен обладать достаточными привилегиями на сервере для создания БД.

openfire_database_tuning

3. Настраиваем профиль.

Сначала необходимо выбрать, где будет храниться информация о группах и пользователях

openfire_profile_settingsВыбор пункта Default означает, что вся информация будет храниться в базе данных, и все операции с пользователями и группами придётся выполнять “вручную” – через админпанель или подключение к базе данных. Пункт Directory Server означает, что сервер будет использовать информацию, хранящуюся в LDAP-каталоге домена (только для чтения).

При установке выбираем Active Directory.

openfire_LDAP_step1Будет предложено Ввести DN домена.

Введите строки:

Host:           myserver  (имя сервера – контроллера домена)

Base DN:    DC=myfirma, DC=local  (имя DN для вашего домена. у нас домен называется myfirma.local)

Так же необходимо ввести учетную запись для доступа в AD (Authentication DN/Administrator DN). Отдельную учетную запись предварительно нужно завести в домен, выставить пароль и указать ей что пароль  изменять нельзя и срок действия пароля не ограничен. Пускай имя нашей учетной записи myfirmajabber  Тогда в окне вы указываете (помним что наш домен называется myfirma.local):

Administrator DN:      jabber@myfirma.local

и соответственно ее пароль.

Нажимаем кнопку “Test connection” и в случае успешного соединения видим надпись:

openfire_LDAP_sucess

По нажатию кнопки Next переходим к двум подпунктам: User Mapping и Group Mapping. Здесь можно задать соответствие полей в AD и OpenFire, а также определить фильтр по группе пользователя, чтобы OpenFire не работал со служебными группами AD:

openfire_LDAP_step2

и

openfire_LDAP_step3

4. Завершение установки.

Назначаем пользователя с правами администратора. При хранении профиля в БД будет предложено ввести пароль для пользователя admin, при работе с LDAP необходимо ввести имя пользователя, который присутствует в каталоге, и который будет обладать административными правами в админпанели OpenFire. Наконец щёлкаем по кнопке “Login to admintrative console” и видим предложение авторизации админпанели:

openfire_login

Поздравляем: Установка завершена!

5. Настройка поддержки ICQ.

Для настройки поддержки ICQ вы должны зайти в админ – панель http://server:9090  и через админ-панель установить плагин IM Gateway.

Примечание:

Буквально сегодня устанавливая серевр обнаружил, что плагин IM Gateway для OpenFire пропал. Официально он (я так понял) больше не поддерживается. Для того, чтобы вы могли воспользоваться шлюзом вы должны скачать вручную с сайта http://kraken.blathersource.org/ новый плагин Kraken (на данный момент Kraken 1.1.3 BETA). Ели вам все таки нужен именно IM Gateway то я залил его здесь: gateway. Плагин Kraken (Kraken 1.1.3 BETA) можно так же взять с моего сайта здесь: kraken.

После установки плагина появится одна вкладка Gateway, зайдите в нее и выберите только ICQ (остальное включите позже). Опять в админ-панель укажите кодировку для ICQ Windows-1251 после чего из админ – панели перезапустите плагин IM Gateway. Установка в плагине кодировки  Windows-1251 даст вам корректное отображение русского языка в сообщениях.

win-codpage-open-fire

6. Установка клиента на рабочие станции.

После добавления и настройки плагина IM Gateway вы должны скачать клиента http://www.igniterealtime.org/downloads/index.jsp На момент написания актуальная версия клиента была Spark 2.5.8 . Качаем клиента, устанавливаем его на рабочей станции пользователя. Вводим для авторизации доменный логин пароль.

Обратите внимание: при настроенном и работающем IM Gateway плагине вы увидите в Spark 2.5.8 что у клиента присутствует значок ICQ.  Ваши пользователи САМИ должны ввести свой номер/пароль от ICQ. При разрешенной регистрации в IM Gateway (по умолчанию она разрешена) пользователи сами регистрируют на вашем OpenFire сервер свои ICQ. Вы можете попробовать настроить свой ICQ  и посмотреть через админ – панель OpenFire что он появился на вкладке Gateway.

К слову сказать, плагин IM Gateway умеет не только пробрасывать ICQ но и многое другое.

Хотя установка завершена, некоторые авторы советуют:

Необходимо вручную поправить один конфигурационный файл. Если этого не сделать, кириллица в именах пользователей и групп (при Default-формате профилей), а также “отложенные” сообщения будут отображаться иероглифами-крякозябликами из-за ошибки в кодировке. Открываем файл confopenfire.xml в папке программы. Ищем строку, описывающую базу данных: “<serverURL>jdbc:mysql://host_name:3306/base_name</serverURL>”, после чего приводим её к виду “<serverURL>jdbc:mysql://host_name:3306/base_name?characterEncoding=UTF-8</serverURL>”.

Делать этого НЕ НУЖНО. При создании БД мы указали что кодировка везде UTF-8 (нужно сказать вы можете выставить для БД кодировку Windows-1251, но только везде одну и ту же. То есть и сама база должна быть в Windows-1251 и подключение к БД в Windows-1251). При заходе в админ панель OpenFire вы устанавливаете один плагин IM Gateway. При настройке шлюза для ICQ вы указываете кодировку с АДМИН ПАНЕЛИ Windows-1251 после чего с админ панели пере запускаете этот плагин. После этой процедуры у вас должна быть корректная кодировка при отправке/приеме сообщений с  ICQ.

Не правьте конфигурационные файлы вручную !!!

Кстати, если вы уж очень-очень  захотите, то вы можете перезапустить процедуру первичной настройки сервера, в файле openfire.xml поправьте “<setup>true</setup>” на “<setup>false</setup>”, и удалите / заново создайте БД через phpmyadmin.

***

Клиенты:

по мимо Spark (в нем так и не поборол проверку орфографии – постоянно подчеркивал слова) отлично работает клиент Psi+.  Неплохой клиент Exodus, но несколько сложновато в настройке.

Настройка и использование ICQ серверов на примере проекта KICQ

В этой статье речь пойдет о всем известном мессенджере ICQ (в народе — «аське»). Не секрет, что у большинства жителей бывшего СССР связаны те или иные истории с этой программой. «Аську» использовал или хотя бы слышал о ней каждый из нас — она применялась как в простой «болтовне», так и в корпоративной среде. Благодаря «аське» мы заводили друзей, знакомых или даже целые семьи. Всё это происходило в массе своей в конце 90-х — второй половине 2000-х гг.

Столь стремительный рост пользователей «аськи» в начале 00-х годов XXI века привел и к появлению огромного количества разных альтернативных ICQ клиентов вроде Miranda или QIP 2005. Что вызывало недовольство у AOL — тогдашнего владельца «аськи», так как стандартные клиенты зачастую были перегружены рекламой, что создавало серьёзные по тем временам проблемы с его использованием (нужно учитывать, что тогда доступ в интернет осуществлялся через dialup модемы со скоростью до 56 кбит/с). Поэтому сторонние разработчики «не дремали» и делали всё возможное, чтобы простой пользователь мог общаться в «аське» без каких-либо препятствий.

А вот в различных корпорациях иногда можно было встретить свою собственную локальную ICQ сеть. Этим нужно отблагодарить авторов таких проектов, как SIQ или IServerd, представлявшие собой специальное программное обеспечение для организации собственного сервера. НО: там использовались отдельные базы контактов (UINов и паролей), отличные от «стандартных» AOLовских.

Номер (UIN) «аськи» тоже многое тогда значил в нашей жизни. Особенно модно было иметь номера вроде 111000. UIN чаще всего состоял из 5-9 цифр (в народе назывались «пятизнаки», «шестизнаки» и т.д.).

Но с начала 2010-х годов «аська» приходила в запустение с массовым распространением социальных сетей, различных онлайн-сервисов. Завершилась эпоха «той самой аськи», на наш взгляд, отключением в декабре 2018 года протокола OSCAR, прекращением поддержки большинства альтернативных клиентов и массовым удалением UINов под предлогом «неиспользования номера больше года». Поэтому downgrade сообщество и решило обратиться к хорошо забытой практике создания собственных ICQ серверов, где вы будете полностью независимы от «новой аськи» или ICQ New, нынче столь активно продвигаемой сотрудниками Mail.Ru.

Так что рассчитывать на особую заботу о пользователе со стороны крупных компаний сегодня нам вряд ли стоит, ибо сейчас главная их цель — извлечение прибыли любой ценой. Поэтому нам хочется рассказать как раз об одном из любительских ICQ серверов, созданного энтузиастами под названием KICQ.

Регистрируйте UIN на сайте kicq.ru.

Также нашим добровольцем Святославом Кастюкевичем (aka LP_Underground) ведётся разработка клиента MobKicq, основанного на Jimm версии 0.4.3. Ещё одним участником — Александром Мельниковым (aka Greench) модифицирован Jimm 0.6.0 by Xattab для работы с KICQ. Для запуска обоих клиентов потребуется мобильный телефон с поддержкой Java или эмулятор J2ME Loader для Android.

В случае регистрации UIN на вышеуказанном сайте можете смело переходить к пунктам для таких клиентов как QIP 2005 и SIM 0.9.4.3.

Регистрация UIN на сайте KICQ

1. Заходим на kicq.ru.

2. Заполняем указанные поля.

3. Получаем UIN (1), указанный внизу страницы.

4. Качаем любой понравившийся ICQ клиент вроде QIP 2005, SIM IM.

Регистрация UIN в ICQ 2003

1. Скачиваем и устанавливаем ICQ 2003b.

2. Нажимаем «Get an ICQ Number» (Получить ICQ номер) (сначала нажимаем «Settings» и там вводим сервер: 195.66.114.37).

3. Принимаем лицензионное соглашение.

4. Вводим следующие данные (ФИО (по желанию), никнейм и пароль):

5. Вводим дополнительную информацию о себе (по желанию)

6. Получаем новый UIN.

7. Открывается следующее окно.

8. Свои UIN и пароль теперь вы можете ввести в любой ICQ клиент, например QIP 2005.

Вход в QIP 2005

1. Скачиваем и устанавливаем клиент.

2. Вводим UIN и пароль, затем заходим в «Сервер/прокси»

3. Меняем сервер, сохраняем и авторизуемся.

4. Ставим галочку «Безопасный вход».

5. Рекомендуем сменить статус на «В сети»

Изменение данных в профиле

1. Нажмите на указанную кнопку — «Показать/изменить свои данные»

2. Выберите любой нужный вам пункт из указанных.

Вход в SIM IM

1. Скачиваем и устанавливаем SIM 0.9.4.3 (для Linux).

2. Создаём новое соединение, выбираем протокол ICQ.

3. Вводим UIN и пароль.

4. Меняем сервер на указанный в скриншоте.

5. Подключаемся и разрешаем брандмауэру дальнейшее подключение.

6. Приятного вам общения :)

Это мой первый пост на хабре, поэтому любые пожелания к стилю написания приветствуются.

В связи с периодическими изменениями протокола ICQ, не все сторонние клиенты успевают за ними, поэтому появилась необходимость в прослойке между сервером и клиентом, которую можно достаточно быстро подстраивать.

В данной статье я расскажу об реализации такой прослойки, в виде специализированного прокси — ICQGATE или ICQ-маскарад.

Немного истории

Будучи еще студентом в далекий 1999 год, когда университетский интернет протягивали и настраивали по общежитиям энтузиасты, возникла задача проксирования ICQ, поскольку единственный выход в интернет был через университетский HTTP-прокси, который был перегружен запросами.

Изначально была идея написать полноценный ICQ-сервер, но реально оценив свои шансы и время, пришлось упростить задачу до только прокси, т.к. надо было уже «вчера».

Кстати, локальный ICQ-сервер все таки был написан: IServerd
Вся информация по протоколу, в то время, была взята из исходников MICQ

Подробности

Следует отметить, что простой редирект на login.icq.com для ICQ не проходит, поскольку сервер сам присылает клиенту специальный IP адрес, с которым идет дальнейшее взаимодействие.

Схема проксирования с простейшей авторизацией (без MD5):

  1. Посылаем запрос авторизации на login.icq.com.
  2. Получаем новый IP сервера от login.icq.com.
  3. Заменяем этот IP на адрес нашего прокси в ответе клиенту.

Эта схема была быстро реализована на Perl и работает до сих пор на университетском сервере. В 2005 году были написаны оптимизированные версии для FreeBSD и Linux уже для провайдеров, которые добавили у себя услугу бесплатной аськи для пользователей и получили заметное конкуретное преимущество среди провайдеров домовых сетей.

Так как все написано на Perl, то должно работать практически везде.

Демонстрационную версию можно скачать тут: icqgate-2.0.2.zip
UPDATE: теперь поддерживает авторизацию с MD5.

Все исходники можно скачать бесплатно, никаких ограничений нет.
На днях постараюсь сделать версию, которая будет скрывать последние изменения, для всех старых клиентов.

Как пользоваться

Вариант с роутером

Пусть ваш локальный адрес 192.168.0.2, а адрес роутера 192.168.0.1,
тогда запускаете на роутере ICQGATE так:

./icqgate.pl —port=5190 —host=192.168.0.1

В клиенте нужно прописать вместо login.icq.com адрес роутера 192.168.0.1, для надежности, можно переопределить домен в c:/windows/system32/drivers/etc/hosts.

Вариант с localhost

Все тоже самое, только адрес роутера заменяйте на 127.0.0.1.

Теперь о решении проблем с изменениями протокола AOL

В этот прокси можно добавлять любую логику, которая скрывает любые изменения протокола от клиентов. Например, можно подставлять нужный номер flap последовательности,
по определеному алгоритму.

Понравилась статья? Поделить с друзьями:
  • Icq не запускается на windows 10
  • Icq на компьютер на windows 7
  • Icp con 7563 драйвер windows 10
  • Icp con 7561 driver windows xp
  • Iconv windows 1251 utf 8 cmd