Zhabogram 2.0 - การขนส่งจาก Jabber ไปยัง Telegram

Zhabogram เป็นการขนส่ง (บริดจ์, เกตเวย์) จากเครือข่าย Jabber (XMPP) ไปยังเครือข่าย Telegram ซึ่งเขียนด้วยภาษา Ruby ผู้สืบทอดต่อ tg4xmpp.

  • การพึ่งพา

    • รูบี้ >= 1.9
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 พร้อม tdlib == 1.3 คอมไพล์แล้ว
  • ความสามารถในการ

    • การอนุญาตในบัญชี Telegram ที่มีอยู่
    • กำลังซิงโครไนซ์รายการแชทกับบัญชีรายชื่อ
    • การซิงโครไนซ์สถานะการติดต่อกับบัญชีรายชื่อ
    • การเพิ่มและลบผู้ติดต่อ Telegram
    • รองรับ VCard พร้อมอวตาร
    • การส่ง รับ แก้ไข และลบข้อความ
    • กำลังประมวลผลคำพูดและข้อความที่ส่งต่อ
    • การส่งและรับไฟล์และข้อความพิเศษ (รองรับรูปภาพ วิดีโอ เสียง เอกสาร ข้อความเสียง สติ๊กเกอร์ ภาพเคลื่อนไหว ตำแหน่งทางภูมิศาสตร์ ข้อความระบบ)
    • สนับสนุนการแชทลับ
    • การสร้าง การจัดการ และการกลั่นกรองแชท/กลุ่มซุปเปอร์/ช่อง
    • บันทึกเซสชันและเชื่อมต่อโดยอัตโนมัติเมื่อเข้าสู่เครือข่าย XMPP
    • การดึงประวัติและการค้นหาข้อความ
    • การจัดการบัญชีโทรเลข
  • การเปลี่ยนแปลงที่สำคัญก่อนเวอร์ชัน 1.0 ซึ่งเป็นข่าวที่ไม่มีใน LOR:

    • เพิ่มการประมวลผล SIGINT พร้อมการปิดเซสชันทั้งหมดที่ถูกต้อง
    • เพิ่มการรองรับ (และลบออกในภายหลัง) สำหรับ iq:jabber:register (การลงทะเบียนผู้ใช้), iq:jabber:gateway (การค้นหาผู้ติดต่อ)
    • ต้องดิ้นรนเป็นเวลานานกับผู้สร้างโปรไฟล์ใน Ruby จนกระทั่งเราตระหนักว่า tdlib กำลังรั่วไหล (นักพัฒนาได้ปิดจุดบกพร่องด้วย WONTFIX - นี่คือคุณลักษณะ)
  • การเปลี่ยนแปลงเป็นเวอร์ชัน 2.0:

    • เพิ่มการรองรับ OTR (หากใช้ Zhabogram ทั้งสองด้าน ไม่ต้องถาม)
    • ใช้การทำให้เป็นอนุกรม YAML แทน sqlite3 เพื่อบันทึกเซสชัน
    • ลบการตรวจจับโซนเวลาอัตโนมัติเนื่องจากไคลเอนต์บางรายไม่ปฏิบัติตามโปรโตคอลและส่งความยุ่งเหยิง
    • แก้ไขคำขออนุญาต (สมัครสมาชิก) จากช่องทางสาธารณะที่มีการส่งต่อข้อความ แต่คุณไม่ได้เป็นสมาชิก
  • การเปลี่ยนแปลงในเวอร์ชัน 2.0

    • หมายเหตุ! ความเข้ากันได้แบบย้อนหลังของไฟล์กำหนดค่าและไฟล์เซสชันใช้งานไม่ได้ (เพื่อรองรับการตั้งค่าแต่ละรายการในอนาคต)
    • รหัสถูกเขียนใหม่ 80% - ตอนนี้สามารถอ่านได้ง่ายขึ้นมาก ตรรกะภายในได้รับการจัดระเบียบแล้ว
    • จำนวนคำขอไปยัง Telegram ลดลงสามครั้ง
    • ลบ jabber:iq:register, jabber:iq:gateway แล้ว
    • เขียนใหม่ /commands - ตอนนี้มีความแตกต่างกันสำหรับการแชทและการขนส่ง (ฟังก์ชั่นของระบบ) หากต้องการรับรายการคำสั่ง ให้ส่งคำสั่ง /help

คุณจะต้องมีเซิร์ฟเวอร์ Jabber ของคุณเองสำหรับการติดตั้ง ขอแนะนำให้รับ API ID และ API HASH ใน Telegram เพื่อการทำงานที่เสถียรยิ่งขึ้น คำแนะนำโดยละเอียดสามารถพบได้ในไฟล์ README.md

ที่มา: linux.org.ru

เพิ่มความคิดเห็น