[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83928":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":8,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},83928,"opengram","opengram-server\u002Fopengram","opengram-server",null,"C#",181,20,5,3,0,10,38,58,80.77,false,"main",true,[],"2026-06-12 04:01:42","# Opengram\n\n*Читать на других языках: [English](README.en.md)*\n\nOpengram — это самостоятельный сервер Telegram, написанный на C# (.NET 9). Проект является форком [mytelegram](https:\u002F\u002Fgithub.com\u002Floyldg\u002Fmytelegram) и реализует серверную часть API Telegram (MTProto), которую можно развернуть на собственной инфраструктуре.\nНаш телеграм канал: https:\u002F\u002Ft.me\u002Fopengrame\n\n## Возможности\n\n- MTProto-транспорты (Abridged, Intermediate), layer 216;\n- личные чаты, группы, супергруппы и каналы;\n- секретные (end-to-end) чаты;\n- голосовые и видеозвонки (через TURN\u002FSTUN и SFU mediasoup);\n- боты и Bot API;\n- настройки приватности и двухфакторная аутентификация;\n- стикеры, реакции, кастомные эмодзи;\n- звёзды (Stars) и подарки (Star Gifts), включая перепродажу и апгрейд;\n- истории (Stories), темы оформления и обои;\n- запланированные и самоудаляющиеся сообщения.\n\n## Архитектура\n\nСервер состоит из набора микросервисов, которые запускаются через Docker Compose:\n\n| Сервис | Назначение |\n| --- | --- |\n| `gateway-server` | Точка входа для MTProto-подключений клиентов |\n| `auth-server` | Авторизация и обмен ключами |\n| `session-server` | Хранение сессий и маршрутизация обновлений |\n| `messenger-command-server` | Обработка команд (запись, CQRS) |\n| `messenger-query-server` | Обработка запросов (чтение, CQRS) |\n| `bot-api-server` | HTTP Bot API |\n| `admin-api` | Служебный API администрирования |\n| `file-server` \u002F `file-merge-proxy` | Хранение и раздача файлов |\n| `turn-server` | TURN\u002FSTUN для звонков |\n| `sms-sender` | Отправка кодов подтверждения |\n| `data-seeder` | Первичное наполнение базы данных |\n\nИнфраструктура: MongoDB (хранилище и event store), Redis (кеш), RabbitMQ (шина событий), MinIO (объектное хранилище файлов).\n\nДополнительные компоненты репозитория:\n\n- `mediasoup-server\u002F` — SFU для групповых видеозвонков (Node.js);\n- `stargift-admin\u002F` — веб-панель управления подарками (backend на Node.js, frontend на React);\n- `scripts\u002F` — вспомогательные скрипты запуска и тестовые боты.\n\n## Быстрый старт (Docker)\n\nПотребуются Docker и Docker Compose.\n\n1. Перейдите в каталог с compose-файлом:\n\n   ```bash\n   cd docker\u002Fcompose\n   ```\n\n2. Откройте файл `.env` и задайте свои значения вместо плейсхолдеров `CHANGE_ME`\n   (пароли MongoDB, Redis, RabbitMQ, MinIO, ключ Admin API), а также укажите внешний\n   IP-адрес сервера в параметрах `App__WebRtcConnections` и `App__DcOptions`.\n\n3. Сгенерируйте RSA-ключи MTProto и положите их в `docker\u002Fcompose\u002Fsecrets\u002Fmtproto\u002F`\n   (см. `secrets\u002Fmtproto\u002FREADME.md`).\n\n4. Запустите сервисы:\n\n   ```bash\n   docker compose up -d\n   ```\n\n   Часть сервисов (в том числе `messenger-query-server`) собирается локально из исходников,\n   а не скачивается из реестра, поэтому `docker login` не требуется. При первом запуске\n   образы соберутся автоматически. Чтобы пересобрать их вручную:\n\n   ```bash\n   docker compose build\n   docker compose up -d\n   ```\n\nПосле старта подключите клиент Telegram, прописав адрес вашего дата-центра.\n\n## Сборка из исходников\n\nДля сборки нужен .NET 9 SDK.\n\n```bash\ncd source\ndotnet build MyTelegram.sln -c Release\n```\n\nСкрипты сборки Docker-образов лежат в каталоге `build\u002F`.\n\n## Конфигурация\n\nВсе настройки задаются через переменные окружения (файл `.env`) либо через\n`appsettings.json` отдельных сервисов. В репозитории все значения паролей и ключей\nзаменены на плейсхолдеры `CHANGE_ME` — перед запуском замените их на свои.\n\nНе храните реальные пароли и приватные ключи в репозитории.\n\n## Лицензия и происхождение\n\nПроект основан на [mytelegram](https:\u002F\u002Fgithub.com\u002Floyldg\u002Fmytelegram). Все права на\nоригинальный код принадлежат его авторам; уважайте условия лицензии исходного проекта\nи товарные знаки Telegram.\n",2,"2026-06-11 04:11:50","CREATED_QUERY"]