Что такое хранилище сессий Telegram

Хранилище сессий Telegram — это сервер, на котром хранятся ключи, а также другие данные, необходимые для доступа к аккаунтам Telegram. В рамках платформы SIP.tg, предусмотрено неограниченное число хранилищ, каждое из которых также может хранить сессии Telegram неограниченного числа пользователей. Модуль хранилища реализован на базе официальной библиотеки Telegram с открытым исходным кодом — TDLib.

В дополнении к официальным хранилищам сессий Telegram, в рамках платформы SIP.tg каждый пользователь может создать своё собственное хранилище. Выбор хранилища возможен только в момент создания новой сессии Telegram, перемещение сессий Telegram между хранилищами не предусмотрено.

Возможности хранилища сессий Telegram

Данные, находящиеся в хранилище, используются для соединения и взаимодействия с инфраструктурой Telegram. Взаимодействие между платформой SIP.tg и хранилищем происходит по протоколу TCP. Модуль управления подключается к хранилищу сессий, передаёт внутренний идентификатор сессии, после чего дальнейшее взаимодействие строится путём передачи команд в обе стороны в формате JSON.

Кроме этого, хранилище сессий Telegram обеспечивает выполнение дополнительных возможностей:

  • отклоняет выполнение неразрешённых команд;
  • ограничивает передачу только разрешённого типа событий (update);
  • имеет поддержку неограниченного числа TCP подключений к одной сессии Telegram;
  • производит автоматический поиск пользователя по его username и номеру телефона;
  • кэширует результаты поиска пользователей;
  • имеет два режима хранения данных: в локальной базе данных SQLite (средствами библиотеки TDLib) или во внешней базе данных MySQL.
Системные требования

Исполняемая среда хранилища построена на базе платформы виртуализации Docker на основе образа ОС Ubuntu 18.04. С целью избежания программной эмуляции среды исполнения, мы не рекомендуем использовать в качестве основной операционную систему, отличную от Linux (Mac OS, Windows). Все дополнительные программные зависимости уже содержатся в распространяемом образе, на основной ОС необходимо наличие только Docker CE и Docker Compose.

Сервер должен обладать выделенным IP-адресом и быть доступен из внешней сети, либо у Вас должна быть возможность "пробросить" один произвольный TCP-порт на внешний IP-адрес.

Настройка хранилища сессий

Получение сертификатов

Сертификаты шифрования позволяют установить защищённое соединение между платформой SIP.tg и сервером хранилища. В настройках бота @siptg_bot выполните команду /storage и нажмите кнопку Новый.

В результате бот пришлёт 2 файла: приватный ключ и сертификат, необходимые для безопасного соединения. Сохраните их — позже они потребуются для записи на сервер хранилища.

Подготовка сервера

Самая подробная и актуальная информация по настройке сервера расположена на странице проекта на GitHub. Порядок действий включает в себя:

  • обновление установленного ПО (при необходимости);
  • установка ПО Docker;
  • получение шаблонов конфигурационных файлов;
  • сохранение файлов сертификатов из бота на сервере;
  • внесение изменений в конфигурационные файлы (при необходимости);
  • запуск хранилища на сервере.
Подключение к хранилищу сессий

Последний шаг в настройке — это настройка параметров подключения к хранилищу сессий через бота, а именно — указание адреса подключения. Нажмите кнопку Адрес и введите внешний адрес и порт сервера, на котором запущено хранилище сессий. Далее нажмите кнопку Включить для попытки соединения с сервером хранилища. Если параметры подключения неверны, Вы получите сообщение об ошибке и хранилище будет отключено.