Zhabogram 2.0 — most z Jabbera do Telegramu

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

  • Zależności

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

    • Autoryzacja na istniejącym koncie Telegram
    • Synchronizacja listy czatów z rosterem
    • Synchronizacja statusów kontaktów z rosterem
    • Dodawanie i usuwanie kontaktów Telegram
    • Wsparcie dla VCard z awatarami
    • Wysyłanie, odbieranie, edytowanie i usuwanie wiadomości
    • Przetwarzanie cytatów i przekazanych wiadomości
    • Wysyłanie i odbieranie plików oraz specjalnych wiadomości (wsparcie dla zdjęć, wideo, audio, dokumentów, wiadomości głosowych, naklejek, animacji, geolokalizacji, wiadomości systemowych)
    • Wsparcie dla tajnych czatów
    • Tworzenie, zarządzanie i moderowanie czatów/supergrup/kanalów
    • Zachowywanie sesji i automatyczne łączenie przy wchodzeniu do sieci XMPP
    • Odbieranie historii i wyszukiwanie w wiadomościach
    • Zarządzanie kontem Telegram
  • Istotne zmiany przed wersją 1.0, której wiadomości na LOR nie było:

    • Dodano obsługę SIGINT z poprawnym zamykaniem wszystkich sesji
    • Dodano (a potem usunięto) wsparcie iq:jabber:register (rejestracja użytkowników), iq:jabber:gateway (wyszukiwanie kontaktów)
    • Długie zmagania z profilerem w Ruby, aż zrozumieliśmy, że cieknie tdlib (programiści zamknęli błąd z WONTFIX — to funkcja)
  • Zmiany przed wersją 2.0:

    • Dodano wsparcie dla OTR (jeśli Zhabogram jest używany z obu stron — nie pytajcie.)
    • Zastosowanie serializacji YAML zamiast sqlite3 do przechowywania sesji.
    • Usunięto automatyczne określanie strefy czasowej w związku z tym, że niektórzy klienci nie przestrzegają protokołu i wysyłają bałagan
    • Naprawiono żądania autoryzacji (subskrypcji) od publicznych kanałów, z których została przekierowana (forwarded) wiadomość, ale nie jesteś jej subskrybentem
  • Zmiany w wersji 2.0

    • NB! Złamana wsteczna kompatybilność pliku konfiguracyjnego i pliku sesji (w celu wsparcia indywidualnych ustawień w przyszłości).
    • Kod przepisano w 80% — teraz jest znacznie bardziej czytelny. Wewnętrzna logika została uporządkowana.
    • Liczba żądań do Telegramu została zmniejszona trzykrotnie
    • Usunięto jabber:iq:register, jabber:iq:gateway
    • Przepisano /komendy — teraz są różne dla czatów i dla samego transportu (funkcje systemowe). Aby otrzymać listę komend, wyślij komendę /help.

Aby zainstalować, potrzebny będzie własny serwer Jabber. Zaleca się uzyskanie API ID i API HASH w Telegramie dla bardziej stabilnej pracy. Szczegółową instrukcję można znaleźć w pliku README.md.

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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster