Установка MTProto Proxy на Ubuntu VPS
MTProto — это официальный протокол для Telegram, который обеспечивает безопасное подключение к мессенджеру. В этом руководстве рассмотрен полный процесс установки и настройки MTProxy на вашем сервере.
Требования
Для запуска собственного прокси-сервера понадобится:
- VPS ну например с Ubuntu
- Root-доступ
- Открытый порт наружу
Подключение и обновление системы
Подключаемся к серверу по SSH:
Обновляем пакеты:sudo apt update -y
sudo apt upgrade -y
Установка зависимостей
sudo apt install git curl build-essential libssl-dev zlib1g-dev -y
Клонирование репозитория
Рекомендуется использовать активный форк MTProxy:
git clone https://github.com/GetPageSpeed/MTProxy
cd MTProxy
Компиляция
Если возникла ошибка, очистите сборку:
Копирование бинарного файла
sudo mkdir -p /opt/MTProxy
sudo cp objs/bin/mtproto-proxy /opt/MTProxy/
cd /opt/MTProxy
Загрузка конфигураций
Скачиваем актуальные файлы конфигурации:
sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret
sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
Для автоматического обновления добавьте в *cron*:
Строка для еженедельного обновления:
0 3 * * 1 curl -s https://core.telegram.org/getProxyConfig -o /opt/MTProxy/proxy-multi.conf && systemctl restart MTProxy.service
Генерация секретного ключа
head -c 16 /dev/urandom | xxd -ps
Запишите ключ куда нить — он понадобится для конфигурации службы и ваших клиентов.
Настройка Firewall
sudo ufw allow <порт подключения клиентов>/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8443/tcp
sudo firewall-cmd --reload
P.S На этот порт мы и будем подключаться с Telegram клиента
Настройка службы systemd
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-info <внутренний_IP>:<внешний_IP>
Запуск и автозагрузка
sudo systemctl daemon-reload
sudo systemctl start MTProxy.service
sudo systemctl enable MTProxy.service
sudo systemctl status MTProxy.service
Подключение клиентов Telegram
Добавьте прокси в Telegram по ссылке со своими параметрами:
tg://proxy?server=<IP_сервера>&port=<ПОРТ>&secret=<СЕКРЕТ>
P.S Для защиты от анализа трафика добавьте префикс `dd` к ключу на клиенте
Настройки → Данные и память → Настройки прокси → Добавить прокси → MTProto
Послесловие
Я оставил кучу всего за бортом: настройка промоканала в прокси, как сделать красивый домен и т.д. Но смысл гайда: в пошаговости.