Um proxy para Telegram roteia o tráfego do usuário por um servidor intermediário, permitindo o acesso em regiões restritas, aumentando a privacidade e melhorando a estabilidade da conexão. Esse mecanismo é usado principalmente para contornar a censura na internet e as restrições geográficas que bloqueiam o acesso direto aos serviços do Telegram.
Por que usar um proxy para o Telegram?
Governos e provedores de internet (ISPs) de várias regiões aplicam inspeção profunda de pacotes (DPI) e bloqueio de IP para restringir o acesso a plataformas de comunicação como o Telegram. Um servidor proxy funciona como retransmissor, mascarando o endereço IP real do usuário e criptografando o tráfego (dependendo do tipo de proxy), fazendo parecer que a conexão vem de um local sem restrições. Isso permite que os usuários contornem a censura e mantenham a comunicação.
Tipos de proxy para o Telegram
Os clientes do Telegram suportam protocolos de proxy específicos para obter desempenho e segurança ideais. Os principais protocolos são MTProto e SOCKS5.
Proxy MTProto
MTProto é o protocolo de proxy proprietário do Telegram. Ele foi projetado especificamente para funcionar de forma integrada com a arquitetura do Telegram e oferece recursos voltados para resistir à censura.
Características principais:
* Exclusivo do Telegram: otimizado para o tráfego do Telegram, garantindo entrega eficiente de mensagens e qualidade nas chamadas.
* Ofuscação: conta com uma camada de ofuscação criada para tornar o tráfego do proxy indistinguível do tráfego HTTPS comum, dificultando o DPI e os esforços de censura.
* Criptografia integrada: inclui sua própria criptografia, adicionando uma camada de segurança sobre a criptografia TLS padrão usada pelo próprio Telegram.
* Configuração fácil no cliente: normalmente é fornecido como um link tg://proxy de um clique, o que simplifica a configuração para o usuário final.
* Canais patrocinados: servidores proxy MTProto podem ser vinculados a canais do Telegram, permitindo que os operadores promovam conteúdo ou serviços aos usuários conectados por seu proxy.
Proxy SOCKS5
SOCKS5 (Socket Secure 5) é um protocolo de proxy de uso geral que opera na camada de aplicação. Ele lida com vários tipos de tráfego de rede, incluindo TCP e UDP, o que o torna versátil para diferentes aplicações.
Características principais:
* Uso geral: não é exclusivo do Telegram; pode intermediar o tráfego de qualquer aplicação configurada para usá-lo.
* Sem criptografia própria: o SOCKS5 em si não fornece criptografia. A segurança depende da criptografia da própria aplicação (por exemplo, a criptografia de ponta a ponta do Telegram) ou de um túnel seguro externo (por exemplo, túnel SSH, VPN).
* Autenticação: suporta autenticação por usuário/senha, oferecendo controle de acesso ao servidor proxy.
* Configuração manual no cliente: exige inserir manualmente o endereço IP, a porta e os dados de autenticação no cliente do Telegram.
Outros tipos de proxy
Proxies HTTP/HTTPS: embora sejam comuns na navegação web, os proxies HTTP/HTTPS geralmente não servem para as funções centrais de mensagens e chamadas de voz/vídeo do Telegram. O protocolo do Telegram depende de conexões TCP/IP diretas e de UDP para chamadas, algo que os proxies HTTP não foram projetados para tratar de forma eficiente ou segura. Falta a eles o suporte de protocolo e a ofuscação necessários para contornar a censura nesse contexto.
MTProto vs SOCKS5: uma comparação
| Recurso | Proxy MTProto | Proxy SOCKS5 |
|---|---|---|
| Tipo de protocolo | Proprietário do Telegram, de alto nível | Uso geral, camada de aplicação (camada 5) |
| Criptografia | Integrada (camada de ofuscação) | Nenhuma própria; depende da segurança da aplicação |
| Ofuscação | Alta, feita para contornar DPI | Nenhuma própria |
| Desempenho (Telegram) | Otimizado para o tráfego do Telegram | Geral; depende do servidor e da rede |
| Facilidade de configuração no cliente | Link tg://proxy de um clique |
Entrada manual (IP, porta, usuário, senha) |
| Complexidade de configuração do servidor | Requer ferramentas de proxy MTProto | Software SOCKS padrão (por exemplo, Dante) |
| Integração com o Telegram | Nativa, profunda | Suporte genérico a proxy |
| Monetização/patrocínio | Suporta canais patrocinados | Sem recursos de monetização próprios |
| Resistência à censura | Em geral maior, graças à ofuscação | Menor, mais fácil de detectar e bloquear sem ofuscação |
| Principal caso de uso | Dedicado ao acesso ao Telegram | Tráfego geral de internet, incluindo o Telegram |
Configurando um proxy para o Telegram (lado do cliente)
Configurar um proxy no cliente do Telegram é simples, tanto para MTProto quanto para SOCKS5.
Usando um proxy MTProto
- Obtenha o link do proxy: receba um link de proxy MTProto, normalmente no formato
tg://proxy?server=<IP>&port=<PORT>&secret=<SECRET>. - Clique no link: em um dispositivo com o Telegram instalado, clique no link
tg://proxyfornecido. - Ative: o Telegram abrirá automaticamente e pedirá para ativar a conexão via proxy. Confirme para conectar.
Usando um proxy SOCKS5
- Obtenha os dados do proxy: consiga o endereço IP do servidor SOCKS5, a porta e, opcionalmente, usuário e senha.
- Abra as configurações do Telegram:
- Desktop: vá em Settings -> Data and Storage -> Proxy Settings.
- Celular: vá em Settings -> Data and Storage -> Proxy.
- Ative o proxy: ligue a opção "Use Proxy" ou equivalente.
- Selecione SOCKS5: escolha "SOCKS5" como tipo de proxy.
- Informe os dados:
- Servidor: digite o endereço IP ou hostname do servidor proxy.
- Porta: digite o número da porta do servidor proxy (por exemplo, 1080, 5000).
- Autenticação (se necessária): digite o usuário e a senha.
- Salve: salve as configurações. O Telegram tentará se conectar pelo proxy SOCKS5 configurado.
Montando seu próprio servidor proxy (lado do servidor)
Operar seu próprio servidor proxy dá controle total sobre a conexão e garante privacidade. Isso normalmente exige um servidor privado virtual (VPS) rodando Linux.
Montando um servidor proxy MTProto
O MTProto Proxy oficial do Telegram está disponível como imagem Docker, o que simplifica a implantação.
- Pré-requisitos: um servidor Linux (por exemplo, Ubuntu, CentOS) com
dockerinstalado. - Instale o Docker (se não estiver presente):
bash sudo apt update sudo apt install -y docker.io sudo systemctl start docker sudo systemctl enable docker - Execute o MTProto Proxy:
Gere uma chave secreta. Recomenda-se uma string hexadecimal de 32 caracteres.
bash head /dev/urandom | tr -dc A-F0-9 | head -c 32; echo # Exemplo de saida: A1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D6
Substitua<YOUR_SECRET>pela chave gerada e<YOUR_AD_TAG_IF_ANY>por uma tag hexadecimal opcional de 32 caracteres para canais patrocinados. Se nenhuma tag for usada, omita o parâmetro-e TAG.
bash docker run -d -p 443:443 --name mtproto-proxy \ -v mtproto-proxy-config:/etc/mtproto-proxy \ -e SECRET=<YOUR_SECRET> \ -e TAG=<YOUR_AD_TAG_IF_ANY> \ telegrammessenger/proxy
Esse comando inicia o proxy, mapeando a porta 443 do host para a porta 443 do contêiner. - Obtenha o link do proxy: após a implantação, recupere o link do proxy. Os logs do Docker ou o arquivo
/etc/mtproto-proxy/proxy-secretdentro do contêiner conterão o linktg://proxycompleto.
bash docker logs mtproto-proxy
Procure uma linha semelhante a:tg://proxy?server=<YOUR_SERVER_IP>&port=443&secret=<YOUR_SECRET>
Montando um servidor proxy SOCKS5
O Dante Server é uma implementação de servidor SOCKS popular e de alto desempenho.
- Pré-requisitos: um servidor Linux (por exemplo, Ubuntu, CentOS).
- Instale o Dante Server:
bash sudo apt update sudo apt install -y dante-server -
Configure o Dante Server:
Edite o arquivo de configuração, normalmente em/etc/dante.conf.
Uma configuração básica de proxy SOCKS5 com autenticação por usuário/senha:
```
logoutput: syslog
internal: eth0 port=1080 # Substitua eth0 pela interface de rede principal do servidor
external: eth0 # Substitua eth0 pela interface de rede principal do servidorsocksmethod: username none # Exige autenticacao por usuario/senha
user.privileged: root
user.notprivileged: nobodyclient pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
Essa configuração faz o Dante escutar na porta 1080 e exigir usuário/senha para conexões SOCKS. 4. **Crie contas de usuário:** Se `socksmethod: username` estiver configurado, crie usuários do sistema para a autenticação do proxy. Esses usuários não precisam de diretório home nem de acesso a shell.bash
sudo adduser --no-create-home --shell /usr/sbin/nologin
sudo passwd# Defina uma senha forte
Repita para cada usuário. 5. **Reinicie e habilite o Dante Server:** Aplique as alterações reiniciando o serviço e garanta que ele inicie junto com o sistema.bash
sudo systemctl restart dante-server
sudo systemctl enable dante-server
6. **Configuração do firewall:** Certifique-se de que a porta do proxy (por exemplo, 1080) esteja aberta no firewall do servidor.bash
sudo ufw allow 1080/tcp
sudo ufw enable
`` (Ajuste conforme o seu firewall, por exemplo,firewalld` no CentOS)
