Zhabogram 2.0 - transport z Jabbera do Telegramu

Zhabogram to transport (most, brama) z sieci Jabber (XMPP) do sieci Telegram, napisany w języku Ruby. Następca tg4xmpp.

  • Zależności

    • Rubin >= 1.9
    • xmpp4r == 0.5.6
    • tdlib-Ruby == 2.0 z skompilowanym tdlib == 1.3
  • Możliwości

    • Autoryzacja na istniejącym koncie Telegram
    • Synchronizacja listy czatów z listą
    • Synchronizacja statusów kontaktów z listą
    • Dodawanie i usuwanie kontaktów Telegramu
    • Obsługa VCard z awatarami
    • Wysyłanie, odbieranie, edytowanie i usuwanie wiadomości
    • Przetwarzanie ofert i przekazywanych wiadomości
    • Wysyłanie i odbieranie plików oraz wiadomości specjalnych (obsługa zdjęć, filmów, plików audio, dokumentów, wiadomości głosowych, naklejek, animacji, geolokalizacji, komunikatów systemowych)
    • Tajne wsparcie na czacie
    • Tworzenie, zarządzanie i moderowanie czatów/supergrup/kanałów
    • Zapisywanie sesji i automatyczne łączenie przy logowaniu do sieci XMPP
    • Pobieranie historii i wyszukiwanie wiadomości
    • Zarządzanie kontem telegramowym
  • Znaczące zmiany przed wersją 1.0, o których nie było w LOR:

    • Dodano przetwarzanie SIGINT z poprawnym zamykaniem wszystkich sesji
    • Dodano (i później usunięto) obsługę iq:jabber:register (rejestracja użytkownika), iq:jabber:gateway (wyszukiwanie kontaktów)
    • Długie zmagania z profilerem w Ruby, dopóki nie zdaliśmy sobie sprawy, że tdlib przecieka (programiści zamknęli błąd za pomocą WONTFIX - to jest cecha)
  • Zmiany w wersji 2.0:

    • Dodano obsługę OTR (jeśli Zhabogram jest używany po obu stronach, nie pytaj.)
    • Używanie serializacji YAML zamiast sqlite3 do zapisywania sesji.
    • Usunięto automatyczne wykrywanie strefy czasowej ze względu na to, że niektórzy klienci nie przestrzegają protokołu i wysyłają bałagan
    • Naprawiono prośby o autoryzację (subskrypcję) z kanałów publicznych, z których wiadomość została przekazana, ale których nie jesteś subskrybentem
  • Изменения w wersji 2.0

    • Uwaga! Zgodność wsteczna pliku konfiguracyjnego i pliku sesji jest zepsuta (w celu obsługi indywidualnych ustawień w przyszłości).
    • Kod został przepisany w 80% - teraz jest znacznie czytelniejszy. Wewnętrzna logika została uporządkowana.
    • Liczba żądań do Telegramu została zmniejszona trzykrotnie
    • Usunięto jabber:iq:register, jabber:iq:gateway
    • Przepisano /polecenia - teraz są inne dla czatów i samego transportu (funkcje systemowe). Aby uzyskać listę poleceń, wyślij polecenie /help.

Do instalacji będziesz potrzebować własnego serwera Jabbera. Zaleca się uzyskanie identyfikatora API i API HASH w Telegramie w celu zapewnienia bardziej stabilnej pracy. Szczegółową instrukcję znajdziesz w pliku README.md.

Źródło: linux.org.ru

Dodaj komentarz