La communautĂ© des passionnĂ©s dĂ©veloppe Opengram â une implĂ©mentation ouverte de la partie serveur du messager Telegram. Le projet constitue un serveur autonome, implĂ©mentant le protocole MTProto (prend en charge la couche jusqu'Ă 216), qui peut ĂȘtre utilisĂ© pour remplacer l'infrastructure serveur officielle de Telegram lors du dĂ©ploiement sur son propre matĂ©riel. Les clients officiels de Telegram (Telegram Desktop, applications mobiles) sont pris en charge aprĂšs modification de l'adresse du data center et de la clĂ© RSA publique du serveur.
Opengram est un fork du projet mytelegram. Le code d'Opengram est écrit en C# (.NET 9) et
est distribuĂ© en code source sans mention de licence. Le projet original mytelegram est distribuĂ© sous la licence Apache 2.0, qui conformĂ©ment au point 4a exige l'inclusion d'une copie du texte de la licence lors de la distribution d'Ćuvres dĂ©rivĂ©es.
Le serveur est construit sur un ensemble de microservices exĂ©cutĂ©s via Docker Compose : passerelle de connexions MTProto, serveur d'authentification et d'Ă©change de clĂ©s, serveur de sessions, serveurs commandes et requĂȘtes (architecture CQRS), API Bot HTTP, API d'administration, serveurs de stockage et de distribution de fichiers, TURN/STUN pour les appels et service d'envoi de codes de confirmation. MongoDB, Redis, RabbitMQ et MinIO sont utilisĂ©s comme infrastructure.
Les fonctionnalités prises en charge comprennent : chats privés, groupes, supergroupes et canaux, chats secrets (de bout en bout), appels audio et vidéo (via TURN/STUN et SFU mediasoup), bots et API Bot, paramÚtres de confidentialité et authentification à deux facteurs, stickers, réactions et émoticÎnes personnalisées ; étoiles (Stars) et cadeaux (Star Gifts), y compris revente et mise à niveau ; histoires (Stories), thÚmes et fonds d'écran ; messages programmés et auto-délétables.
Source : opennet.ru
