Zhabogram 2.0 - μεταφορά από το Jabber στο Telegram

Το Zhabogram είναι μια μεταφορά (γέφυρα, πύλη) από το δίκτυο Jabber (XMPP) στο δίκτυο Telegram, γραμμένο σε Ruby. Διάδοχος του tg4xmpp.

  • Εξαρτήσεις

    • Ruby >= 1.9
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 με tdlib == 1.3 μεταγλωττισμένο
  • Δυνατότητες

    • Εξουσιοδότηση σε υπάρχοντα λογαριασμό Telegram
    • Συγχρονισμός της λίστας των συνομιλιών με το ρόστερ
    • Συγχρονισμός καταστάσεων επαφών με το ρόστερ
    • Προσθήκη και διαγραφή επαφών Telegram
    • Υποστήριξη για VCard με avatar
    • Αποστολή, λήψη, επεξεργασία και διαγραφή μηνυμάτων
    • Επεξεργασία εισαγωγικών και προωθούμενων μηνυμάτων
    • Αποστολή και λήψη αρχείων και ειδικών μηνυμάτων (υποστήριξη για φωτογραφίες, βίντεο, ήχο, έγγραφα, φωνητικά μηνύματα, αυτοκόλλητα, κινούμενα σχέδια, γεωγραφικές τοποθεσίες, μηνύματα συστήματος)
    • Υποστήριξη μυστικής συνομιλίας
    • Δημιουργία, διαχείριση και συντονισμός συνομιλιών/υπερομάδων/καναλιών
    • Αποθήκευση συνεδριών και αυτόματη σύνδεση κατά τη σύνδεση στο δίκτυο XMPP
    • Ανάκτηση ιστορικού και αναζήτηση μηνυμάτων
    • Διαχείριση λογαριασμού Telegram
  • Σημαντικές αλλαγές πριν από την έκδοση 1.0, ειδήσεις για τις οποίες δεν υπήρχαν στο LOR:

    • Προστέθηκε η επεξεργασία SIGINT με το σωστό κλείσιμο όλων των περιόδων σύνδεσης
    • Προστέθηκε (και αργότερα αφαιρέθηκε) υποστήριξη για iq:jabber:register (εγγραφή χρήστη), iq:jabber:gateway (αναζήτηση επαφών)
    • Μακρύς αγώνας με το profiler στο Ruby μέχρι να καταλάβουμε ότι το tdlib διέρρεε (οι προγραμματιστές έκλεισαν το σφάλμα με το WONTFIX - αυτό είναι ένα χαρακτηριστικό)
  • Αλλαγές στην έκδοση 2.0:

    • Προστέθηκε υποστήριξη OTR (αν το Zhabogram χρησιμοποιείται και στις δύο πλευρές, μην ρωτήσετε.)
    • Χρήση σειριοποίησης YAML αντί για sqlite3 για αποθήκευση συνεδριών.
    • Καταργήθηκε η αυτόματη ανίχνευση ζώνης ώρας λόγω του γεγονότος ότι ορισμένοι πελάτες δεν ακολουθούν το πρωτόκολλο και στέλνουν χάος
    • Διορθώθηκαν αιτήματα για εξουσιοδότηση (συνδρομή) από δημόσια κανάλια από τα οποία προωθήθηκε το μήνυμα, αλλά στα οποία δεν είστε συνδρομητής
  • Αλλαγές στην έκδοση 2.0

    • Σημείωση! Η συμβατότητα προς τα πίσω του αρχείου διαμόρφωσης και του αρχείου περιόδων σύνδεσης είναι κατεστραμμένη (για υποστήριξη μεμονωμένων ρυθμίσεων στο μέλλον).
    • Ο κώδικας έχει ξαναγραφτεί κατά 80% - τώρα είναι πολύ πιο ευανάγνωστος. Η εσωτερική λογική έχει μπει σε τάξη.
    • Ο αριθμός των αιτημάτων στο Telegram έχει μειωθεί κατά τρεις φορές
    • Καταργήθηκε το jabber:iq:register, το jabber:iq:gateway
    • Ξαναγράφτηκαν /εντολές - τώρα είναι διαφορετικά για συνομιλίες και για την ίδια τη μεταφορά (λειτουργίες συστήματος). Για να λάβετε μια λίστα εντολών, στείλτε την εντολή /help.

Θα χρειαστείτε τον δικό σας διακομιστή Jabber για εγκατάσταση. Συνιστάται να αποκτήσετε το αναγνωριστικό API και το API HASH στο Telegram για πιο σταθερή λειτουργία. Αναλυτικές οδηγίες μπορείτε να βρείτε στο αρχείο README.md.

Πηγή: linux.org.ru

Προσθέστε ένα σχόλιο