Установка и настройка MTProto Fake TLS. В настоящее время многие страны блокируют работу Telegram в своих сетях.
Чтобы вопреки всем блокировкам ваш любимый мессенджер работал, добрые люди доработали MTProto, сделали его трафик замаскированным от всякого рода DPI (Deep Packet Inspection) при помощи HTTPS/TLS.
Для запуска своего MTProto Fake TLS нам нужно арендовать (купить) VPS, желательно чтобы данный VPS server находился в той стране в которой Telegram не блокируется, работал на ОС Debian 9 или 10, в системе должен быть установлен Python3, в Debian 10 он уже предустановлен в систему и устанавливать его не нужно.
После покупки в консоли сервера нужно выполнить некоторые действия для установки MTProto Fake TLS, видео по установке можно будет посмотреть в конце записи.
И так начнем подготовку к установке MTProto Fake TLS:
apt update
apt upgrade
Теперь установим нужные компоненты для работы MTProto:
apt install -y python3-pip
apt install git
pip3 install cryptography
Можно установить модуль uvloop — более быструю реализацию основного цикла событий. Производительность должна улучшиться примерно на 30%.
pip3 install uvloop
Теперь давайте скачаем сам MTProto Fake TLS:
git clone -b stable https://github.com/alexbers/mtprotoproxy.git /opt/mtprotoproxy; cd /opt/mtprotoproxy
Теперь настроим файл конфигурации:
nano config.py
В данном файле нужно раскомментировать настройку TLS_DOMAIN (убрать знак решетки) так же в секции USERS = в значение «tg» изменить нули на что-то рандомное (буквы и цифры), но не более 32 символов
Нужно чтобы MTProto после перезагрузки VPS сервера стартовал автоматически и для этого мы создадим условие.
Создадим пользователя:
useradd --no-create-home -s /usr/sbin/nologin tgproxy
После чего создадим файл mtprotoproxy.service:
nano /etc/systemd/system/mtprotoproxy.service
И вставим туда следующее содержимое с группой настроек:
[Unit] Description=Async MTProto proxy for Telegram After=network-online.target Wants=network-online.target [Service] ExecStart=/opt/mtprotoproxy/mtprotoproxy.py AmbientCapabilities=CAP_NET_BIND_SERVICE LimitNOFILE=infinity User=tgproxy Group=tgproxy Restart=on-failure [Install] WantedBy=multi-user.target
Теперь скажем нашей системе что mtprotoproxy должен выполняться при старте:
systemctl enable mtprotoproxy
Запустим mtprotoproxy:
systemctl start mtprotoproxy
Узнаем ссылку для подключения и работы через MTProto Fake TLS:
journalctl -u mtprotoproxy | cat
Смотреть установку и настройку MTProto Fake TLS для Telegram:
Ссылка на GitHub: alexbers | MTProto Fake TLS