gramsrv: открытый сервер Telegram на Go для хостинга и экспериментов

gramsrv — это открытый сервер Telegram, совместимый с MTProto, написанный на Go. Проект предлагает возможность собственноручно хостить сервер Telegram и проводить эксперименты с протоколами и чатами. В отличие от простых имитаций интерфейса, gramsrv поддерживает реальные клиенты Telegram и предназначен для создания более продвинутых чат-систем.

Запускать сервер можно легко с помощью Docker. Достаточно клонировать репозиторий, установить Git и Docker Desktop и выполнить одну команду. Проект не требует установки локального Go-окружения или дополнительных баз данных, что упрощает процесс развертывания. Однако стоит отметить, что стартовый код для входа — 12345, а сервер по умолчанию слушает только на локальном хосте, что ограничивает доступ.

Проект будет полезен разработчикам, желающим экспериментировать с сетями и протоколами, а также тем, кто хочет иметь контроль над своей чат-системой. Учти, что это всё ещё находится в разработке, так что качественная поддержка может быть ограничена.

Что такое gramsrv

gramsrv — это открытый сервер, совместимый с Telegram, и MTProto-бэкенд, написанный на Go. Этот проект предназначен для самостоятельного хостинга, исследования протокола и создания систем общения, которые требуют настоящей совместимости с клиентами Telegram, а не просто интерфейса, похожего на Telegram.

Зачем нужен gramsrv

Основная идея gramsrv заключается в том, чтобы предоставить пользователю возможность контролировать свой сервер, сохраняя при этом полную совместимость с клиентами Telegram. В отличие от большинства клонов Telegram, которые лишь имитируют интерфейс, gramsrv реализует серверную часть протокола, позволяя совместимым клиентам работать через инфраструктуру, находящуюся под вашим контролем. Он поддерживает такие функции, как:

  • MTProto транспорт и аутентификацию, шифрование сессий и синхронизацию на нескольких устройствах.
  • Поддержка чатов, каналов, медиафайлов, реакций, ботов и звонков.
  • Открытый код сервера от края протокола до бизнес-сервисов и реального времени.

Как установить и запустить

Чтобы всего за несколько команд запустить gramsrv, следуй этим шагам:

git clone --branch main --single-branch https://github.com/iamxvbaba/gramsrv.git
Set-Location gramsrv
.\scripts\start-docker.ps1

Этот скрипт создаёт среду развертывания, загружает готовые образы из GHCR и запускает все сервисы. Не требуется установка Go, PostgreSQL, Redis или каких-либо других дополнительных инструментов. Для временного использования в локальной сети можешь указать свой LAN-адрес:

.\scripts\start-docker.ps1 `
  -AdvertiseIP 192.168.1.20 `
  -PublicBaseURL http://192.168.1.20:2401 `
  -PublicWebBaseURL http://192.168.1.20:2401 `
  -AllowInsecureDevelopmentAuth

Обрати внимание, что клиентам Telegram потребуется применить небольшой патч к RSA-ключам для корректной работы с сервером. Больше информации о совместимых клиентах можно найти на официальном сайте проекта.

Архитектура и производительность

Проект предлагает две архитектуры:

  • main: монолитный сервер, подходящий для разработки и небольших развёртываний.
  • v2: микросервисная архитектура, способная к масштабированию и более надёжной работе на производстве.

Оптимизация производительности грамотно протестирована, и успешные результаты показывают, что сервер может обрабатывать 10,000 активных сессий и 1,000 сообщений в секунду без потерь.

Ограничения и вопросы совместимости

Хотя gramsrv активно поддерживает работу с клиентами Telegram на различных платформах, некоторые расширенные функции могут быть экспериментальными или требовать дополнительной настройки. К тому же, поскольку проект независим и не аффилирован с Telegram, необходимо учитывать, что пользователи могут столкнуться с трудностями, связанными с безопасностью и конфиденциальностью.

В целом, gramsrv представляет интерес для тех, кто хочет исследовать возможности MTProto в рамках самостоятельного сервера и создавать альтернативные решения для общения в стиле Telegram.

Радар проекта: 55 из 100 — рабочий, но с оговорками

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема55
  • Импульс 0 ≈ 0 звёзд в месяц
  • Темп разработки 100 334 коммита за 12 недель
  • Зрелость 26 проекту 5 месяцев, релизов нет
  • Сообщество 56 24 участника, 70 форков
  • Свежесть 96 последний коммит — 7 дней назад
  • Быстрый старт 60 есть: Docker, сайт/демо
  • Готовность к продакшену 30 автосборка
  • Безопасность и доверие 40 лицензия Apache-2.0
  • Документация 92 README 8.8 тыс. знаков, 10 разделов, папка docs
  • Экосистема 54 13 подписчиков на обновления, 20 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: iamxvbaba/gramsrv →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте