Zhabogram ist ein Transport (BrĂŒcke, Gateway) vom Jabber-Netzwerk (XMPP) zum Telegram-Netzwerk, programmiert in Ruby. Der 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
- Synchronisierung der Chatliste mit dem Rooster
- Synchronisierung der Kontaktstatus mit dem Roster
- HinzufĂŒgen und Entfernen von Telegram-Kontakten
- UnterstĂŒtzung von VCard mit Avataren
- Versenden, Empfangen, Bearbeiten und Löschen von Nachrichten
- Verarbeitung von Zitaten und weitergeleiteten Nachrichten
- Versenden und Empfangen von Dateien und speziellen Nachrichten (UnterstĂŒtzung fĂŒr Fotos, Videos, Audio, Dokumente, Sprachnachrichten, Sticker, Animationen, Geolokationen, Systemnachrichten)
- UnterstĂŒtzung von geheimen Chats
- Erstellen, Verwalten und Moderieren von Chats/Supergruppen/KanÀlen
- Speichern von Sessions und automatisches Verbinden beim Einloggen ins XMPP-Netzwerk
- Abrufen von Nachrichtenhistorien und Durchsuchen von Nachrichten
- Verwalten des Telegram-Kontos
Bedeutende Ănderungen bis Version 1.0, ĂŒber die es keine Informationen auf LOR gab:
- Verarbeitung von SIGINT mit korrektem SchlieĂen aller Sessions hinzugefĂŒgt
- UnterstĂŒtzung von iq:jabber:register (Benutzerregistrierung) hinzugefĂŒgt (und spĂ€ter entfernt), iq:jabber:gateway (Kontaktsuche)
- Lange KĂ€mpfe mit dem Profiler in Ruby, bis wir herausfanden, dass tdlib undicht ist (die Entwickler haben den Bug als WONTFIX geschlossen â das ist ein Feature.)
Ănderungen bis Version 2.0:
- UnterstĂŒtzung fĂŒr OTR hinzugefĂŒgt (wenn Zhabogram auf beiden Seiten verwendet wird â fragen Sie nicht).
- Verwendung von YAML zur Serialisierung anstelle von sqlite3 zum Speichern von Sitzungen.
- Automatische Zeitzonenerkennung entfernt, da einige Clients das Protokoll nicht einhalten und Durcheinander senden.
- Anfragen zur Autorisierung (Abonnements) von öffentlichen KanÀlen, aus denen Nachrichten weitergeleitet wurden, aber von denen Sie nicht abonniert sind, wurden korrigiert.
Ănderungen in Version 2.0
- NB! Die RĂŒckwĂ€rtskompatibilitĂ€t der Konfigurationsdatei und der Sitzungsdatei ist gebrochen (zur UnterstĂŒtzung individueller Einstellungen in der Zukunft).
- Der Code wurde zu 80 % neu geschrieben â jetzt ist er viel leserlicher. 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.
- Befehle neu geschrieben â jetzt sind sie unterschiedlich fĂŒr Chats und den Transport selbst (Systemfunktionen). Um eine Liste der Befehle zu erhalten, senden Sie den Befehl /help.
FĂŒr die Installation ist ein eigener Jabber-Server erforderlich. Es wird empfohlen, eine API-ID und einen API-Hash bei Telegram zu erhalten, um eine stabilere Funktion zu gewĂ€hrleisten. Eine detaillierte Anleitung finden Sie in der Datei README.md.
Quelle: linux.org.ru
