Zhabogram — en transport (bro, sluser) fra Jabber-netværket (XMPP) til Telegram-netværket, skrevet i Ruby. Efterfølger til tg4xmpp.
Afhængigheder
- Ruby >= 1.9
- xmpp4r == 0.5.6
- tdlib-ruby == 2.0 med kompilering af tdlib == 1.3
Muligheder
- Log ind på en eksisterende Telegram-konto
- Synkronisering af chatliste med roster
- Synkronisering af kontaktstatusser med roster
- Tilføjelse og fjernelse af Telegram-kontakter
- Understøttelse af VCard med avatarer
- Afsendelse, modtagelse, redigering og sletning af beskeder
- Håndtering af citater og videresendte beskeder
- Send og modtag filer og specielle meddelelser (understøttelse af fotos, videoer, lyd, dokumenter, stemmebeskeder, klistermærker, animationer, geolokationer, systembeskeder)
- Understøttelse af hemmelige chats
- Oprettelse, styring og moderering af chats/supergrupper/kanaler
- Gemmesessioner og automatisk tilslutning ved tilslutning til XMPP-netværket
- Hentning af historik og søgning i beskeder
- Håndtering af Telegram-konto
Væsentlige ændringer frem til version 1.0, nyheder om hvilke der ikke var på LOR:
- Tilføjet håndtering af SIGINT med korrekt lukning af alle sessioner
- Tilføjet (og senere fjernet) understøttelse af iq:jabber:register (brugerregistrering), iq:jabber:gateway (kontakt-søgning)
- Lange kampe med profileringsværktøjet i Ruby, indtil vi fandt ud af, at tdlib lækkede (udviklerne lukkede fejlen med WONTFIX — det er en funktion)
Ændringer frem til version 2.0:
- Tilføjet support for OTR (hvis Zhabogram bruges fra begge sider — spørg ikke.)
- Brug af YAML serialisering i stedet for sqlite3 til gemning af sessioner.
- Fjernet automatisk tidszone bestemme, da nogle klienter ikke følger protokollen og sender rod
- Korrigeret anmodninger til autorisation (abonnements) fra offentlige kanaler, hvorfra en besked blev videresendt (forwarded), men som du ikke er abonnent på
Ændringer i version 2.0
- NB! Bagudkompatibiliteten med konfigurationsfilen og sessionfilen er brudt (for at støtte individuelle indstillinger i fremtiden).
- Koden er omskrevet med 80% — nu er den meget mere læsbar. Den interne logik er blevet forbedret.
- Antallet af anmodninger til Telegram er reduceret med tre gange
- Fjernet jabber:iq:register, jabber:iq:gateway
- Omskrevet /kommandoer — nu er de forskellige for chats og for selve transporten (systemfunktioner). Send kommandoen /help for at få listen over kommandoer.
For at installere kræves en egen Jabber-server. Det anbefales at få API ID og API HASH i Telegram for mere stabil drift. En detaljeret vejledning kan findes i filen README.md.
Kilde: linux.org.ru
