Установка и настройка 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
Как можно привязать проксю с удлиненным сикретом с буквами dd в начале ключа? Так как Бот не примимает сикрет длиннее 16 символов
Не совсем понятен вопрос.
Скажем перед Secret решил использовать ee или dd, для более надежной работы против блокировок. пытаюсь отправить такой сикрет боту в тг для регистрации прокси, однако бот в телеге говорит что это неверный формат макс 32hex.
и еще вопрос (наиболее актуальбынй и важный) на идентичных серверах развернул python версию и версию официальную отсюда — https://github.com/TelegramMessenger/MTProxy
Скорось небо и земля. тк к проксе на питоне подключается секунд 5 — 10 видео еле грузятся и ооочень нестабильный коннект. Официальная же версия летает(да несколько выше нагрущка на CPU) — но терпеть тормоза подклюбчения и постоянные разрывы разди оптимизации не очень разумно. Как можно уменьшить пинг до прокси на питоне, чтобыц цоннектилась наравне с оригиналом и стабильно держала соединения?
Спасибо.
Я вижу что вы свой вопрос задали и на GitHub по поводу секрета.
Но моё предположение что добавлять ee и dd не нужно, так как возможно всё делает сам сервер за вас, или ещё как вариант…что вам мешает прописать свой секрет, который в сумме с dd или ee, не будет более 32 символов ?
Насчёт производительности соглашусь с вами. Но так было не всегда, скорее всего причина в самой серверной части Telegram, которую мы к сожалению не можем увидеть.
Но задать вопрос автору proxy на GitHub я думаю можно.