Zhabogram 2.0 — транспорт из Jabber в Telegram

good-penguin.png

Zhabogram — транспорт (мост, шлюз) из сети Jabber (XMPP) в сеть Telegram, написанный на Ruby. Преемник tg4xmpp.

  • Зависимости

    • Ruby >= 1.9
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 с скомпилированным tdlib == 1.3
  • Возможности

    • Авторизация в существующем аккаунте Telegram
    • Синхронизация списка чатов с ростером
    • Синхронизация статусов контактов с ростером
    • Добавление и удаление Telegram-контактов
    • Поддержка VCard с аватарками
    • Отправка, приём, редактирование и удаление сообщений
    • Обработка цитат и пересланных сообщений
    • Отправка и приём файлов и специальных сообщений (поддержка фото, видео, аудио, документов, голосовых сообщений, стикеров, анимаций, геолокаций, системных сообщений)
    • Поддержка секретных чатов
    • Создание, управление и модерирование чатов/супергрупп/каналов
    • Сохранение сессий и автоматическое подключение при входе в сеть XMPP
    • Получение истории и поиск по сообщениям
    • Управление аккаунтом Telegram
  • Значимые изменения до версии 1.0, новости о которой не было на LOR:

    • Добавлена обработка SIGINT с корректным закрытием всех сессий
    • Добавлены (и позднее удалены) поддержка iq: jabber: register (регистрация пользователей), iq: jabber: gateway (поиск контактов)
    • Долгие бодания с профайлером в Ruby, пока не поняли, что течёт tdlib (разработчики закрыли баг с WONTFIX — это фича)
  • Изменения до версии 2.0:

    • Добавлена поддержка OTR (если Zhabogram используется с обеих сторон — не спрашивайте.)
    • Использование сериализации YAML вместо sqlite3 для сохранения сессий.
    • Убрано автоматическое определение часового пояса в связи с тем, что некоторые клиенты не следуют протоколу и отправляют кашу
    • Исправлены запросы на авторизацию (подписку) от публичных каналов, из которых было перенаправлено (forwarded) сообщение, но подписчиком которого вы не являетесь
  • Изменения в версии 2.0

    • NB! Сломана обратная совместимость конфиг-файла и файла сессий (для поддержки индивидуальных настроек в будущем).
    • Код переписан на 80% — теперь он в разы читаемее. Внутренняя логика приведена в порядок.
    • Количество запросов к Telegram уменьшено в три раза
    • Убраны jabber: iq: register, jabber: iq: gateway
    • Переписаны /команды — теперь они разные для чатов и для самого транспорта (системные функции). Для получения списка команд пришлите команду /help.

Для установки потребуется собственный Jabber-сервер. Рекомендуется получить API ID и API HASH в Telegram для более стабильной работы. Подробную инструкцию можно найти в файле README.md.

>>> Подробности

©  Linux.org.ru