Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 117, СЕНТЯБРЬ 2008 г.

Безболезненно осваиваем IM-систему от Google

Степан «Step» Ильин (step@gameland.ru)



Пользователи ICQ, как мыши: плачут, колются, но продолжают есть кактус. И ведь правда: сервера постоянно отваливаются, альтернативные клиенты страдают из-за изменений в протоколе, а функциональность так и остается на нуле. Пора, наконец, отказаться от старой, хоть и привычной системы и найти что-нибудь по душе!

С тем, что проблем у ICQ много, спорить никто не будет. Не надо и напоминать, как в очередной раз альтернативные клиенты отказались работать из-за неожиданных изменений в протоколе. Разработчикам тут же приходилось клепать заплатки, а пользователям ничего оставалось, кроме как обновляться. И ради чего? Разработчики из AOL так и будут менять закрытый протокол сколь угодно долго, а приложения так и придется обновлять. Еще хуже – сервера аськи вдруг стали «провисать», начиная от небольших перебоев и заканчивая суровым дауном на несколько часов. Каждый из нас сталкивался с тем, что сообщения пропадали непонятно куда, особенно если отправляешь их пользователям «в оффлайн». Не говоря уже о передаче файлов между двумя разными клиентами, которые, подчас, кроме как высшим пилотажем не назовешь. Голосового общения нет, логи раскиданы где попало… – стоит ли продолжать? Короче, достоинство у ICQ только одно – громадная армия пользователей, среди которых и все твои друзья. Но есть ли альтернатива?

Альтернатива, по большому счету, только одна – система Jabber, которая использует открытый (что очень важно) протокол XMPP. К сожалению, пока этой технологией пользуются исключительно продвинутые пользователи и гики. Но компания Google обещает сделать ее массовой, выпустив на рынок мессенжер Gtalk, построенный как раз на этой технологии. И мы с тобой, надеюсь, этому поможем.

Преимущества Google Talk

Google Talk — это мессенджер от компании Google, позволяющий общаться с помощью голосового чата и привычных текстовых сообщений. Мессенджер тесно интегрирован с почтовым сервисом Google’а.

Преимуществ у него более чем достаточно:

  • В основе Gtalk лежит открытая и проверенная временем технология Jabber. Это позволяет беспрепятственно использовать как родной клиент, так и любой сторонний.
  • Сервера Google исключительно стабильны. Конечно, и у такого гиганта бывают промахи, в результате которого недавно лежал почтовый сервис Gmail, но эти случаи единичны.
  • Вся история переписки хранится на сервере. Нет необходимости больше искать по всем своим компьютерам и клиентам в поиске какого-то сообщения. Ты можешь общаться дома, на работе, в универе – и всегда под рукой будет единая история переписки.
  • Транспорт на любые сторонние протоколы (ICQ, MSN, AIM, Yahoo, Mail.Агент), так же со всей историей переписки на сервере.

Самое главное, что можно легко перейти на Gtalk, не отказываясь при этом от ICQ и, соответственно, от всех контактов. При этом не придется запускать несколько IM-клиентов, интеграцию поддерживает сам Gtalk. Итак, начнем?

Три варианта

Чтобы подключиться к Gtalk, необходимо лишь зарегистрировать аккаунт на Gmail (www.gmail.com). Отличная возможность оценить удобство, стабильность и потрясающую продуманность почтового сервиса от Google. Чего стоят только 7 Гб дискового пространства, предоставленные пользователям совершенно бесплатно.

Есть три варианта, как действовать дальше. Выбирай самый тебе удобный.

Первый способ – самый простой. Если у тебя нет желания отказываться от привычного клиента (хотя бы потому, что там важная история сообщений, куда часто приходится подглядывать), то ничего не мешает использовать два клиента одновременно. В конце концов, какая разница: одним значком в трее больше или меньше. Тогда тебе подойдет оригинальный клиент Gtalk – очень простой, нетребовательный к ресурсам и, плюс ко всему, поддерживающий голосовые звонки (в любом другом случае о голосовом общении придется забыть).

Второй способ – воспользоваться мультипротокольным клиентом, который поддерживает как ICQ, так и Jabber. Начиная с виндовых Miranda (www.miranda-im.org) и QIP Infinum (www.qip.ru) – и заканчивая кроссплатформенным клиентом Pidgin (pidgin.im). Ничего не стоит добавить несколько учетных записей из различных сетей и успешно их использовать. Недостаток подхода в том, что история сообщений ICQ не будет сохраняться на сервере Gmail.

Третий и, на мой взгляд, лучший способ – Jabber-клиент с использованием транспортов на разные протоколы (в том числе, ICQ). Поговорим об этом варианте более подробно.

Настраиваем транспорты

Технология Jabber, на которой построена система GTalk, поддерживает систему так называемых транспортов, позволяющих очень легко общаться с участниками других IM-сетей. Первое, что тебе понадобится – это Jabber-клиент. Можно выбрать любой (Gajim, Tkabber, Pidgin), но лично я предпочитаю Psi (www.psi-im.org).
После запуска необходимо подсоединить свой Gtalk-аккаунт. Для этого:

  1. Переходим в меню «Общие -> Аккаунты»;
  2. Нажимаем «Добавить», указываем имя для аккаунта – например, «Google Talk»;
  3. В Jabber ID вводим свой Gtalk-идентификатор: допустим, vasya.pup@gmail.com;
  4. Переходим во вкладку «Соединение» и включаем все опции, кроме «Использовать стандартный SSL-порт»;
  5. В поле сервер вводим «talk.google.com», а в качестве порта указываем – 5223;
  6. В выпадающем меню «Шифровать соединение» выбираем «Традиционный SSL»;
  7. Пробуем подключиться, игнорируя сообщение о проблемах с проверкой сертификата (нажимая «Далее»).

Соединение установлено! Мы только что настроили Psi для работы с аккаунтом на Gtalk. Советую присмотреться именно к этой программе, потому что впоследствии многие отдают предпочтение именно ей, нежели стандартному клиенту. Не буду рассказывать, как добавлять новых пользователей в список контактов и расписывать прочие тривиальные вещи. Лучше сразу перейдем к самому интересному – настройке транспорта на ICQ. К счастью, Jabber – это уже настолько окрепшая система, что никаких проблем возникнуть не должно. В Сети существует тысячи серверов, поддерживающих транспорты в самые разные системы. И если можно легко привязать свой аккаунт на Mail.Агент, то уж что говорить про такого гиганта, как ICQ. Список публичных серверов можно найти по этому линку – www.jabber.org/im-services. Нас вполне устроит gajim.org. Перед тем, как ты начнешь его использовать, хочу обратить внимание на один важный и неприятный нюанс. Некоторые транспорты почему-то не поддерживают корректное преобразование ICQ UIN'а в никнейм. В результате, любой контакт в ICQ будет отображаться как бесполезный набор цифр. Чтобы этого избежать, зайди в настройки. Нужно сделать следующее:

  • автоматически давать подписку: «Options ? Events ? Auto-authorize contacts»;
  • отключить уведомления о получении подписки: «Options ? Events ? Notify when authorization was received»;
  • снять галку с игнорирования сообщений от неподписанных (Jrd): « Options ? Events ? Ignore events from contacts not already in your roster»;
  • автоматически подставлять ники (Jrd) контактам при добавлении в ростер: «Options ? Advanced ? options.contactlist.resolve-nicks-on-contact-add = true» (это – самое главное!).

Транспорт запросит логин, пароль и авторизацию. После ее подтверждения должны подтянуться асечные ники. Таким же образом можно подключать любые другие транспорты (AIM, MSN, Yahoo) и легко сделать так, чтобы в одном аккаунте GTalk уживалось несколько IM-систем. Очень удобно, что вся переписка при этом будет сохраняться на сервере. Правда, у некоторых западных серверов замечены траблы с кодировками. У отечественных серверов в зоне .ru такой проблемы нет, но есть трудности со стабильностью.

Интересные особенности

Безопасность – важный для нас вопрос. Соединение между клиентом Google Talk и сервером шифруется (кроме того случая, когда ты используешь сервис прямо в окне браузера в интерфейсе Gmail). Другие программы-клиенты (тот же Psi) требуют защиты своих потоков при помощи TLS перед тем, как послать пароль. Так поток остается зашифрован в течение всей сессии. Компания Google объявила, что в следующих версиях ее клиента все сообщения (текстовые и голосовые) будут защищены. Недаром клиент до сих пор носит статус beta.

Несмотря на то, что технология Jabber поддерживает групповые чаты (конференции), официальный клиент Google Talk такой возможности по непонятным причинам лишен. Тем не менее, возможность создания конференций в Google Talk существует. Как выяснилось, не все пользователи GTalk про нее знают. Для использования конференций достаточно добавить в ростер контакт partychat#@gmail.com, где # – номер от 0 до 9. Добавлять можно любой из этих контактов (это просто несколько ботов, связанных единым сервисом). Для управления конференциями существует ряд команд, список которых можно получить командой /commands. Вот основные из них:

  • /create chat_name [optional_password] - создание нового чата. Опционально можно указать пароль для подключения.
  • /join chat_name [password] - присоединение к чату.
  • /list - список участников.
  • /alias [name] - установка своего никнейма.
  • /exit - выход из чата.

Вот, собственно, и все. Очень просто и достаточно удобно. Возможно, не так удобно, как стандартные конференции jabber, но история переписки PartyChat сохраняется на сервере GMail, что является несомненным плюсом. Кстати говоря, пользователь остается в чате до тех пор, пока не будет выполнена команда /exit. То есть, даже в случае переподключения клиента нет необходимости каждый раз подключаться заново. Подключайся – xakep.chat. Мы ждем тебя!

Бесплатные звонки в более чем 30 стран мира!

Раз уж ничего в Gtalk не стоит настроить транспорт в другие сети, а сама технология за счет расширения поддерживает голосовую связь, то почему не попробовать привязать клиента к какому-нибудь VoIP-гейту и звонить на самые обычные телефоны? Шлюз с незамысловатым названием www.gtalk2voip.com нашелся очень быстро. После беглого осмотра стало ясно, что это не просто шлюз, а настоящая находка! Пользователи бесплатно получают следующие возможности:

  • бесплатные звонки между различными IM-системами, поддерживающими голосовую связь (Google Talk, MSN/Live Messenger и Yahoo!). К сожалению, в этом списке пока нет Skype;
  • голосовые конференции с участием любого количества человек;
  • бесплатные звонки на телефоны SIP-операторов и SIP-сервисов;
  • прием звонков с SIP-телефонов;
  • прием звонков с мобильных и городских телефонов, используя специальный сервис SIP Broker.

Для звонков на городские и мобильные номера, равно как и для отправки SMS-сообщений, сервис попросит небольшую денежку. Едва ли тебе удастся сэкономить на отправке сообщений (лично на моем тарифе дешевле будет отправить сообщение с телефона), зато копеечные тарифы на исходящие звонки тебе обеспечены!
Для использования не надо ничего скачивать, устанавливать и вообще как-либо заморачиваться. Все намного проще: чтобы совершить звонок, нужно добавить в список контактов [+]<COUNTRY><AREA><PHONE>. Например, +74950000001@gtalk2voip.com. Номер появится в списке контактов с иконкой телефончика. С ее помощью звонить можно быстро. Правда, предварительно придется пополнить свой внутренний баланс. Сервис принимает к оплате как PayPal (потребуется пластиковая карта Visa или Mastercard), так и более привычные для нас Webmoney.

Что приятно, с 30 июня система позволяет совершенно бесплатно звонить на мобильные и городские номера в более чем 30 стран мира. Среди них: США, Великобритания, Аргентина, Австралия, Бельгия, Канада, Китай, Финляндия, Швеция, Греция, Ирландия, Израиль, Нидерланды, Норвегия, Словакия, Испания, Франция, Германия и многие другие! Халявные звонки осуществляются так же, как и платные. В список контактов требуется лишь добавить номер в форме phonenumber@talkster.gtalk2voip.com. Мы в редакции проверяли лично: все работает «на ура»

2004 год – разработчиками предложена идея построить IM-сервис от Google на базе Jabber

2005 – блоггеры и прочие любопытные товарищи обнаруживают на субдомене talk.google.com работающий Jabber-сервер. Позже им удается залогиниться на сервер еще до официального релиза

24 августа 2005 – Google отправляет всем своим неофициальным юзерам сообщение «Спасибо за то, что были нашими первыми пользователями» и официально запускает сервис

15 декабря 2005 – разработчики выпускают релиз libjingle библиотеки для С++, расширяющей протокол XMPP возможностью голосового общения

7 февраля 2006 – появляется возможность чата прямо в интерфейсе Gmail

31 октября 2006 – реализована возможность передачи сообщений в оффлайн

26 ноября 2007 – теперь есть групповые конференции

25 февраля 2008 – реализована функция так называемого chatback'а, с помощью которого посетители могут общаться с владельцем ресурса при помощи специального виджета на сайте

WARNING

Я не параноик, но за мной кто-то следит! В последнее время мы доверяем Google'у массу личной и, в том числе, конфиденциальной информации.

INFO

Многие тонкие настройки для клиента Psi хранятся в специальном XML-конфиге, который можно найти в папке %User Dir%PsiDataprofilesdefault.

Содержание
ttfb: 4.9779415130615 ms