Um servidor proxy é um intermediário entre um cliente e um servidor. Para contornar restrições, um servidor proxy deve ser instalado onde não há restrições no acesso às informações necessárias, embora não devam existir tais restrições entre o cliente e o servidor proxy.

Suporte de proxy atualizado para clientes Telegram
- Novo proxy MTProto. Funciona com o protocolo nativo Telegram MTProto
- Servidor de código-fonte aberto GitHub
- Imagem do Docker no DockerHub
- Nos clientes móveis, foi possível adicionar vários proxies de cada tipo. O usuário pode escolher o mais adequado

Proxy MTProto
- O proxy MTProto funciona apenas com o Telegram
- O cliente e o servidor não possuem uma fase aberta de troca de informações
- Na implementação do servidor proxy MTProto da Telegram, o servidor proxy e seu proprietário não têm acesso direto às meta-informações do protocolo MTProxy (logins, por exemplo).
- Para todos os tipos de filtros e analisadores, a troca de dados com o servidor proxy MTProto parece um fluxo de dados bidirecional binário não estruturado entre o cliente e o servidor. Isso dificulta o reconhecimento do protocolo.
Início rápido
Para iniciar seu próprio servidor proxy MTProto, apenas uma máquina com o
Docker instalado e o acesso à rede são necessários. Não deve haver nada na porta 443 (nginx, apache). No primeiro início do servidor proxy, uma chave secreta será criada, a qual será lembrada. Executando com um comando:
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data telegrammessenger/proxy
:
$ docker logs mtproto-proxy
[+] Using the explicitly passed secret: 'b7e70329dcf3721c4239b86ad32a90b8'.
[+] Saving it to /data/secret.
[*] Final configuration:
[*] Secret 1: b7e70329dcf3721c4239b86ad32a90b8
[*] tg:// link for secret 1 auto configuration: : tg://proxy?server=81.177.103.94&port=443&secret=b7e70329dcf3721c4239b86ad32a90b8
[*] t.me link for secret 1: tg://proxy?server=81.177.103.94&port=443&secret=b7e70329dcf3721c4239b86ad32a90b8
[*] Tag: no tag
[*] External IP: 81.177.103.94
[*] Make sure to fix the links in case you run the proxy on a different port.
, - «» , IP .
SECRET:
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data -e SECRET=b7e70329dcf3721c4239b86ad32a90b8 \
telegrammessenger/proxy
- ( ) ( 16). , : boss, managers, users. . ( ) , . ? . . .
:
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data -e SECRET=b7e70329dcf3721c4239b86ad32a90b8,afccd434fb32248f29f033b189bd8541,878397a50627deb349d4c296bd9dc3c2 \
telegrammessenger/proxy
SECRET_COUNT ( 16):
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data -e SECRET_COUNT=5 telegrammessenger/proxy
, , Linux:
# busybox:
$ tr -dc 'a-f0-9' < /dev/urandom | dd bs=1 count=32 2>/dev/null
$ hexdump -n 16 -e '4/4 "%08x" 1 "\n"' /dev/random # hexdump
$ openssl rand -hex 16 # openssl
- . 60000 . - ( , ). WORKERS. , :
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data -e WORKERS=16 telegrammessenger/proxy
--net=host
. IPv6 , , proxy-server.
, , :
$ docker run -d -p443:443 --name=mtproto-proxy --restart=always \
-v proxy-config:/data telegrammessenger/proxy
- , :
$ docker run -d -p8443:443 --name=mtproto-proxy --restart=always \
-v proxy-config:/data telegrammessenger/proxy:latest
, - «» , .
MTProto- . localhost:
http://localhost:2398/stats
.
- docker
--net=host
:
curl http://localhost:2398/stats
, , , nginx - . - docker :
$ docker exec mtproto-proxy curl http://localhost:2398/stats
:
- ready_targets — Telegram, c -
- active_targets — Telegram ( ready_targets)
- total_special_connections —
- total_max_special_connections —
Telegram - Promoted-. Promoted- — , -. -.
Promoted-
@MTProxybot TAG :
$ docker run -d --net=host --name=mtproto-proxy --restart=always \
-v proxy-config:/data -e TAG=85174e9e0ffa43c0d3a7167e52175268 \
telegrammessenger/proxy:latest
, .
Promoted- , -. , .

-
MTProto- , - :
$ docker pull telegrammessenger/proxy #
$ docker stop mtproto-proxy #
$ docker rm mtproto-proxy #
$ docker run .... #
$ docker logs -f --tail=30 mtproto-proxy #
Docker Compose
docker-compose.yml:
version: '3.0'
services:
mtproxy:
image: telegrammessenger/proxy:latest
hostname: mtproxy
container_name: mtproxy.local
volumes:
- proxy-config:/data
network_mode: "host"
logging:
driver: syslog
options:
tag: mtproxy
restart: always
volumes:
proxy-config:
external: true
Promoted- TAG.
- c Docker Compose
$ docker-compose pull mtproxy #
$ docker-compose up -d #
$ docker-compose logs -f --tail=30 mtproxy #