Ставим MTProto-прокси на VPS
В наше тяжелое время, когда не понятно, будет Телеграм работать в той или иной стране или нет (и как будет он работать), каждый уважающий себя человек должен иметь свой личный MTProto прокси.
И сейчас расскажу, как его поставить на VPS.
Шаг №1.
Заходим на терминал вашей VPS так, как вам удобно. Сам пользуюсь прекрасным приложением BitVise, но вы можете использовать любое другое.
Шаг №2.
Последовательно вводим 2 такие команды (напомню, что комбинация клавиш "CTRL+V" в терминальном окне у BitVise не работает, потому используем комбинацию "Shift+Insert"):
sudo apt-get update -y sudo apt install git curl build-essential libssl-dev zlib1g-dev -y
Если интересно, то первая команда что-то там обновляет, а вторая устанавливает вам на VPS свежую версию Open SSL.
Шаг №3.
Там творится какое-то колдунство. После того, как всё закончилось без ошибок, копируем к себе на VPS исходники MTProxy с помощью вот этой команды:
git clone https://github.com/GetPageSpeed/MTProxy cd MTProxy
После копирования переходим в каталог, куда всё скопировалось.
Шаг №4.
Вот сейчас будет сложно. Очень. Если у вас на VPS стоит операционная система Ubuntu с версией 22.04 (как в своё время рекомендовал), то надо в этом каталоге найти файл с именем "Makefile" и добавить там параметр "-fcommon" для COMMON_CFLAGS
and COMMON_LDFLAGS. То есть, дописать его вот в эту строчку:
Это можно сделать в любом удобном текстовом редакторе. Сам просто открыл SFTP-окно:
Там справа нашёл каталог "MTProxy":
Нашёл там файл с именем "Makefile":
2 раза кликнул на него и открыл его просто Блокнотом (можно использовать любой другой текстовый редактор).
Там добавьте "-fcommon" в строчку, которая начинается с "COMMON_LDFLAGS":
И не забудьте после этого сохранить изменения в файле!
Шаг №5.
Компилируем MTProxy. Для этого в терминале вводим и исполняем команду "make"'.
Шаг №6.
Если всё в предыдущем шаге закончилось без ошибок, устанавливаем это ПО.
Для этого в терминале последовательно вводим и исполняем вот эти команды:
sudo mkdir /opt/MTProxy sudo cp objs/bin/mtproto-proxy /opt/MTProxy/ cd /opt/MTProxy
Шаг №7.
Теперь надо загрузить конфигурационные файлы. Для этого вводим и исполняем вот эти команды:
sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
Шаг №8.
Теперь вам надо будет сгенерировать свой секретный ключ. Для этого используем вот эту команду:
head -c 16 /dev/urandom | xxd -ps
В результате полученный ключ надо будет скопировать. Он нам ещё понадобится!
Шаг №9.
Создаём пользователя, который будет запускать этот прокси. И даём ему нужные права. Для этого используем вот эти команды:
sudo useradd -m -s /bin/false mtproxy sudo chown -R mtproxy:mtproxy /opt/MTProxy
Вместо "mtproxy" можно использовать любое другое имя, конечно.
Шаг №10.
Создаём конфигурационный файл и добавляем в него нужные параметры.
Для этого в каталог "/etc/systemd/system" добавляем файл с именем "MTProxy.service".
В этот файл надо добавить вот это:
[Unit] Description=MTProxy After=network.target [Service] Type=simple WorkingDirectory=/opt/MTProxy ExecStart=/opt/MTProxy/mtproto-proxy -u mtproxy -p 8888 -H <MTPROXY_PORT> -S <Секрет из шага 8> --aes-pwd proxy-secret proxy-multi.conf -M 1 Restart=on-failure [Install] WantedBy=multi-user.target
- <MTPROXY_PORT> - порт, на котором этот прокси будет работать. Лучше не использовать 443 порт, а взять какой-то другой.
- <Секрет из шага 8> - тот самый код, который вы получили и (надеюсь!) сохранили в шаге 8.
Шаг 12 и последний.
Добавляем MTProxy в автозагрузку сервера. Для этого используем следующие 3 команды:
sudo systemctl daemon-reload sudo systemctl restart MTProxy.service sudo systemctl status MTProxy.service
Вот вроде и всё! Для того, чтобы ваш или чей-то другой телеграм быстро подключился к вашему прокси, можно использовать ссылку следующего вида:
tg://proxy?server=<IP адрес вашего VPS>&port=<MTPROXY_PORT>&secret=<Секрет из шага 8>
Удачи!
Оригинал статьи тут