Содержание:

В сегодняшней статье мы поговорим о протоколе MTProto, а также рассмотрим установку данного протокола на личном VPS сервере на Ubuntu 24.04.
MTProto расшифровывается как Mobile Telegram Protocol. Протокол был создан разработчиками мессенджера Telegram. Благодаря нему можно обеспечить безопасное подключение к мессенджеру.
Просим заметить, что данный протокол работает только с приложениями Telegram! Для установки MTProto Вам необходимо арендовать VPS-сервер с root-доступом и возможностью подключиться по SSH.
Арендуйте VPS
Если у вас еще нет VPS, то арендуйте сервер из подборки.
ПерейтиУстановка MTProto на сервере
В данном пункте мы опишем три способа, как можно установить протокол на своем VPS сервере.
1 способ — через скрипт
Самый простой вариант, после подключения к серверу выполняем:
Далее скрипт выдаст данные подключения.

Можно переходить к шагу подключения.
2 способ — вручную
После подключения к серверу мы устанавливаем необходимые библиотеки:
apt install git curl build-essential libssl-dev zlib1g-dev
Скачиваем файлы MTProto на наш сервер. Для этого вводим команду:
git clone https://github.com/TelegramMessenger/MTProxy
Переходим в директорию протокола и запускаем сборку приложения:
cd MTProxy
make && cd objs/bin
Далее получаем секретный ключ для подключения к серверам телеграмм, текущую конфигурацию телеграмма и генерируем секретный ключ, который будет использоваться пользователями для подключения к прокси-серверу:
curl -s https://core.telegram.org/getProxySecret -o proxy-secret
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
head -c 16 /dev/urandom | xxd -ps
Запускаем MTProto, в команде для запуска нужно указать полученный ранее секретный ключ:
./mtproto-proxy -u nobody -p 8888 -H 443 -S <секретный ключ> --aes-pwd proxy-secret proxy-multi.conf -M 1
Донастроим данный способ, так как после отключения от сервера или нажатии сочетания клавиш Ctrl+C прокси-сервер перестанет работать. Чтобы MTtProto не останавливался, создадим службу:
nano /etc/systemd/system/mtproto-proxy.serviceВ файле мы указываем следующий код:
[Unit]
Description=MTProto Server
After=network.target
Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/MTProxy/objs/bin
ExecStart=/root/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <секретный ключ> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
LimitNOFILE=65536
KillMode=process
KillSignal=SIGTERM
[Install]
WantedBy=multi-user.target
Сохраняем файл и выходим из редактора.
Далее мы перезапускаем конфигурацию systemd, включаем автозапуск и запускаем MTProto:
systemctl daemon-reload
systemctl enable mtproto-proxy.service
systemctl start mtproto-proxy.service3 способ — через контейнер Docker
Проверяем, установлен ли на сервере Docker:
docker --versionЕсли Docker не установлен, то произведем установку командой:
curl -fsSL https://get.docker.com | sh
Устанавливаем контейнер с MTProxy и запускаем его:
docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latestДля того, чтобы получить ссылку для подключения к прокси-серверу, выполним следующую команду
docker logs mtproto-proxy
Подключение протокола к мессенджеру
После наших настроек на сервере нам необходимо подключить протокол.
Вручную в текстовом редакторе редактируем ссылку:
tg://proxy?server=<IP сервера>&port=<порт протокола>&secret=<секретный ключ>Отредактированную ссылку мы направляем себе в Telegram (в беседу «Избранное») – нажимаем на ссылку в чате. Перед нами появится окно с данными нашего протокола, в котором мы нажимаем кнопку «Включить».

Если ссылка не будет работать, то нам необходимо будет добавить протокол вручную:
- На мобильных устройствах: Настройки → Данные и память → Настройки прокси → Добавить прокси → MTProto
- На десктопе: Настройки → Продвинутые настройки → Тип соединения → Использовать собственный прокси → Добавить прокси → MTProto
Смена порта MTProto
Этот блок статьи необходим для того случая, если у вас на сервере уже используется 443 порт, например, Nginx. Если Вы хотите пользоваться протоколом на другом доступном порте, то необходимо сделать следующее:
1 способ подключения:
Необходимо будет включить редактор службы и отредактировать команду запуска протокола:
nano /etc/systemd/system/mtproto-proxy.serviceИзменяете порт, выделенный на скриншоте. После сохранения перезапускаете службу в Telegram в настройках протокола.

2 способ подключения:
Чтобы запустить контейнер от другого порта, необходимо будет сначала получить секретный ключ командой:
head -c 16 /dev/urandom | xxd -psПосле чего выполнить следующую команду:
docker run -d \
--name mtproto \
--restart unless-stopped \
-p 1234:443 \
-e SECRET=<секретный ключ> \
telegrammessenger/proxy > /dev/null 2>&1
Теперь Вам известно, как просто поднять протокол MTProto на Вашем VPS-сервере.
Предыдущая статья:
Установка и настройка VLESS с помощью MarzbanСледующая статья:
Как установить и настроить ProxiFyre?
Комментарии ()