Я уже рассказывал, как установить jabber-сервер ejabberd. Теперь попробуем прикрутить к нему ICQ-транспорт, чтобы общаться с пользователями аськи из своего джаббер-клиента.
Прикручивать будем icq-транспорт PyICQt.
Установка транспорта
Для начала скачаем и распакуем PyICQt:
cd /opt wget http://pyicqt.googlecode.com/files/pyicqt-0.8.1.1.tar.gz tar -xzvf pyicqt-0.8.1.1.tar.gz ln -s pyicqt-0.8.1.1 pyicqt
Зависимости: (см. файл /opt/pyicqt/INSTALL)
— Python (>= 2.2.0)
— Twisted (www.twistedmatrix.com)
— optional: epoll (>= 0.4)
Установка зависимостей
В системе должны быть установлены Python (>= 2.2.0) и написанный на нем фреймворк Twisted.
Установка:
Для Fedora: sudo yum install python-twisted
Для Ubuntu: sudo apt-get install python-twisted
Настройка взаимодействия PyICQt и ejabberd
В секцию «listen» файла ejabberd.cfg (допустим, в ее начало) добавляем cтрочку:
{5347, ejabberd_service, [{host, "icq.test.ru", [{password, "secret"}]}]},
Создаем файл /opt/pyicqt/config.xml с таким содержимым:
<pyicqt> <jid>icq.test.ru</jid> <spooldir>./spool</spooldir> <pid>./pyicqt.pid</pid> <mainServer>test.ru</mainServer> <mainServerJID>test.ru</mainServerJID> <port>5347</port> <secret>secret</secret> <encoding>cp1251</encoding> <icqServer>login.icq.com</icqServer> <icqPort>443</icqPort> <admins> <jid>admin@test.ru</jid> </admins> <disableAvatars/> <reactor>epoll</reactor> <usemd5auth/> </pyicqt>
Перезапускаем ejabberd и стартуем транспорт:
ejabberdctl restart
python /opt/pyicqt/PyICQt.py > /opt/pyicqt/log 2>&1 &
На всякий случай можно посмотреть, стартовал ли процесс и все ли чисто в логе:
cat /opt/pyicqt/log
ps ax |grep py
Это все!
Теперь можно в вашем любимом клиенте сделать «Service Discovery», опросить сервер test.ru, найти icq.test.ru и зарегистрироваться с указанием UIN и пароля.
P.S. Мой сервер не смог соединиться с icq-сервером по доменному имени, поэтому в /opt/pyicqt/config.xml в директиве icqServer я тупо указал IP-адрес сервера login.icq.com:
<icqServer>64.12.202.116</icqServer>
Хабрахабр: Установка Ejabberd + PyICQt в Linux
OpenNET: Установка ejabberd и транспорта в icq-сеть. Руководство к действию.
0 коммент.:
Отправить комментарий