====== Установка Telegram MTProto Proxy на VPS ====== Установка Docker sudo apt update sudo apt install -y docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker Генерируем секретный ключ apt install -y xxd # или на Debian часто это в vim-common: apt install -y vim-common SECRET=$(head -c 15 /dev/urandom | xxd -ps) echo "Ваш секрет: dd$SECRET" Использовать od (без openssl и без vim-common) SECRET=$(head -c 15 /dev/urandom | od -An -t x1 | tr -d ' \n' | head -c 30) echo "SECRET_HEX=$SECRET" Запуск MTProto Proxy контейнера sudo docker run -d --name=mtproto-proxy --restart=always \ -p 443:443 \ -v proxy-config:/data \ -e SECRET=dd${SECRET} \ telegrammessenger/proxy:latest Получите ссылку для подключения sudo docker logs mtproto-proxy | grep -Eo 'tg://proxy\?server=.*' sudo apt update && sudo apt upgrade -y sudo apt install docker.io -y nano start-mtproxy.sh #!/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 Делаем скрипт исполняемым и запускаем: chmod +x start-mtproxy.sh ./start-mtproxy.sh Проверяем работает ли MTproxy sudo docker ps [[https://habr.com/ru/articles/1010942/|Настраиваем MTProto прокси с Fake TLS за 5 минут]] sudo nano /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "features": { "apparmor": false } } sudo systemctl restart docker sudo apt install apparmor-utils sudo systemctl restart docker ./start-mtproxy.sh Вывести список подключенных IP-адресов: sudo ss -tunp | awk '/:443/ {split($5, a, ":"); if (a[1]!="") print a[1]} END {split($6, b, ":"); if (b[1]!="") print b[1]}' | sort -u Подключение в Telegram На телефоне: Нажмите на сгенерированную ссылку tg://... Telegram сам предложит активировать прокси Нажмите "Добавить прокси" и готово! Вручную: На мобильных устройствах: Настройки → Данные и память → Настройки прокси → Добавить прокси → MTProto На десктопе: Настройки → Продвинутые настройки → Тип соединения → → Использовать собственный прокси → Добавить прокси → MTProto