Artigo

Configurando um servidor MTProto Proxy

4 minutos de leitura

Então você quer configurar seu próprio proxy para ajudar os usuários do Telegram que vivem em países autoritários (como Irã, China e outros)?

Observação: estamos correndo o risco de entrar para esse “clube”. Leia mais sobre isso.

Pré-requisitos

Todas as operações deste guia foram realizadas em um servidor GNU/Linux. Caso você utilize outro sistema operacional, pode ser necessário adaptar alguns comandos.

  • git
  • python3
  • vim-common
  • coreutils
  • docker (opcional)

Procedimentos

1. Clone o seguinte repositório:

git clone https://github.com/alexbers/mtprotoproxy.git; cd mtprotoproxy
Clonando o repositório do servidor.

2. Gere um segredo que será usado pelos usuários para se conectar ao seu proxy:

head -c 16 /dev/urandom | xxd -ps
Gerando uma chave (ou segredo).

3. Registre seu proxy no bot @MTProxybot:

Registrando o seu proxy no @MTProxybot.

A tag gerada será utilizada no arquivo de configuração, mostrado no próximo passo.

Serão gerados também os links para o seu proxy. Não esqueça de fazer a configuração do seu canal patrocinado (que será mostrado na lista de chats de quem estiver utilizando o proxy) caso queira, entrando com o comando /myproxies e acionando o botão Edit Promotion:

Informando o canal patrocinado.

4. Edite o arquivo config.py, informando em PORT a porta que será utilizada para a conexão, em USERS o segredo gerado no passo 2 e em AD_TAG a tag gerada pelo bot no momento do registro:

Editando o arquivo de configuração do proxy.

5. Inicialize o proxy:

python3 mtprotoproxy.py

ou

docker-compose up -d

O servidor também mostrará o link para proxy (caso esteja utilizando o docker, acesse o link compartilhável com o comando docker-compose logs.

Proxy rodando.

O desempenho do proxy deve ser suficiente para atender confortavelmente cerca de 4.000 usuários simultâneos na instância VDS com 1 núcleo de CPU e 1.024 MB de RAM.


E é isso! Parabéns, seu proxy está configurado e funcionando! 😁


Algumas dicas de como otimizar o proxy

Instale módulos Python para criptografia. O proxy é compatível com os módulos cryptogrpaphy, pycryptodome e pycrypto. Se nenhum deles for encontrado, a criptografia Python empacotada por padrão é usada (porém ela é bem lenta).

Se você tiver muita RAM, tente aumentar os buffers em config.py:

TO_CLT_BUFSIZE = 262144
TO_TG_BUFSIZE = 262144

Isso tornará o upload e o download mais rápidos com o aumento do uso de memória. As configurações de buffers padrão são otimizadas para 512 MB de RAM.

Instale o módulo uvloop – a implementação mais rápida do loop de eventos principal. O desempenho deve melhorar em cerca de 30%.

O proxy está usando um único núcleo de CPU. Se você tiver vários núcleos e o proxy estiver usando totalmente um deles, o proxy pode ser iniciado várias vezes – a carga será dividida igualmente entre os processos.

⚠️ A equipe do canal @DicasTelegram de forma alguma incentiva ou fomenta qualquer tipo de atitude que vá de encontro aos Termos de Uso do Serviço do Telegram, bem como o cometimento de quaisquer crimes previstos em Lei. Para saber mais sobre como denunciar conteúdos ilegais, acesse: https://t.me/DicasTelegram/1598.


Compartilhe este artigo!