Zhabogram 2.0 — Transport von Jabber nach Telegram

Zhabogram — Transport (Brücke, Gateway) von Jabber (XMPP) zu Telegram, geschrieben in Ruby. Nachfolger von tg4xmpp.

  • Abhängigkeiten

    • Ruby >= 1.9
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 mit kompilierter tdlib == 1.3
  • Funktionen

    • Anmeldung bei einem bestehenden Telegram-Konto
    • Synchronisation der Chatliste mit dem Roster
    • Synchronisation der Kontostatus mit dem Roster
    • Hinzufügen und Entfernen von Telegram-Kontakten
    • Unterstützung für VCard mit Avataren
    • Versenden, Empfangen, Bearbeiten und Löschen von Nachrichten
    • Verarbeitung von Zitaten und weitergeleiteten Nachrichten
    • Übertragung und Empfang von Dateien und speziellen Nachrichten (Unterstützung für Fotos, Videos, Audios, Dokumente, Sprachnachrichten, Sticker, Animationen, Geolokalisierungen, Systemnachrichten)
    • Unterstützung für geheime Chats
    • Erstellen, Verwalten und Moderieren von Chats/Supergruppen/Kanälen
    • Speichern von Sitzungen und automatisches Verbinden beim Einstieg ins XMPP-Netz
    • Abrufen von Nachrichtenverlauf und Suchen in Nachrichten
    • Verwalten des Telegram-Kontos
  • Wesentliche Änderungen vor Version 1.0, deren Neuigkeiten auf LOR nicht veröffentlicht wurden:

    • Verarbeitung von SIGINT mit korrekt geschlossenen Sitzungen hinzugefügt
    • Unterstützung für iq:jabber:register (Benutzerregistrierung), iq:jabber:gateway (Kontaktsuche) hinzugefügt (und später entfernt)
    • Lange Kämpfe mit dem Profiler in Ruby, bis klar wurde, dass tdlib ein Leck hat (Entwickler haben den Bug mit WONTFIX geschlossen — das ist ein Feature)
  • Änderungen vor Version 2.0:

    • Unterstützung für OTR hinzugefügt (wenn Zhabogram auf beiden Seiten verwendet wird — frag nicht.)
    • Verwendung von YAML-Serialisierung anstelle von sqlite3 zur Speicherung von Sitzungen.
    • Automatische Zeitzonenerkennung entfernt, da einige Clients dem Protokoll nicht folgen und durcheinander senden
    • Autorisierungsanfragen (Abonnements) von öffentlichen Kanälen korrigiert, aus denen eine weitergeleitete Nachricht stammte, bei der Sie jedoch kein Abonnent sind
  • Änderungen in Version 2.0

    • NB! Die Rückwärtskompatibilität der Konfigurationsdatei und der Sitzungsdatei ist gebrochen (zur Unterstützung individueller Einstellungen in Zukunft).
    • Der Code wurde zu 80% neu geschrieben — jetzt ist er deutlich lesbarer. Die interne Logik wurde in Ordnung gebracht.
    • Die Anzahl der Anfragen an Telegram wurde um das Dreifache reduziert
    • jabber:iq:register, jabber:iq:gateway entfernt
    • Die /Befehle wurden neu geschrieben — jetzt sind sie unterschiedlich für Chats und für den Transport selbst (Systemfunktionen). Um eine Liste der Befehle zu erhalten, senden Sie den Befehl /help.

Für die Installation wird ein eigener Jabber-Server benötigt. Es wird empfohlen, eine API-ID und API-Hash in Telegram zu erhalten, um stabiler zu arbeiten. Eine detaillierte Anleitung finden Sie in der Datei README.md.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4