Introduction
En este artículo vamos a explicar cómo desplegar un MTProto Proxy de Telegram, software usado principalmente para evitar el bloqueo de la aplicación en cierto países.
Telegram soporta dos tipos de servidores Proxy: el SOCKS5 estándar y el MTProto, del que hablareemos a continuación.
¿Qué es Telegram?
Telegram es una aplicación de mensajería con foco en la velocidad y la seguridad. Es gratuita y es usada por más de 700 millones de usuarios cada mes. Una de sus mejores funcionalidades es que se puede utilizar en varios dispositivos a la vez.
Desde mi punto de vista es la mejor alternativa de WhatsApp debido a sus múltiples funcionalidades. Sin embargo, WhatsApp tiene más popularidad en España, donde vivo.
Prerrequisitos
Para esta configuración necesita un servidor (puede ser una Raspberry Pi, o un VPS…) con Linux y acceso root. En mi caso yo voy a utilizar un VPS de DigitalOcean con Ubuntu. Además, es opcional pero recomendable tener un dominio apuntando al servidor.
Configurar el Firewall de tu servidor
Para este tutorial utilizaremos el puerto 3128/TCP para tener el proxy escuchando. Debes de abrir este puerto en el servidor. En caso de que tengas el Firewall UFW, este sería el comando para abrir el puerto:
sudo ufw allow 3128/tcp
En caso de ser otro firewall, consulta su documentación.
Instalar Go and Git
Ahora necesitamos tener Go y Git instalados antes de instalar el Proxy de Telegram.
Actualizar el sistema
La primera tarea que hacer es tener el sistema actualizado:
sudo apt update && sudo apt upgrade -y
Instalar Go
sudo apt install -y golang-go
Instalar Git
sudo apt install -y git
mtg
Instalar mtg
Ahora ya podemos instalar mtg, el software que utilizaremos para correr el Proxy de Telegram. Este software está en un repositorio de Github, y con Git, podemos descargar el software:
git clone https://github.com/9seconds/mtg.git
Y ahora lo tenemos que compilar:
cd mtg
go build
Finalmente tenemos que copiar el binario compliado en el directorio bin
del sistema.
sudo cp mtg /usr/local/bin
Configuración de mtg
Crear la secret
El parámetro más importe de la configuración de mtg es la secret, que necesitaremos para compartirla con los usuarios que van a utilizar este Proxy de Telegram.
mtg generate-secret myhost.mydomain.com
Guarda en un lugar seguro la secret generada.
Fichero de configuración
El fichero de configuración de mtg es un fichero TOML. Está localizado en el directorio /etc
:
sudo vi /etc/mtg.toml
Y es necesario añadir las siguientes líneas (Cambia la secret por la generada en el paso anterior):
secret = "7pVoP5GAKIYq2MasbaeySiNteWhvc3QubXlkb21haW4uY29t"
bind-to = "0.0.0.0:3128"
Iniciar mtg
Para este software necesitarás crear el servicio systemd, que se realiza así:
sudo vi /etc/systemd/system/mtg.service
[Unit]
Description=mtg - MTProto proxy server
Documentation=https://github.com/9seconds/mtg
After=network.target
[Service]
ExecStart=/usr/local/bin/mtg run /etc/mtg.toml
Restart=always
RestartSec=3
DynamicUser=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
Y ahora hay que recargar la configuración y habilitar el arranque de mtg en el arranque del sistema:
sudo systemctl daemon-reload
sudo systemctl enable mtg
sudo systemctl start mtg
Cómo usar el Proxy con Telegram
mtg facilita un comando para generar las URLs a configurar en el cliente de Telegram de una forma sencilla.
mtg access /etc/mtg.toml
Ejecutando el comando anterior, verás que genera un enlace similar a éste:
tg://proxy?port=3128&secret=7pVoP5GAKIYq2MasbaeySiNteWhvc3QubXlkb21haW4uY29t&server=1.2.3.4
Este enalce puede ser compartido en una conversación de Telegram, con lo que será fácilmente instalable.