LINUX.ORG.RU

tackygram - XMPP-транспорт в Telegram

 , ,


2

2

Покажу вам настоящую магию.
Не рекомендую повторять вне Хогвартса.

На скриншоте 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.

Чего нету и не будет:

  • анимированных стикеров какашки которые жрут батарейку и не несут полезной смысловой нагрузки;
  • анимированных эмодзи и Б-г весть чего ещё;
  • премиумов и звёзд.


Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 10)
Ответ на: комментарий от mister_me

(Павел Р.)

у вас неактуальные данные, имя и фамилия (и гражданство, таки да) изменились с моего последнего посещения ЛОР.

Сорри за тупняк (мб где-то есть ответ, но я не нашёл), а как эта штука выглядит со стороны собеседника из тг?

неотличимо от обычного собеседника в ТГ, за исключением стикеров, которые нельзя добавить из ТГ (в обратную сторону можно)

ZakritiyNarcist
() автор топика
Ответ на: комментарий от ZakritiyNarcist

(и гражданство, таки да)

Я, кстати, заметил, хотел отредактировать сообщение, чтобы добавить этот факт, но не успел.

mister_me ★★
()
Ответ на: комментарий от mister_me

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

ZakritiyNarcist
() автор топика
Ответ на: комментарий от ZakritiyNarcist

32-битным процессором/ОС с 256 Мб системной памяти?

Потому что это SoC где-то на кабеле висит и транслирует telegram в XMPP

Shadow ★★★★★
()
Ответ на: комментарий от mumpster

там всего 1 немного дешевле 20 и то с такими нищебродскими условиями, что даже апача с 1 страничкой+почта могут туда не влезть )))))

причем тут apache, если в теме обсуждается шлюз tg<->xmpp?

ещё надо за домен заплатить

зачем домен для шлюза??

остальные все - дороже 20 в год

я за VPS в РФ плачу около 100 р./месяц. Правда они на этих условиях уже не подключают. Но зато landvps всё ещё подключает за меньше 100 р/месяц

MirandaUser2 ★★
()
Ответ на: комментарий от MirandaUser2

зачем домен для шлюза??

для шлюза ни за чем, а вот для XMPP-сервера пригодится.
не, можно и по IP-адресу подключаться, базару ноль.

ZakritiyNarcist
() автор топика
Ответ на: комментарий от Shadow

Https достаточно, а так как это настройки точек доступа ОпСоСа, то приложение не может его игнорировать

В Android это advisory настройка. Неявно применятся только при работе через некоторые API.

Практический эксперимент: прописываю в настройках APN несуществующий прокси
1) Mozilla Firefox его игнорирует, пока в настройках аддона ZeroOmega не поменяю Direct на System Proxy.
2) wget под термуксом его тоже игнорирует.

MirandaUser2 ★★
()
Ответ на: комментарий от Shadow

перепроверил - FF на самом деле на direct, тоже использует system проксю. Но если в настройках аддона выбран другой прокси, то использует его.

В этом смысле всё так же, как на ПК c переменной окружения HTTP_PROXY. Использование на усмотрение приложения.

MirandaUser2 ★★
()
Ответ на: комментарий от ZakritiyNarcist

Да, я тоже это почувствовал, есть недостатки (в понимании производительности и неучтенных преобразованиях данных, была строка с пробелами, стал список) из-за того, что все в нем строка, но внутри может еще быть списком, хэшмапом или целым, но в целом очень мощный язык, и API для расширений на C годится к применению после прочтения нескольких ман-страниц.

А недостаточная серьезность в век компиляции C в джаваскрипт кажется уже не недостаточной.

На самом деле кажется, что он по нише похож на Питон, но лучше и проще (снова - кроме типизации, но когда она мешает, можно сделать расширение для иначе типизированного DSL ; я с этим тут немного далековато провалился в кривой Форт, написанный на Си, применяемый из тикля ; отладить все то же на тикле было бы быстреее и лучше, но на этой стадии сдаваться нельзя, только желательно дождаться, пока нос высохнет и температура будет не как видно по этому комментарию).

Снова про API расширений, он просто шикарный. Вообще, скажем, для программы на Питоне написать свое расширение для чего-то неудобного - не самая первая мысль, но с TCL это очень просто. Как будто вообще не нужно выбирать между удобством и мощностью.

lealxe ★
()
Последнее исправление: lealxe (всего исправлений: 1)
Ответ на: комментарий от ZakritiyNarcist

64-битные идентификаторы сообщений

Это которые (u)int_64t ака (unsigned) long long int? В плюсах поддерживается из коробки.

zanac1 ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.