Volver al inicio

Proxy MTProto con Fake TLS: Eludiendo Bloqueos de Telegram en VPS

Aprende cómo desplegar rápidamente tu propio proxy MTProto con Fake TLS en VPS usando Docker. Guía detallada para un acceso estable y seguro a Telegram, eludiendo cualquier bloqueo.

Desplegando proxy MTProto con Fake TLS para eludir bloqueos de Telegram
Advertisement 728x90

Implementación de un proxy MTProto con Fake TLS: Una guía completa para un acceso estable a Telegram

En una era de creciente censura y bloqueo de internet, garantizar un acceso estable y seguro a las aplicaciones de mensajería se ha convertido en una prioridad para muchos usuarios. Un proxy MTProto, mejorado con la tecnología Fake TLS, ofrece una solución eficaz para eludir estas restricciones. Esta guía describe el proceso de despliegue de tu propio servidor proxy utilizando Docker y un VPS en solo unos minutos. Esta configuración te permite disfrazar el tráfico de Telegram como HTTPS regular, lo que dificulta significativamente su detección y bloqueo.

Cómo funcionan el proxy MTProto y Fake TLS

MTProto Proxy es un servidor proxy especializado desarrollado por el equipo de Telegram para proporcionar una conexión segura y cifrada. Utiliza el protocolo MTProto, optimizado para el funcionamiento de mensajería, asegurando alta velocidad y resistencia contra interrupciones. Su propósito principal es enrutar el tráfico de Telegram a través de un servidor intermediario, eludiendo así los bloqueos directos de direcciones IP o dominios impuestos al mensajero.

Fake TLS (Transport Layer Security) es una adición crucial al proxy MTProto, aumentando significativamente su eficacia en entornos con bloqueo activo. Esta tecnología permite que el tráfico MTProto se disfrace como tráfico HTTPS estándar, que se utiliza típicamente para conexiones seguras a sitios web. Un servidor proxy configurado con Fake TLS simula una conexión HTTPS regular a un dominio legítimo (por ejemplo, ya.ru o google.com). Para los sistemas de monitoreo externos, este tráfico aparece como navegación web ordinaria, lo que hace que sea extremadamente difícil de detectar y filtrar. Un prefijo especial ee en la clave secreta del proxy MTProto le indica al cliente de Telegram que use el modo Fake TLS, proporcionando una capa adicional de ofuscación.

Google AdInline article slot

Preparación para el despliegue

Para un despliegue exitoso de un proxy MTProto con Fake TLS, se requieren varios componentes. Elegir un proveedor de Servidor Privado Virtual (VPS) fiable es de vital importancia, ya que la estabilidad y velocidad de tu proxy dependen de ello.

Requisitos Mínimos del Sistema para VPS:

  • Sistema Operativo: Se recomienda Ubuntu 20.04, 22.04 o 24.04 LTS (Long Term Support) por su estabilidad y paquetes actualizados. Sin embargo, el script es compatible con otras distribuciones de Linux que soporten Docker.
  • RAM: 512 MB o más. Esta cantidad es suficiente para el funcionamiento básico del contenedor Docker del proxy MTProto.
  • Espacio en Disco: 5 GB o más. Necesario para el sistema operativo, Docker y los registros del contenedor.
  • Docker Instalado: El sistema de contenedores Docker es fundamental para ejecutar el proxy MTProto en un entorno aislado.

Instalación de Docker en Ubuntu

Si Docker aún no está instalado en tu VPS, ejecuta los siguientes comandos. Actualizarán la lista de paquetes, instalarán las dependencias necesarias y el propio Docker Engine.

Google AdInline article slot
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io -y

Después de la instalación de Docker, se recomienda verificar su estado con el comando sudo systemctl status docker para asegurar que el servicio esté funcionando y activo.

Despliegue automatizado del proxy MTProto

Para simplificar el proceso de despliegue, se proporciona un script Bash que automatiza todos los pasos: desde la generación del secreto hasta el lanzamiento del contenedor Docker y la salida de la información de conexión. Este enfoque minimiza la posibilidad de errores y reduce el tiempo de configuración a solo unos minutos.

Creación y ejecución del script de instalación

  • Crear el archivo del script: En tu VPS, crea un nuevo archivo, por ejemplo, start-mtproxy.sh, usando el editor de texto nano:

```bash

Google AdInline article slot

nano start-mtproxy.sh

```

  • Insertar el código del script: Copia el siguiente código y pégalo en el archivo creado. Guarda los cambios (Ctrl+O, Enter, Ctrl+X).

```bash

#!/bin/bash

Colores para una salida bonita

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" # Dominio fijo para Fake TLS

echo "🚀 Lanzando proxy MTProto con Fake TLS"

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

echo -e "📌 Usando dominio: ${BLUE}${FAKE_DOMAIN}${NC}"

Generando secreto Fake TLS...

echo -n "🔑 Generando secreto Fake TLS... "

Obteniendo hex del dominio ya.ru

DOMAIN_HEX=$(echo -n $FAKE_DOMAIN | xxd -ps | tr -d '\n')

echo -e "\n Hex del dominio: ${DOMAIN_HEX}"

Rellenando con caracteres aleatorios hasta 30 caracteres

DOMAIN_LEN=${#DOMAIN_HEX}

NEEDED=$((30 - DOMAIN_LEN))

RANDOM_HEX=$(openssl rand -hex 15 | cut -c1-$NEEDED)

Ensamblando el secreto

SECRET="ee${DOMAIN_HEX}${RANDOM_HEX}"

echo -e " Relleno aleatorio: ${RANDOM_HEX}"

echo -e " Secreto: ${YELLOW}${SECRET}${NC}"

echo " Longitud: ${#SECRET} caracteres"

Verificando si el puerto 443 está libre

echo -n "🔍 Verificando puerto ${PORT}... "

if ss -tuln | grep -q ":${PORT} "; then

echo -e "${YELLOW}puerto ocupado${NC}"

# Buscando puerto alternativo

for alt_port in 8443 8444 8445; do

if ! ss -tuln | grep -q ":${alt_port} "; then

PORT=$alt_port

echo " Usando puerto: ${PORT}"

break

fi

done

else

echo -e "${GREEN}libre${NC}"

fi

Deteniendo contenedor antiguo, si existe

echo -n "🛑 Deteniendo contenedor antiguo... "

sudo docker stop ${CONTAINER_NAME} >/dev/null 2>&1

sudo docker rm ${CONTAINER_NAME} >/dev/null 2>&1

echo -e "${GREEN}listo${NC}"

Lanzando proxy oficial de Telegram

echo -n "📦 Lanzando contenedor... "

sudo docker run -d \

--name ${CONTAINER_NAME} \

--restart unless-stopped \

-p ${PORT}:443 \

-e SECRET="${SECRET}" \

telegrammessenger/proxy > /dev/null 2>&1

Verificando resultado

sleep 3

if sudo docker ps | grep -q ${CONTAINER_NAME}; then

SERVER_IP=$(curl -s ifconfig.me)

echo -e "${GREEN}✅ ÉXITO${NC}"

echo ""

echo "📊 INFORMACIÓN DE CONEXIÓN:"

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

echo "🌐 Servidor: ${SERVER_IP}"

echo "🔌 Puerto: ${PORT}"

echo "🔑 Secreto: ${SECRET}"

echo "🌐 Dominio Fake TLS: ${FAKE_DOMAIN}"

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

echo "🔗 Enlace para Telegram (haz clic para autoconectar):"

echo -e "${GREEN}tg://proxy?server=${SERVER_IP}&port=${PORT}&secret=${SECRET}${NC}"

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# Guardando configuración

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 "✅ Configuración guardada en ~/mtproto_config.txt"

# Mostrando últimos logs

echo ""

echo "📋 Logs del contenedor:"

sudo docker logs --tail 5 ${CONTAINER_NAME}

else

echo -e "${RED}❌ ERROR${NC}"

sudo docker logs ${CONTAINER_NAME}

fi

```

  • Haz el script ejecutable y ejecútalo:

```bash

chmod +x start-mtproxy.sh

./start-mtproxy.sh

```

Análisis del script

El script realiza una secuencia de acciones destinadas a configurar el proxy de forma rápida y correcta:

  • Definición del Dominio Fake TLS: Por defecto, se utiliza ya.ru. Este dominio será simulado por el servidor proxy para disfrazar el tráfico. Los usuarios experimentados pueden cambiar FAKE_DOMAIN a otro recurso popular si lo desean.
  • Generación del Secreto: El script genera una clave secreta única. Comienza con el prefijo ee, que es obligatorio para activar el modo Fake TLS en el cliente de Telegram. Después de este prefijo, se añade la representación hexadecimal del FAKE_DOMAIN elegido, junto con caracteres aleatorios, para alcanzar una longitud total de 30 caracteres. Esto asegura la singularidad y seguridad del secreto.
  • Verificación de Disponibilidad del Puerto 443: El puerto HTTPS estándar (443) es preferido para Fake TLS, ya que su uso hace que el tráfico sea aún menos sospechoso. El script verifica si este puerto está libre. Si está ocupado, se selecciona automáticamente un puerto alternativo (8443, 8444 o 8445).
  • Gestión del Contenedor Docker: El script primero detiene y elimina cualquier contenedor previamente en ejecución llamado mtproto-proxy para evitar conflictos. Luego, se lanza un nuevo contenedor Docker utilizando la imagen oficial telegrammessenger/proxy. Los parámetros de lanzamiento incluyen:

* -d: Ejecuta el contenedor en modo separado (segundo plano).

* --name mtproto-proxy: Asigna un nombre al contenedor para una gestión más sencilla.

* --restart unless-stopped: Reinicia automáticamente el contenedor en caso de fallos o reinicios del VPS.

* -p ${PORT}:443: Mapea el puerto externo (determinado por el script) al puerto interno 443 del contenedor.

* -e SECRET="${SECRET}": Pasa el secreto generado al contenedor como una variable de entorno.

  • Salida de Información de Conexión: Después de lanzar exitosamente el contenedor, el script muestra la dirección IP del servidor, el puerto utilizado, el secreto generado y un enlace listo para usar para la conexión automática al proxy en Telegram. También se crea un archivo ~/mtproto_config.txt que contiene esta información.
  • Verificación de Estado: El script verifica si el contenedor Docker está en ejecución y muestra las últimas 5 líneas de sus registros para un diagnóstico rápido.

Puedes verificar el estado del contenedor Docker en ejecución en cualquier momento usando el comando:

sudo docker ps

La salida debería mostrar el contenedor mtproto-proxy con un estado de Up (en funcionamiento).

Conexión al proxy en Telegram

Después de desplegar exitosamente el servidor proxy, puedes conectarte fácilmente a él dentro del cliente de Telegram. Hay dos métodos principales disponibles:

Conexión automática (recomendado)

El método más sencillo es usar el enlace generado por el script. Simplemente copia y abre el enlace (por ejemplo, tg://proxy?server=...) en tu navegador o directamente dentro de Telegram. El mensajero te pedirá automáticamente que añadas y actives el servidor proxy. Confirma la acción tocando "Añadir Proxy".

Conexión manual

Si la conexión automática no funciona o prefieres la configuración manual, sigue estos pasos usando la información proporcionada por el script (dirección IP del servidor, puerto, secreto):

  • En Dispositivos Móviles (Android/iOS):

1. Abre Telegram y ve a "Ajustes".

2. Selecciona "Datos y Almacenamiento".

3. Ve a "Ajustes de Proxy".

4. Toca "Añadir Proxy" y elige "MTProto" como tipo.

5. Introduce la dirección IP del servidor, el puerto y la clave secreta en los campos correspondientes.

  • En Clientes de Escritorio (Windows/macOS/Linux):

1. Abre Telegram y ve a "Ajustes".

2. Selecciona "Avanzado" (o "Ajustes Avanzados").

3. En "Tipo de conexión", elige "Usar proxy personalizado".

4. Haz clic en "Añadir Proxy" y selecciona "MTProto" como tipo.

5. Introduce la dirección IP del servidor, el puerto y la clave secreta.

Puntos Clave

  • Ofuscación del Tráfico: Fake TLS oculta eficazmente el tráfico MTProto como HTTPS regular, dificultando su bloqueo.
  • Autonomía: Tu propio proxy en un VPS proporciona independencia de los servidores públicos, mejorando la estabilidad y la seguridad.
  • Facilidad de Despliegue: El uso de Docker y un script automatizado permite configurar el proxy en minutos.
  • Flexibilidad: El script selecciona automáticamente un puerto libre y proporciona toda la información de conexión necesaria.
  • Control: Tienes control total sobre la infraestructura y puedes modificar el script para adaptarlo a tus necesidades.

— Editorial Team

Advertisement 728x90

Leer después