Установка и настройка MTProto Fake TLS для Telegram

Установка и настройка 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

4 записей для “Установка и настройка MTProto Fake TLS для Telegram

  1. Как можно привязать проксю с удлиненным сикретом с буквами dd в начале ключа? Так как Бот не примимает сикрет длиннее 16 символов

  2. Скажем перед Secret решил использовать ee или dd, для более надежной работы против блокировок. пытаюсь отправить такой сикрет боту в тг для регистрации прокси, однако бот в телеге говорит что это неверный формат макс 32hex.

    и еще вопрос (наиболее актуальбынй и важный) на идентичных серверах развернул python версию и версию официальную отсюда — https://github.com/TelegramMessenger/MTProxy

    Скорось небо и земля. тк к проксе на питоне подключается секунд 5 — 10 видео еле грузятся и ооочень нестабильный коннект. Официальная же версия летает(да несколько выше нагрущка на CPU) — но терпеть тормоза подклюбчения и постоянные разрывы разди оптимизации не очень разумно. Как можно уменьшить пинг до прокси на питоне, чтобыц цоннектилась наравне с оригиналом и стабильно держала соединения?

    Спасибо.

  3. Я вижу что вы свой вопрос задали и на GitHub по поводу секрета.

    Но моё предположение что добавлять ee и dd не нужно, так как возможно всё делает сам сервер за вас, или ещё как вариант…что вам мешает прописать свой секрет, который в сумме с dd или ee, не будет более 32 символов ?

    Насчёт производительности соглашусь с вами. Но так было не всегда, скорее всего причина в самой серверной части Telegram, которую мы к сожалению не можем увидеть.

    Но задать вопрос автору proxy на GitHub я думаю можно.

Добавить комментарий

Поля, отмеченные звёздочкой, обязательны к заполнению

Выполните арифметические действия *Достигнут лимит времени. Пожалуйста, введите CAPTCHA снова.