Материал из Tkabber Wiki
Тятя, тятя, наши сети
Притащили мертвеца.© А. С. Пушкин "Утопленник"
Содержание
- 1 Введение
- 2 Регистрация на транспорте
- 3 Некоторые гейты в другие сети
- 4 Проблемы при работе с гейтами
Введение
Один из часто задаваемых на конференции вопросов: может ли Ткаббер "общаться" с пользователями других сетей, например, ICQ, Yahoo, MSN и прочих. Строго говоря, Ткаббер тут совершенно ни при чём, и вопрос не по адресу. Но поскольку мы люди добрые, вопрос сей проясним :) К тому же неплохо иметь под рукой базу работающих гейтов ;)
За связь с другими сетями отвечает сервер, к которому вы подключены, а точнее, специальные транспорты (или гейты, как их ещё называют), расположенные на нём. Если быть ещё более точным, то совсем не обязательно использовать транспорт того сервера, на котором у вас зарегистрирован аккаунт. Впрочем, всё по порядку.
Регистрация на транспорте
Начнём с того, что напомним о необходимости иметь зарегистрированный аккаунт в той сети, с которой вы хотите "дружить". Если аккаунта нет, гейт за вас его создать не сможет. Ставьте родной клиент и регистрируйтесь. Также имейте в виду, что у большого количества IM-сетей работает регистрация на главном Web-сайте.
На практике же аккаунт уже имеется, задача лишь — "подрубиться" к сети, чтобы общаться с друзьями, упорно не хотящими переходить на джаббер (или понятия о нём не имеющими). Процесс регистрации на гейте может варьироваться в некоторых пределах, но основные шаги, которые нам надо предпринять, следующие:
- Открыть Дискавери: вторая слева кнопка "Обзор служб" либо пункт меню Службы → Обзор служб;
- Найти в списке доступных служб нужный вам гейт (например, icq.jabber.ru) и открыть его двойным кликом;
- Сделать двойной клик на элементе "Register";
- В появившемся окошке ввести информацию о вашем аккаунте в сети, к которой вы
коннектитесь:
- Для ICQ это будет UIN и пароль,
- для AIM — его логин и пароль или UIN вашей "аськи" и её пароль,
- Для MSN — ваш Windows Live ID (в девичестве Microsoft Passport, он же .NET Passport, в общем, ваше мыло, на которое вы зарегистрированы в любых службах микрософта), ник, под которым вас будут видеть собеседники, и, само собой, пароль,
- Для Yahoo — ваш ID (то, что расположено до "собачки") и пароль,
- Для IRC — читайте ниже (регистрация там опциональна).
- Если всё введено правильно, и не возникло никаких ошибок, появляется окошко, извещающее нас об успешной регистрации. Жмём Ok.
- Появится запрос подписки от имени выбранного Вами гейта, соответственно даем ему подписку и он повляется в ростере. Делаем правый клик на нём и выбираем в меню "Log in".
- В этот момент гейт подключается от Вашего имени к "вражеской сети" и
получает список ваших контактов, после чего отправляет их список вам.
- Классический вариант(старые гейты): в ростере появляется куча ваших контактов из этой сети в виде 1234567@icq.jabber.ru, которую надо теперь как-то упорядочить и вообще выяснить, "ху из ху". Вытягивание ников асикушников — больное место Ткаббера, но некоторую помощь может оказать такой трюк: делаем правый клик на контакте и выбираем "Показать инфо". Появляется окошко vcard пользователя, и если подождать немного, то в подавляющем большинстве случаев "вытянется" как минимум ник. Закрываем инфо, и теперь можно редактировать контакт: правый клик → Редактировать элемент. Ник юзверя автоматически появится в соответствующем поле. Назначаем нужную группу (для разделения вложенных групп пользуйтесь двумя двоеточиями: "Друзья::Институт") и жмём Ок.
- Современный вариант(Spectrum Transport): для того, чтобы практически
прозрачно получить свои контакты и не терять время на выяснение их ников и
групп, необходимы следующие условия:
- Tkabber из Fossil версии [1c44443e96] или свежее.
- Плагин autosubscribe из репозитория 3rd-party
- При использовании современного варианта - сразу после регистрации гейт вышлет список контактов и их групп посредством специального расширения XMPP-протокола, а Ткаббер отобразит форму со списком их(контактов) имен и галочек, которые необходимо соответственно выставить и подтвердить добавление контактов. Если включен плагин autosubscribe, то в этот же момент все эти контакты окажутся в нашем ростере, строго под теми никами и в тех же группах, по которым они были отсортированы Вами при использовании "официальных" клиентов "вражеских сетей". Сделать: Исправить недочеты плагина autosubscribe В случае если плагин не установлен, как и в "классическом" варианте посыпятся запросы подписки, но после подтверждения их ники и группы все равно будут правильными сразу.
- Помимо "Register" в дереве транспорта есть и такие полезные опции как Uptime (время работы) и Version (выдаёт версию программы-гейта; при проблемах с транспортами может помочь вам разобраться в их причинах: например, устаревшая версия гейта).
Диско позволяет лазить и регистрироваться на любом общедоступном сервере. Вам
нужно только ввести в адресную строку имя сервера или сервиса, например:
jabber.anywise.com
, icq.jabbe.net.ru
. Дальнейшие телодвижения ничем не
отличаются от описанных выше.
Некоторые гейты в другие сети
ICQ
На данный момент (зима 2010) известно несколько разных icq-транспортов. Каждый обладает своими достоинствами и недостатками, например, в плане поддерживаемых возможностей icq-протокола. Соответственно, и "глюками" они обладают своими уникальными, и желательно разбираться, что icq-транспорт - это такая же программа, как и Tkabber, только запущена у кого-то на сервере, и так же как и Tkabber, в ней могут быть ошибки, а разработчики, если им грамотно сообщать об ошибках - могут их устранить.
JIT - самый старый из "живых" icq-транспорт. Если на запрос версии ваш транспорт отвечает нечто типа
Jabber ICQ Transport by Lukas Jabber: Jabberd 1.1.1 stable / with real threads / by Lukas Karwacki ICQ: 1.1.6 (Linux 2.6.16.13-4-smp)
- значит у вас именно он. Имел массу модификаций от разных авторов, наиболее годная к употреблению была версия 1.2 от администраторов mytlt.ru. В настоящее время известных "живых" модификаций нету, пользоваться этим транспортом крайне не рекомендуется.Ключевая возможность - поиск ICQ-пользователей. В версии от mytlt - частично поддерживаются ICQ X-Statuses(прием); не поддерживаются message typing notifications, аватары, передача файлов.
PyICQ-t - более молодой, более требовательный к ресурсам сервера транспорт, однако и обладающий бОльшими возможностями - в последнем релизе 0.8.1.5 имеется полная поддержка ICQ X-Statuses(и прием и передача, гибкая настройка), typing notifications, delivery confirmations, аватары, синхронизация vcard и много чего еще. Последний релиз значительно повысил стабильность транспорта - патчи от коммерческой конторы сделали его очень стабильным - поэтому даже если у вас 0.8.1.4, то желательно обновиться на 0.8.1.5. В настоящее время не развивается, но собственно серьезных багов за последней версией не замечено и это наиболее рекомендуемый транспорт, если надо чтоб "поставил и забыл".
Spectrum - новейший транспорт на базе libpurple, библиотеки, являющейся основой Pidgin - мультипротокольного клиента. Разрабатывается в настоящий момент, в том числе авторами PyICQ-t и pidgin. Основное преимущество - умеет транспорты во многие сети "в одном флаконе" - aim, facebook, gg, icq, irc, msn, myspace, qq, simple, xmpp, yahoo, twitter, и еще куда-то. Умеет импортировать контакты с никами и даже группами одним нажатием. Пока нет
поддержки x-статусов иподтверждения доставки, но вполне возможно в ближайшее время будет. Рекомендуется использовать всем, кто хочет помогать развивать транспорты, так как этот транспорт разрабатывается в данный момент, автор охотно отвечает на вопросы, исправляет ошибки.менее популярные виды - встроенный в Openfire транспорт и встроенный в коммерческую версию ejabberd. Имеют не так много пользователей и отзывов, потому ни плохого, ни хорошего о них писать здесь не будем.
Соответственно, найдя публичный icq-транспорт свежей версии (а еще более надежнее - настроив свой), можно добиться достаточно удобного общения с icq-пользователями.
icq.jabber.ru
"Впереди планеты всей" раньше шёл гейт icq.jabber.ru
, однако,
этот гейт прекратил работу с 1 июля 2007 года. Подробности — здесь.
Переезд на другой транспорт с минимумом головной боли
Компания AOL здорово позаботилась о пользователях, запретив хранить список контактов самостоятельно, потому требовавшиеся на старых версиях JIT танцы с бубном по сохранению и переименованию контактов более не нужны. Достаточно:
- отрегистрироваться на старом транспорте и удалить его из контактов.
- убедившись, что транспорт неактивен, можно выделить всех icq-контактов в группу по маске *@icq.bla-bla.ru (Tkabber → Контакты → Добавить группу по регулярному выражению JID... → ".*@icq\.bla-bla\.ru") и удалить их все разом ("Удалить все контакты в группе..." на заголовке группы)
- зарегистрироваться на новом транспорте, и повторить процедуры, описанные выше, необходимые для регистрации.
Общедоступные транспорты в ICQ
(частично взято отсюда):
jit.mytlt.ru
(JIT 1.2 - теоретически, наиболее надежный)icq.jabber.sib.ru
(JIT)icq.jabber.org.ru
(PyICQt)icq.jabbe.net.ru
(PyICQt)icq.udaff.com
(JIT)picq.udaff.com
(PyICQt)pyicq.jabber.te.ua
(PyICQt)icq.sudouser.ru
(PyICQt)
Большой список ICQ-гейтов поддерживается на wiki Bombus'а.
Существуют гейты в ICQ и на "буржуйских" серверах. Для российских пользователей они, как водится, не подходят по той простой причине, что не поддерживают наших кодировок.
MRIM
На данный момент (апрель 2007 года) в мире насчитывается по крайней мере два гейта, позволяющих получать спам от пользователей Mail.Ru Instant Messenger, кратко — MRIM. Зарегистрироваться на них можно по следующим адресам:
mrim.jabber.ru
mrim.udaff.com
Нелишним будет сразу же порекомендовать дополнительную литературу по теме.
MSN
Можем предложить
msn.jabber.anywise.com
(тоже иногда глючит, но не так откровенно).msn.jabber.kiev.ua
msn.jaim.at
Yahoo
yahoo.draugr.de
отлично работает, хотя и забугорный. Гейт логинится в сеть яху сам, с кодировками проблем нет, кроме того, что в пользователи в родном Yahoo! Messenger видят статусное сообщение кракозяблами.
Приветствуются адреса работающих транспортов.
AIM
IRC
При регистрации на IRC-транспорте у вас есть возможность задать кодировки для разных IRC-серверов, к которым вы обычно коннектитесь. Читайте помощь, выводящуюся при двойном клике на "Register". Однако заходить на конференции вы можете и без регистрации. Для этого щёлкните на "Join conference" и в поле "Группа" введите имя комнаты и имя IRC-сервера в таком формате: mycoolroom%irc.server.org, а в поле "Сервер" — имя гейта, через который вы собираетесь общаться в "ирке". Сделать: Выяснить, работает ли тут поле "Пароль", и если да, то для чего служит. По идее, для комнаты, потому что для ника пароль отдаётся Никсерву, см. ниже.
Некоторые гейти в IRC:
Мир его праху. В эпоху массового отстрела транспортов на jabber.ru ему не помогла даже хитрая спрятанность (уж админы-то не могли про него не знать :)).irc.e.jabber.ru
— хитро спрятанный IRC-гейт сервера jabber.ru. Его не видно в Диско, но он существует и очень даже работает.irc.jabber.kiev.ua
— гейт на украинском джаббер-сервере.irc.jabe.ru
— гейт компании, которая хостит нашу вики.
В силу разных обстоятельств случается, что тот или иной гейт не работает. Это сразу видно по абсолютно пустому окну канала, на который вы якобы вошли. В этом случае просто попробуйте другой гейт. Учитывайте также нетсплиты — временные разъединения серверов, формирующих IRC-сеть. Если вы и собеседник, нужный вам, подключены к разным серверам, то при нетсплите вы не сможете общаться. Чтобы избежать этого, укажите нужный IRC-сервер при заполнении поля "Группа".
Бывает, что NickServ спрашивает ваш пароль (если, конечно, ваш ник зарегистрирован). Его запрос появляется в отдельном окне или табе. Попытка отослать ему стандартную команду /identify password ни к чему не приводит. Однако всё получается, если просто убрать слэш и оправить Никсерву только identify password. Это происходит, например, в сети WeNet (irc.wenet.ru). Но как показывает практика, не везде такой подход срабатывает. Например, если проделать то же самое при идентификации в сети RusNet (irc.rusnet.ru), Никсерв изругается и скажет в ответ на команду что-то вроде следующего:
[Вск Ноя 11 19:50]<nickserv!irc.rusnet.ru> NOTICE: Use /chanserv, not /MSG chanserv
Оно и верно: написав в приват Никсерву запрос об аутентификации, мы просто послали ему сообщение (как бы командой /msg identify password). Как видно, некоторые сервера требуют прямой команды. В этом случае следует "завернуть" её в "бумажку" quote, которая поможет команде дойти до сервера в неизменном виде: /quote nickserv identify your_password.
Вот ещё пара полезных команд:
- /quote mode #channel +o nick — дать "опа" участнику nick. Ровно таким же образом должны работать и остальные аналогичные команды: -o, +v, -v, +h, -h, +b, -b. Обратите внимание, что раздача привилегий посредством меню MUC, вызываемого правым кликом на нике участника, ничего не даст, потому что IRC просто не поймёт, что вы ему толкуете.
- /quote chanserv help, /quote nickserv help и /quote memoserv help выведут в привате список команд, которые можно данному серву отсылать. Собственно, объединив ваши собственные знания об IRC и только что описанный трюк с quote, вы могли бы и сами об этом догадаться, но уж пусть эта подсказка будет.
- Если набрать просто /quote help, то irc-сервер, к которому вы присоединены, выдаст список команд для этого сервера.
Дадим ещё один совет на тему общения с сервами. Обычно их имя в интерпретации джаббер-протокола выглядит примерно таким образом: chanserv!irc.rusnet.ru@irc.jabberserver.ru. Изменяя необходимые параметры при открытии чата с интересующим сервом, можно общаться с любым из них, даже не коннектясь к irc-серверу — гейт сам всё отошлёт куда надо и доставит вам ответ. Это полезно, если вы хотите узнать, какие команды поддерживает интересующий вас Ник- или Чансерв. Все эти сервы довольно полезны, однако не все из них скромны. Например, wenet!irc.wenet.ru довёл вашего покорного слугу своими постоянными сообщениями до того, что тот занёс его JID в виде wenet!irc.wenet.ru@irc.e.jabber.ru в игнор (это типа намёк, что нужно делать в подобных ситуациях ;)).
Работы по исследованию irc-гейтов будут продолжаться; тем не менее, если у вас есть что добавить в эту статью, никто этого не запрещает.
XMPP (свой среди чужих ;))
Позволяет подключить XMPP учётную запись на другом сервере. Можно использовать как альтернативу мультилогина. Общедоступные транспорты замечены на:
xmpp.jrudevels.org
gtalk.jrudevels.org
— для подключения учётной записи GTalkj2j.udaff.com
Будьте осторожны! Не регистрируйте активную учётную запись гостевой в самой себе. После этого не сможете зайти в неё. Не создавайте циклов из учётных записей, например, user1@server1.org является гостевым для user2@server2.org, и одновременно user2@server2.org является гостевым для user1@server1.org. Вы можете придумать более сложные циклические схемы, воздержитесь и от них.
Проблемы при работе с гейтами
Поскольку работа других сетей чаще всего основана на закрытых протоколах, не следует удивляться и огорчаться, если транспорты подглючивают, падают и просто не работают. Отнюдь не помогает их работе и отношение админов Jabber-серверов к "иноземцам" именно как к иноземцам: даже в самых доброжелательных ответах админов (если их удаётся получить) сквозит презрение к "асикушникам" и прочему плебсу. Чаще всего разруливать ситуацию приходится самостоятельно, причём радикальным способом — сменой гейта. Как и на что их менять, рассказано выше, а здесь мы попробуем дать список ошибок, которые могут возникнуть, и их расшифровку. Ошибку можно прочитать в тултипе, появляющемся, если навести мышь на транспорт, находящийся у вас в ростере.
Unavailable
Строго говоря, это не ошибка, а состояние сервиса: "Недоступен". Однако если вы видите, что кроме этого ничего больше в той же строке не написано, скорее всего, вы либо забыли залогиниться на гейт, либо он сам как-то отвалился. Решение проблемы простое: правый клик, и выбрать Log in.
Low Level Network Error
Эта надпись иногда появляется в качестве комментария к вышеупомянутому состоянию Unavailable. Перевод: "низкоуровневая ошибка сети". Замечена при работе со старыми версиями JIT, имевшими ограничение в 1024 одновременных соединения. В настоящее время наверняка является сигналом к тому, что вам пора сменить свой ICQ-транспорт на что-то более свежее и стабильное.
Unrecoverable Error (Remote Server Not Found)
Как видно из названия, эта ошибка сообщает нам о том, что удалённый сервер не
найден. Причины могут быть разными: начиная с очень паршивой связи гейта с
сервером вражеской сети и заканчивая обычным падением этого самого сервера.
Если вы обнаружили эту ошибку, вернувшись к компьютеру после долгого
отсутствия, попробуйте перелогиниться на транспорте — вдруг связь уже
наладилась. Если ничего не получается, ждите — за вами придут
когда-нибудь она наладится. Попингуйте сервер: станет ясно, жив он или нет.
Disconnected by unknown reason
Серия ошибок py-transports (pyicq-t, pymsn-t, и т.д.) - большинство их глюков содержит эти слова Сделать: дописать подробные примеры. Обычно достаточно перелогиниться на транспорте.
Temporary Error (Component 'msnlinker' is not connected to server)
Судя по всему, некий компонент транспорта MSN, необходимый для полноценной работы, не подключён к серверу. Результат плачевен: при попытке коннекта к серверу от транспорта приходит ответ такого типа: "Sorry. You do not appear to be registered with this transport. Please register and try again. If you are having trouble registering please contact your Jabber administrator". Иными словами, транспорт в упор вас не знает. Прежде чем внять этой просьбе зарегистрироваться, имеет смысл подождать, ведь мы знаем, что это глюк сервера, а не отсутствие регистрации. Обычно через некоторое время всё само собой налаживается. Если ничего не налаживается, просьба жаловаться не нам, а хозяевам транспорта.
"Намерзание" участников в ростере
Такая проблема часто возникает при работе с гейтами ICQ, когда Ткаббер не выключается долгое время, и за это время происходили дисконнекты. Вы общаетесь себе, общаетесь; мама зовёт вас обедать, вы отходите от компа, потом снова садитесь за него; вечером вы идёте в гости, по возвращении снова лезете в Ткаббер; часв в четыре утра ложитесь спать, на следующий день общаетесь снова, и всё это время он вроде бы нормально работает. Но где-нибудь на третий день вы вдруг обращаете внимание на то, что некоторые ваши друзья из аськи против обыкновения тоже сидят в интернете круглосуточно, причём не наблюдается никаких автоэвеев. Может случиться и так, что вы обнаруживаете транспорт упавшим, однако эти товарищи несмотря ни на что упорно не желают исчезать из ростера. Разлогинивание от гейта не помогает, а ситуацию разруливает лишь полный перелогин Ткаббера. Что же при этом происходит? Сделать: Расспросить авторов гейта либо авторов Ткаббера либо просто очень умных людей либо волшебников и написать тут.