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