
Установка MTProto Proxy на Ubuntu VPS Link to heading
MTProto — это официальный протокол для Telegram, который обеспечивает безопасное подключение к мессенджеру. В этом руководстве рассмотрен полный процесс установки и настройки MTProxy на вашем сервере.
Требования Link to heading
Для запуска собственного прокси-сервера понадобится:
- VPS ну например с Ubuntu
- Root-доступ
- Открытый порт наружу
Подключение и обновление системы Link to heading
Подключаемся к серверу по SSH:
ssh root@your_server_ip
Обновляем пакеты:
sudo apt update -y
sudo apt upgrade -y
Установка зависимостей Link to heading
sudo apt install git curl build-essential libssl-dev zlib1g-dev -y
Клонирование репозитория Link to heading
Рекомендуется использовать активный форк MTProxy:
git clone https://github.com/GetPageSpeed/MTProxy
cd MTProxy
Компиляция Link to heading
make
Если возникла ошибка, очистите сборку:
make clean
и повторите команду make.
Копирование бинарного файла Link to heading
sudo mkdir -p /opt/MTProxy
sudo cp objs/bin/mtproto-proxy /opt/MTProxy/
cd /opt/MTProxy
Загрузка конфигураций Link to heading
Скачиваем актуальные файлы конфигурации:
sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret
sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
Для автоматического обновления добавьте в cron:
sudo crontab -e
Строка для еженедельного обновления:
0 3 * * 1 curl -s https://core.telegram.org/getProxyConfig -o /opt/MTProxy/proxy-multi.conf && systemctl restart MTProxy.service
Генерация секретного ключа Link to heading
head -c 16 /dev/urandom | xxd -ps
Запишите ключ куда нить — он понадобится для конфигурации службы и ваших клиентов.
Настройка Firewall Link to heading
Открываем порт для клиентов:
sudo ufw allow 8443/tcp
Для firewalld:
sudo firewall-cmd --zone=public --permanent --add-port=8443/tcp
sudo firewall-cmd --reload
P.S На этот порт мы и будем подключаться с Telegram клиента
Настройка службы systemd Link to heading
Создаем службу:
sudo nano /etc/systemd/system/MTProxy.service
Пример конфигурации:
[Unit]
Description=MTProxy
After=network.target
[Service]
Type=simple
mtproxy
WorkingDirectory=/opt/MTProxy
ExecStart=/opt/MTProxy/mtproto-proxy -u mtproxy -p 8888 -H <MTPROXY_PORT> -S <YOUR_SECRET> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure
[Install]
WantedBy=multi-user.target
Параметры:
-u mtproxy— пользователь для запуска-p 8888— локальный порт статистики-H— порт подключения клиентов-S— секретный ключ-M 1— число воркеров
Если сервер за NAT, добавьте:
--nat-info <внутренний_IP>:<внешний_IP>
Запуск и автозагрузка Link to heading
sudo systemctl daemon-reload
sudo systemctl start MTProxy.service
sudo systemctl enable MTProxy.service
Проверяем статус службы:
sudo systemctl status MTProxy.service
Подключение клиентов Telegram Link to heading
Добавьте прокси в Telegram по ссылке со своими параметрами:
tg://proxy?server=<IP_сервера>&port=<ПОРТ>&secret=<СЕКРЕТ>
P.S Для защиты от анализа трафика добавьте префикс dd к ключу на клиенте (random padding).
Или вручную:
Настройки → Данные и память → Настройки прокси → Добавить прокси → MTProto
- Сервер: IP вашего VPS
- Порт: выбранный порт
- Секрет: ваш ключ
Послесловие Link to heading
Я оставил кучу всего за бортом: настройка промоканала в прокси, как сделать красивый домен и т.д. Но смысл гайда в простоте и пошаговости.