Ставим MTProto прокси с Fake TLS за 5 минут
Сразу предупрежу: это - большая цитата вот этой статьи: "Настраиваем MTProto прокси с Fake TLS за 5 минут". Просто решил её сохранить у себя в блоге "на всякий случай".
Что такое MTProto прокси и как его устанавливать, уже писал раньше в статье "Как установить MTProto прокси для Telegram".
Напомню. MTProto Proxy — это прокси-сервер, разработанный специально для Telegram. Он позволяет обходить блокировки и обеспечивает шифрование трафика.
Fake TLS (Transport Layer Security) — это режим работы прокси, при котором трафик маскируется под обычный HTTPS-трафик. Это делает его практически неотличимым от посещения обычных сайтов, что значительно усложняет детектирование и блокировку прокси.
Часть №1. Установка Docker
Для начала вам потребуется установить Docker (если он у вас ещё не установлен). Это можно сделать как описал в статье "Как установить MTProto прокси для Telegram" (см. "Часть №2. Устанавливаем Docker"). Или воспользоваться способом, который предлагают авторы оригинальной статьи, использовав команды:
sudo apt update && sudo apt upgrade -y sudo apt install docker.io -y
Часть №2. Создаём скрипт для запуска прокси
На сервере создаём файл "start-mtproxy.sh". Для этого используем команду:
nano start-mtproxy.sh
Если вдруг вместо редактора вам напишут: "-bash: nano: command not found", необходимо установить редактор nanо. Для этого используйте вот эту команду:
sudo apt install nano
Если редактор открылся, в него надо скопировать правой кнопкой мыши вот этот код:
#!/bin/bash
# Цвета для красивого вывода
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
CONTAINER_NAME="mtproto-proxy"
PORT="443"
FAKE_DOMAIN="ya.ru" # Домен для Fake TLS
echo "🚀 Запуск MTProto прокси с Fake TLS"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "📌 Используем домен: ${BLUE}${FAKE_DOMAIN}${NC}"
# Генерируем секрет для Fake TLS
echo -n "🔑 Генерация Fake TLS секрета... "
# Получаем hex домена ya.ru
DOMAIN_HEX=$(echo -n $FAKE_DOMAIN | xxd -ps | tr -d '\n')
echo -e "\n hex домена: ${DOMAIN_HEX}"
# Дополняем случайными символами до 30 символов
DOMAIN_LEN=${#DOMAIN_HEX}
NEEDED=$((30 - DOMAIN_LEN))
RANDOM_HEX=$(openssl rand -hex 15 | cut -c1-$NEEDED)
# Собираем секрет
SECRET="ee${DOMAIN_HEX}${RANDOM_HEX}"
echo -e " Случайное дополнение: ${RANDOM_HEX}"
echo -e " Секрет: ${YELLOW}${SECRET}${NC}"
echo " Длина: ${#SECRET} символов"
# Проверяем, свободен ли порт 443
echo -n "🔍 Проверка порта ${PORT}... "
if ss -tuln | grep -q ":${PORT} "; then
echo -e "${YELLOW}порт занят${NC}"
# Ищем альтернативный порт
for alt_port in 8443 8444 8445; do
if ! ss -tuln | grep -q ":${alt_port} "; then
PORT=$alt_port
echo " Используем порт: ${PORT}"
break
fi
done
else
echo -e "${GREEN}свободен${NC}"
fi
# Останавливаем старый контейнер, если есть
echo -n "🛑 Остановка старого контейнера... "
sudo docker stop ${CONTAINER_NAME} >/dev/null 2>&1
sudo docker rm ${CONTAINER_NAME} >/dev/null 2>&1
echo -e "${GREEN}готово${NC}"
# Запускаем официальный прокси от Telegram
echo -n "📦 Запуск контейнера... "
sudo docker run -d \
--name ${CONTAINER_NAME} \
--restart unless-stopped \
-p ${PORT}:443 \
-e SECRET="${SECRET}" \
telegrammessenger/proxy > /dev/null 2>&1
# Проверяем результат
sleep 3
if sudo docker ps | grep -q ${CONTAINER_NAME}; then
SERVER_IP=$(curl -s ifconfig.me)
echo -e "${GREEN}✅ УСПЕШНО${NC}"
echo ""
echo "📊 ИНФОРМАЦИЯ ДЛЯ ПОДКЛЮЧЕНИЯ:"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🌐 Сервер: ${SERVER_IP}"
echo "🔌 Порт: ${PORT}"
echo "🔑 Секрет: ${SECRET}"
echo "🌐 Fake TLS домен: ${FAKE_DOMAIN}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔗 Ссылка для Telegram (нажмите для автоподключения):"
echo -e "${GREEN}tg://proxy?server=${SERVER_IP}&port=${PORT}&secret=${SECRET}${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# Сохраняем конфигурацию
cat > ~/mtproto_config.txt << EOF
SERVER=${SERVER_IP}
PORT=${PORT}
SECRET=${SECRET}
DOMAIN=${FAKE_DOMAIN}
LINK=tg://proxy?server=${SERVER_IP}&port=${PORT}&secret=${SECRET}
EOF
echo "✅ Конфигурация сохранена в ~/mtproto_config.txt"
# Показываем последние логи
echo ""
echo "📋 Логи контейнера:"
sudo docker logs --tail 5 ${CONTAINER_NAME}
else
echo -e "${RED}❌ ОШИБКА${NC}"
sudo docker logs ${CONTAINER_NAME}
fiПотом нажимаете Ctrl+S, чтобы сохранить файл, и Ctrl+X, чтобы закрыть редактор.
Теперь делаем файл со скриптом исполняемым и запускаем его:
chmod +x start-mtproxy.sh ./start-mtproxy.sh
Будут какие-то шаманские действия, а потом вам должны вывести ссылку для подключения к вашему прокси:
Скопируйте эту ссылку. Далее просто вставьте её в "Избранное" и подключите ваш прокси.
А если вдруг забыли её скопировать, то настройки вашего прокси можно посмотреть в файле "mtproro_config.txt" в каталоге "root".
Проверяем работает ли MTproxy.
docker ps
Вам выведут какой-то текст. В нём в столбце "IMAGE" должно быть написано "telegrammessenger/proxy", а в столбце "STATUS" - "UP". Если всё так, то ваш прокси работает.