Comunitatea de entuziasti dezvoltă Opengram — o implementare deschisă a serverului pentru aplicația de mesagerie Telegram. Proiectul este un server de sine stătător, implementând protocolul MTProto (cu suport pentru layer până la 216), care poate fi utilizat pentru a înlocui infrastructura oficială a serverului Telegram atunci când este implementat pe propriul echipament. Sunt susținute clienții oficiali Telegram (Telegram Desktop, aplicațiile mobile) după modificarea adresei centrului de date și a cheii RSA publice a serverului.
Opengram este un fork al proiectului mytelegram. Codul Opengram este scris în limbajul C# (.NET 9) și
se distribuie în binarele sursă fără a specifica o licență. Proiectul inițial mytelegram este furnizat sub licența Apache 2.0, care conform punctului 4a, necesită includerea unei copii a textului licenței la distribuirea lucrărilor derivate.
Serverul este construit pe un set de microservicii, care sunt rulate prin Docker Compose: gateway de conexiuni MTProto, server de autorizare și schimb de chei, server de sesiuni, servere comenzi și cereri (arhitectura CQRS), HTTP Bot API, API de administrare, servere de stocare și distribuire a fișierelor, TURN/STUN pentru apeluri și serviciul de trimitere a codurilor de confirmare. Ca infrastructură sunt utilizate MongoDB, Redis, RabbitMQ și MinIO.
Din funcționalitățile susținute: chat-uri personale, grupuri, supergrupuri și canale, chat-uri secrete (end-to-end), apeluri vocale și video (prin TURN/STUN și SFU mediasoup), boți și Bot API, setări de confidențialitate și autentificare cu doi factori, stickere, reacții și emoji personalizate; stele (Stars) și cadouri (Star Gifts), inclusiv revânzare și upgrade; istorii (Stories), teme de personalizare și fundaluri; mesaje programate și care se autodistrug.
Sursa: opennet.ro
