From e329ed10d3a46edde0c1fb53dba802835074a04b Mon Sep 17 00:00:00 2001 From: Reisber Date: Mon, 13 Apr 2026 10:22:23 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20MTProto.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Reisber --- MTProto.md | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 MTProto.md diff --git a/MTProto.md b/MTProto.md new file mode 100644 index 0000000..0de51d9 --- /dev/null +++ b/MTProto.md @@ -0,0 +1,119 @@ +### Устаналвиваем докер +``` +curl -fsSL https://get.docker.com | sh +``` +Далее `nano start_proxy.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_proxy.sh` +И запускаем +