Komunita nadšenců vyvíjí Opengram — otevřenou implementaci serverové části messengeru Telegram. Projekt představuje samostatný server, který implementuje protokol MTProto (podporována vrstva až do 216), a který může být použit jako náhrada oficiální serverové infrastruktury Telegram při nasazení na vlastním vybavení. Podporovány jsou oficiální klienti Telegramu (Telegram Desktop, mobilní aplikace) po změně adresy datového centra a veřejného RSA klíče serveru.
Opengram je fork projektu mytelegram. Kód Opengram je napsán v jazyce C# (.NET 9) a
je distribuován v zdrojových textech bez uvedení licence. Původní projekt mytelegram je dodáván pod licencí Apache 2.0, která podle bodu 4a vyžaduje zahrnutí kopie textu licence při distribuci odvozených prací.
Server je postaven na sadě mikroslužeb spuštěných přes Docker Compose: brána MTProto připojení, server autorizace a výměny klíčů, server sezení, servery příkazů a dotazů (architektura CQRS), HTTP Bot API, administrativní služební API, servery pro ukládání a distribuci souborů, TURN/STUN pro hovory a službu zasílání ověřovacích kódů. Jako infrastruktura se používají MongoDB, Redis, RabbitMQ a MinIO.
Mezi podporované funkce patří: soukromé chaty, skupiny, super skupiny a kanály, tajné (end-to-end) chaty, hlasové a video hovory (přes TURN/STUN a SFU mediasoup), boti a Bot API, nastavení soukromí a dvoufaktorová autentizace, samolepky, reakce a vlastní emodži; hvězdy (Stars) a dary (Star Gifts), včetně překupnictví a upgradu; příběhy (Stories), motivy a pozadí; naplánované a samovypínající zprávy.
Zdroj: opennet.ru
