Tkabber Wiki

Tkabber
Login

Tkabber

Материал из Tkabber Wiki.

Содержание

Может

Соединение с сервером и логин

Типы соединений с сервером

Поддерживаются следующие типы соединений:

Возможны два вида аутентификации пользователя:

Поддерживается сжатие потока (stream compression) только для plaintext соединений через пакет ztcl. Сжатие потока на SSL-соединениях не поддерживается (см. секцию "Не может").

Прокси

Любое соединение может "ходить" через HTTP-прокси; любые соединения, кроме HTTP poll, требуют от прокси поддержки метода CONNECT на соответствующий порт. HTTP poll использует HTTP, то есть от прокси требуется только разрешение HTTP-запросов на соответствующий порт.

На прокси поддерживаются типы авторизации basic и NTLM.

Имеется возможность поддерживать соединение через прокси путём периодической посылки в выходной поток байта 0x20.

HTTPS и SOCKSx прокси в настоящее время не поддерживаются.

(Авто)определение параметров соединения

Возможно ручное указание хоста и порта для соединения. Также Ткаббер умеет запрашивать необходимые SRV или TXT записи в DNS для выяснения точных параметров подключения по доменной части JID'а пользователя.

Корректная работа с DNS требует достаточно свежей tcllib, а также — в большинстве случаев — пакета tcludp для возможности выполнения DNS-запросов по протоколу UDP.

Логин/автологин

Имеется удобная форма для изменения параметров логина. Все настройки логина можно изменить через механизм Customize.

Поддерживаются три варианта логина:

Имеется поддержка "профилей" (или "профайлов", если угодно) логинов: в конфиге Ткаббера можно ввести произвольное количество независимых групп настроек логина и затем выбирать их в форме логина хоткеями Control+1 (первый профиль) и т.д.

Мультилогин

"Мультилогин" (одновременная регистрация и работа с несколькими аккаунтами) официально считается нереализованным.

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

(Так же по этой теме см. ниже.)

Browse/Discovery

Обмен сообщениями (messaging)

Поддерживается:

Для окон чата и групчата поддерживается:

Недоработки/баги:

(Работы по улучшению положения в этой области ведутся).

Чат

Поддерживаются уведомления о состоянии хода беседы (chat state notifications).

Групповой чат и MUC

Поддерживается:

Присутствие (presence)

Info/Query (IQ)

Privacy

Передача файлов

Publish/Subscribe (pubsub)

Интерфейс

Список контактов (ростер)

В ростер могут быть помещены:

Поддерживается:

Смайлики AKA emoticons

История

Поддерживается:

Не поддерживается/баги:

Стандартные плагины

Расширяемость

Управляемость

Не может

SO_KEEPALIVE на сокете

"Низкоуровневое" API сокетов в настоящий момент не "экспортировано" на уровень скриптов в тикле; также не известно ни одного расширения тикля, позволяющего это делать. Поэтому поддержка "настоящего keep alive" (каковое реализовано в программах, написанных на C/C++, вроде Psi или Gaim), в настоящий момент невозможно.

Разработчики Ткаббера наметили два пути решения этой проблемы:

Сжатие потока при использовании SSL

Stream Compression в XMPP не может работать внутри SSL-соединения физически. Однако, SSL позволяет использовать собственные механизмы сжатия данных в потоке.

Использованию их в Ткаббере мешает два фактора:

"Лёгкий в использовании" мультилогин

Основная причина того, что эта фича не принимает статус официально поддерживаемой, состоит в том, что в настоящий момент в Ткаббере нет способов логичной/удачной/удобной поддержки этой концепции в интерфейсе пользователя. Особенно это касается механизма Customize.

Если у вас есть продуманный вариант решения этой проблемы, не потребующий переписывать тонны кода, обратитесь к разработчикам.

Одновременно хотелось бы заметить, что поддержка мультилогина, в сущности, противоестественна, поскольку "невозможность" ("неудобство" и т.д.) одновременной работы с несколькими копиями Ткаббера — достаточно надуманная проблема.

Voice IP

Таковая поддержка требует очень трудоёмкого прикручивания как минимум библиотеки libmediastream (которую использует gtalk'овская libjingle). В настоящий момент эта фича никому не нужна настолько, чтобы заняться её реализацией.

Если вы не можете без неё жить, посмотрите на Coccinella или Linphone.

Хистори на сервере / сжатие логов

В настоящее время Ткаббер умеет только архивировать (в настоящем значении этого слова) логи с историей чатов и групчатов/MUC. Однако, т.к. были запросы отправлять логи "на мыло" или сжимать их, не исключено, что будут приделаны специальные хуки, из которых пытливые умы смогут запускать произвольные обработчики этих логов.

Поддержка PGP под Windows

По всей видимости, это нереально. Неутешительные подробности читать тут.

"Слабые места"

Ресурсоёмкость и скорость работы

Поддержка PGP

Доступность требуемых модулей Tcl/Tk

ОС-зависимые баги

Поддержка ОС-зависимых особенностей