Icq сервера для windows
Были сообщения об успешной работе с Триллианом, но сам я не тестировал и точно скзать не могу
Ведуться работы по адаптации к библиотеке ICQClient
Для отправки оффлайн сообщений длиной больше 450 символов, надо очень немного плугин ICQ.dll. Если вам это не критично, то можно оставить icq.dll из дистрибутива Миранды. Это ограничение стандарта, а не сервера SIQ, который фактически поддерживает длину до 60 КБ.
В полной версии дистрибутива лежит клиент Миранда 0.3.3.1 со сделанными исправлениями, профилем по-умолчанию и с самыми нужными плугинами.
- Остановить оба сервера
- Запустить siq-full.exe
- Выбрать параметры инсталляции и инсталлировать
- После инсталляции настроить в реестре [HKEY_LOCAL_MACHINE\SOFTWARE\OVR\SIQ]
- path — каталог с программой. («C:\Program Files\SIQ\») должен обязтельно заканчиваться слэшем
- настроить параметры серверовв файле siq.ini
- Auth_Port порт сервера авторизации (5190)
- BOS_Port порт сервера основных служб (5191)
- BOS_IP IP-адрес сервера основных служб (Обязательно сменить на реальный)
- LogLevel Уровень серьезности лога от 0 до 11 (9)
- настроить списки рассылки в файле siq.ini
- Стартовать службы SIQAuth и SIQBOS. При необходимости сменить параметры автозапуска а так же пользователя, под которым запускаются сервисы.
- Запустить клиента из каталога SIQ\Miranda\miranda32.exe
- Сменить в настройках адрес сервера
- Для установки клиента Миранда — нужно скопировать mfc70.dll, msvcp70.dll, msvcr70.dll в каталог Миранды или c:\winnt\systm32\ на компьютеры клиента. Дистрибутив выкладывает эти файлы в каталог c:\winnt\systm32\ на сервере.
Все, должно работать. Если не так, то пишите сюда
Примечания Для ручной настройки необходимо знать
- SIQBOS.exe /? — справка о командной строке
- SIQBOS.exe setup — регистрация сервиса основных служб
- SIQBOS.exe delete — удаление сервиса основных служб
- SIQAuth.exe /? — справка о командной строке
- SIQAuth.exe setup — регистрация сервиса авторизации
- SIQAuth.exe delete — удаление сервиса авторизации
- %SystemRoot%\System32\regsvr32.exe SIQAX.dll — регистрация ActiveX
- %SystemRoot%\System32\regsvr32.exe SIQAX.dll /u — удаление ActiveX
- При установке сервиса в режим паузы, происходит сборс логов на диск, вывод статистики, и делается невозможным подключение новых пользователей. Ранее подключенные пользователи продолжают работать.
- Важно использовать плугин ICQ.dll из дистрибутива. Иначе будут ошибки отображения статуса и поиска.
- Можно задать градацию серьезности логов
- 0 16-е дампы
- 3 все пакеты и все сообщения
- 6 все пакеты, кроме сообщения о смене статуса
- 7 сообщения о неподдерживаемых пакетов
- 9 только описания событий
- 11 только ошибки и важные сообщения
Пропущенные значения оставлены для резерва. Учитываются как меньшие по-важности. Для старых версий надо сменить в реестре isDebug на LogLevel
Для вновь создаваемых профилей необходимо убрать галку: Настройки/Сеть/ICQ контакты/Использовать список на сервере Иначе статус может отображаться некорректно. Эта эта галка доступна только при отключенном состоянии. Т.е. запускам миранду, переводим ее в offline, вызываем настройки, убираем галку, подключаемся к серверу, радуемся 🙂
- SIQAuth.exe — сервер авторизации
- SIQBOS.exe — сервер основных служб
- SIQCmd.exe — посылка сообщений через командную строку по TCP-IP
- SIQAx.dll — COM-объект для управлнеия сервером и посылкой сообщений.
- siq.ini — списки рассылок
- test.htm — прмер использования SIQAx
- \db — профили пользователей
- \olm — off line message — сообщения, присланные во время отключения от сервера
- \Cookie — хранит файлы, используемые при авторизации. Каталог использует SIQAuth SIQBOS
- \Miranda — Миранда 3 со сделанными исправлениями и с самыми нужными плугинами,
Редактируем файл siq.ini
.
[Lists]
;все активные — разослать сообщение всем, кто онлайн
SendOnLine=99
;ниже идут произвольные UIN, при отправке сообщений на который, они будут рассылаться всем, прописанным в списке. Например:
;двойные заявик
1=97
;конец siq.ini
смотрю файл \db\97.ini
в нем добавлен раздел, в котором перечислены люди, к которым надо пересылать сообщение. Это UIN 123, 144, 132, 135
[List]
; диспетчеры, зав складом и зам склада
0=123
1=114
2=132
3=155
UIN — рассылки должны быть всегда offline. Иначе, в режиме отправки с подтверждением, работа будет некорректной.
При смене данных в списках рассылки необходимо перезапустить сервис SIQBOS или перевести его в режим Пауза, а потом продолжить опять. В последнем случае, пользователи не будут отключаться.
- SIQCmd.exe ip_адрес порт MSG от_кого кому текст_сообщения отправка сообщения
- SIQCmd.exe ip_адрес порт MSGF от_кого кому текст_сообщения отправка сообщения из файла
- SIQCmd.exe 127.0.0.1 5191 MSG 100 99 «тест 1 2 3» отправка сообщения «тест 1 2 3 » от 100 к 99 через сервер 127.0.0.1 и порт 5191
- SIQCmd.exe ICQ 5191 MSGF 100 99 msg.txt отправка сообщения из файла msg.txt от 100 к 99 через сервер ICQ и порт 5191 Файл должен быть в кодировке Windows-1251
Он поддерживает следующие свойства для чтения и записи
- SIQAX.Message = «:-)» // текст сообщения
- SIQAX.MessageFile = «C:\src\vc\SIQ\SIQAX\stdafx.cpp» // файл, где храниться сообщние
- SIQAX.ICQServer = «127.0.0.1» // адрес сервера. Можно в виде www.xxx.ru
- SIQAX.ICQPort = 5191 // порт
- SIQAX.UINto = 100 // получатель
- SIQAX.UINfrom = 99 // отправитель
- SIQAX.GetUinInfo(uin) // запрос информацци по uin с сервера
- SIQAX.UinInfo(tp) // вызывать после GetUinInfo
Пример использования приведен в test.htm
свойство только для чтения — SIQAX.Status
- 0; // all OK
- -1; // host not found
- -2; // Error open file
- -3; // Error — file to lage
- -4; // Error allocate memory
- -5; // Error read file-msg
- -6; // error send
- -7; // socket call failed
- -8; // connect failed
- -9; // указана неправильная команда
- -10; // ошибка WSAStartup
- -11; // Error getting status info;
Методы
- SIQAX.SendMsg() // послать сообщение. Нет параметров. Используются ранее установленные
свойства, такие как SIQAX.Message, сервер, порт. - SIQAX.SendFile() // послать сообщение из файла. Нет параметров. Используются ранее установленные
свойства, такие как SIQAX.MessageFile, сервер, порт.
Также стоит отметить, что в ICQ 6 статусы Do not disturb и Occupied, установленные у другого пользователя, воспринимаются одинаково, то есть как Occupied.
Помимо этого, для учётной записи пользователь может устанавливать особый режим — «режим невидимости» (invisible). В этом режиме другие пользователи будут получать для учётной записи статус присутствия «не в сети», а знать об активном режиме невидимости и получать актуальный статус присутствия смогут только пользователи, чьи учётные записи были внесены в список видимости пользователя.
Дополнительный информационный статус
Начиная со времени появления ICQ 5, в протокол ICQ были внесены небольшие дополнения, которые позволили пользователям иметь сразу два статуса — основной и дополнительный. Однако, до определённого момента (а именно до выхода в свет ICQ 6, в которой, правда, были проведены небольшие изменения в этом аспекте протокола) это являлось не более чем особенностью протокола ICQ, которую используют многие альтернативные клиенты ICQ. ICQ 5 и ICQ 5.1 предлагали пользователю только возможность поставить либо один из основных статусов, либо любой из дополнительных. Однако, стоит отметить, что, если в настройках клиента установлен режим автопереключения в статус Away и/или N/A по прошествии определённого времени, то он мог незаметно ставиться поверх установленного пользователем дополнительного статуса. Ценой же полной реализации этого механизма в ICQ 6 явилось невозможностью просматривать дополнительный статус и его содержание в старых версиях ICQ (5.0x и 5.1). Однако появился и плюс — возможность вставлять в статус форматированный RTF-текст.
После успешной авторизации клиент ICQ загружает с сервера список контактов пользователя. Контакты в списке могут быть разделены на группы, имена и количество которых изменяются пользователем.
При добавлении контакта может потребоваться авторизация — разрешение видеть его статус присутствия и отправлять ему файлы. Для таких контактов формируется запрос на авторизацию, который доходит до пользователя добавляемой учётной записи в виде системного уведомления, на которое он может ответить либо согласием, либо отказом, по желанию снабдив решение текстовым комментарием.
Максимально можно иметь 1000 контактов .
Для обеспечения необходимого уровня конфиденциальности в ICQ существует несколько списков, выполняющих определённую функцию, в которые каждый пользователь может заносить любые контакты без уведомления последних.
Существует 3 списка:
* Список игнорируемых — от оказавшихся в этом списке пользователей не приходит никаких уведомлений, им не показывается никакой статус добавившего, кроме «Не в сети».
Oh, MSBRO !
Сетевые заметки системного администратора
Корпоративный ICQ сервер.
В этой статье мы делаем установка и настройка 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://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 следующую строчку (можно скопировать и вставить):
Сохраните файл и закройте текстовый редактор 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- репозиториях его судя по всему нет. Придется качать вручную. Выполните:
(пакет 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. Настройка сервера.
В строке Domain указываем имя вашего домена. Пусть наш домен называется myfirma.local Тогда в этой строке пишем myfirma.local
2. Настраиваем подключение к БД.
Настраиваем базу данных. Первый пункт — standart database connection подразумевает подключение к внешней БД, второй (embedded) — использование внутреннего механизма хранения данных.
Выбираем standart и нажимаем Next. В открывшемся окне выбираем тип базы данных (это приведёт к автоматическому заполнению строк JDBC Driver Class и Database URL). Далее правим строку Database URL: на месте [host-name] вводим адрес сервера БД, а на месте [database-name] — имя базы, которая будет создана. Правильная строка выглядит примерно так: jdbc:mysql://localhost:3306/openfire. Если порт сервера БД отличается от стандартного, также меняем. Вводим имя пользователя и пароль. Пользователь должен обладать достаточными привилегиями на сервере для создания БД.
3. Настраиваем профиль.
Сначала необходимо выбрать, где будет храниться информация о группах и пользователях
Выбор пункта Default означает, что вся информация будет храниться в базе данных, и все операции с пользователями и группами придётся выполнять «вручную» — через админпанель или подключение к базе данных. Пункт Directory Server означает, что сервер будет использовать информацию, хранящуюся в LDAP-каталоге домена (только для чтения).
При установке выбираем Active Directory.
Будет предложено Ввести DN домена.
Host: myserver (имя сервера — контроллера домена)
Base DN: DC=myfirma, DC=local (имя DN для вашего домена. у нас домен называется myfirma.local)
Так же необходимо ввести учетную запись для доступа в AD (Authentication DN/Administrator DN). Отдельную учетную запись предварительно нужно завести в домен, выставить пароль и указать ей что пароль изменять нельзя и срок действия пароля не ограничен. Пускай имя нашей учетной записи myfirma\jabber Тогда в окне вы указываете (помним что наш домен называется myfirma.local):
Administrator DN: jabber@myfirma.local
и соответственно ее пароль.
Нажимаем кнопку «Test connection» и в случае успешного соединения видим надпись:
По нажатию кнопки Next переходим к двум подпунктам: User Mapping и Group Mapping. Здесь можно задать соответствие полей в AD и OpenFire, а также определить фильтр по группе пользователя, чтобы OpenFire не работал со служебными группами AD:
4. Завершение установки.
Назначаем пользователя с правами администратора. При хранении профиля в БД будет предложено ввести пароль для пользователя admin, при работе с LDAP необходимо ввести имя пользователя, который присутствует в каталоге, и который будет обладать административными правами в админпанели OpenFire. Наконец щёлкаем по кнопке «Login to admintrative console» и видим предложение авторизации админпанели:
Поздравляем: Установка завершена!
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 даст вам корректное отображение русского языка в сообщениях.
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-формате профилей), а также «отложенные» сообщения будут отображаться иероглифами-крякозябликами из-за ошибки в кодировке. Открываем файл \conf\openfire.xml в папке программы. Ищем строку, описывающую базу данных: « jdbc:mysql://host_name:3306/base_name », после чего приводим её к виду « jdbc:mysql://host_name:3306/base_name?characterEncoding=UTF-8 ».
Делать этого НЕ НУЖНО. При создании БД мы указали что кодировка везде UTF-8 (нужно сказать вы можете выставить для БД кодировку Windows-1251, но только везде одну и ту же. То есть и сама база должна быть в Windows-1251 и подключение к БД в Windows-1251). При заходе в админ панель OpenFire вы устанавливаете один плагин IM Gateway. При настройке шлюза для ICQ вы указываете кодировку с АДМИН ПАНЕЛИ Windows-1251 после чего с админ панели пере запускаете этот плагин. После этой процедуры у вас должна быть корректная кодировка при отправке/приеме сообщений с ICQ.
Не правьте конфигурационные файлы вручную .
Кстати, если вы уж очень-очень захотите, то вы можете перезапустить процедуру первичной настройки сервера, в файле openfire.xml поправьте « true » на « false », и удалите / заново создайте БД через phpmyadmin.
по мимо Spark (в нем так и не поборол проверку орфографии — постоянно подчеркивал слова) отлично работает клиент Psi+. Неплохой клиент Exodus, но несколько сложновато в настройке.
Нет похожих постов.