tackygram - XMPP-транспорт в Telegram
Покажу вам настоящую магию.
Не рекомендую повторять вне Хогвартса.
На скриншоте Jabber-клиент anotherim-js и чат с контактом из Telegram.
В отличие от предыдущих поколений мостов (Zhabogram/telegabber и др.) упор сделан на максимально «нативный» для XMPP опыт — то есть, используем все XEP, до которых дотянемся (и которые поддерживает библиотека, а библиотека поддерживает их много).
tackygram написан на Go и Tcl и использует библиотеку gotd для Telegram-части, совершенно игнорируя существование tdlib, будто этого куска кала и не существует в природе; для XMPP же используется libtacky
Автор очень пытался максимально усложнить жизнь любопытным системным администраторам, чьи шаловливые ручки тянутся угнать чью-нибудь Telegram-сессию, но пришёл к выводу, что это бесполезно, поэтому безопасность скорее в сторону «защиты от маски-шоу в датацентре» (шифрование базы данных ключом, который можно положить в TPM), а не в сторону защиты от любопытных очумелых ручек с root-доступом к XMPP-серверу.
Что мы имеем на данный момент:
- Чаты 1 на 1 и групповые (как MUC)
- Отправка и приём файлов
- Звонки и видеозвонки (с end-to-end шифрованием)
- Голосовые и видеосообщения («кружки»)
- Стикеры
- Аватарки и vCard v4
- Поиск по @логину
- Секретные чаты (с настоящим E2EE, без MITM на стороне сервера)
Секретные чаты поддерживаются только в another.im, однако спеки открыты и любой желающий может запилить поддержку неймспейса urn:tacky:mtproto-e2e:0 в свой любимый клиент.
Чего нету (а если точнее – что пока что не тестировалось должным образом):
- файлы в секретных чатах;
- супергруппы (большие чаты) и каналы;
- групповые видеозвонки;
- смешанные конференции из пользователей Telegram и XMPP.
Чего нету и не будет:
- анимированных стикеров какашки которые жрут батарейку и не несут полезной смысловой нагрузки;
- анимированных эмодзи и Б-г весть чего ещё;
- премиумов и звёзд.




