Сделал для вас инструкцию по развёртыванию MTProto Proxy на Ubuntu с пояснением, что и зачем делается. Я опишу два практичных варианта: через официальный исходник Telegram (гибко, но сложнее) и через Docker (быстро и надёжно).

1. Что такое MTProto Proxy
MTProto Proxy — это специализированный прокси-сервер для Telegram, работающий на протоколе MTProto. В отличие от SOCKS5/VPN:
- маскируется под обычный HTTPS-трафик
- поддерживает “секреты” (obfuscation)
- оптимизирован под Telegram (меньше overhead)
2. Подготовка сервера
Минимальные требования:
- Ubuntu 20.04+ / 22.04+
- 1 CPU, 512 MB RAM (лучше 1 GB)
- Открытый порт (обычно 443 или любой другой)
Обновляем систему:
sudo apt update && sudo apt upgrade -y
Устанавливаем базовые зависимости:
sudo apt install -y git build-essential libssl-dev zlib1g-dev

3. Вариант A — установка из исходников (официальный способ)
3.1 Клонирование репозитория
git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy
3.2 Сборка
make
После сборки появится бинарник mtproto-proxy.
3.3 Получение конфигурационных файлов
Telegram использует два файла:
proxy-secretproxy-multi.conf
Скачиваем:
wget https://core.telegram.org/getProxySecret -O proxy-secret
wget https://core.telegram.org/getProxyConfig -O proxy-multi.conf
3.4 Генерация секрета
Секрет — ключ для подключения клиентов:
head -c 16 /dev/urandom | xxd -ps
Пример:
abcd1234ef567890abcd1234ef567890
3.5 Запуск прокси
./objs/bin/mtproto-proxy \
-u nobody \
-p 8888 \
-H 443 \
-S <YOUR_SECRET> \
--aes-pwd proxy-secret proxy-multi.conf \
-M 1
Пояснение параметров:
-u nobody— запуск без root-p 8888— внутренний порт (админ)-H 443— внешний порт (клиенты)-S— секрет--aes-pwd— ключи Telegram-M 1— режим multi-core
3.6 Проверка
Если всё корректно, в логах появится:
Started as [PID]

4. Создание systemd сервиса (рекомендуется)
Создаём файл:
sudo nano /etc/systemd/system/mtproxy.service
Содержимое:
[Unit]
Description=MTProto Proxy
After=network.target
[Service]
WorkingDirectory=/root/MTProxy
ExecStart=/root/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <SECRET> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=always
[Install]
WantedBy=multi-user.target
Запуск:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable mtproxy
sudo systemctl start mtproxy

5. Вариант B — через Docker (проще и чаще используется)
5.1 Установка Docker
sudo apt install -y docker.io
5.2 Запуск контейнера
docker run -d -p 443:443 \
-e SECRET=<YOUR_SECRET> \
-e TAG=<OPTIONAL_TAG> \
--name mtproto-proxy \
--restart always \
telegrammessenger/proxy
Преимущества:
- не нужно компилировать
- автообновления
- проще перенос

Формирование ссылки подключения
Формат:
tg://proxy?server=IP&port=443&secret=SECRET
Пример:
tg://proxy?server=1.2.3.4&port=443&secret=abcd1234...
Можно также сделать HTTPS-ссылку:
https://t.me/proxy?server=IP&port=443&secret=SECRET
Открытие порта (если включён firewall)
Если используешь UFW:
sudo ufw allow 443/tcp
sudo ufw reload
Мониторинг и логирование
Просмотр логов:
journalctl -u mtproxy -f
Docker:
docker logs -f mtproto-proxy
Оптимизация и продакшн-замечания
Производительность
- включить
-M(multi-core) - использовать VPS с хорошим каналом
Маскировка (обфускация)
Можно добавить fake TLS (advanced setup), но это уже требует домена и nginx.
Безопасность
- ограничить доступ к admin-порту
- не использовать простой секрет
- менять секрет при утечке
Частые проблемы
Не подключается
- порт закрыт
- неправильный SECRET
- провайдер блокирует IP
Высокая задержка
- слабый VPS
- перегруженный канал