Neuer MTProto-Proxy-Server von Telegram

Ein Proxyserver ist ein Vermittler zwischen einem Client und einem Server. Um EinschrÀnkungen zu umgehen, sollte ein Proxyserver installiert werden, bei dem der Zugriff auf die erforderlichen Informationen nicht eingeschrÀnkt ist, wÀhrend zwischen dem Client und dem Proxyserver keine EinschrÀnkungen bestehen sollten.

Bild

Aktualisierte Proxy-UnterstĂŒtzung fĂŒr Telegramm-Clients


  • Neuer MTProto-Proxy. Funktioniert mit dem nativen Telegrammprotokoll MTProto
  • GitHub Open Source Server
  • Docker Image auf DockerHub
  • In mobilen Clients wurde es möglich, mehrere Proxys jedes Typs hinzuzufĂŒgen. Der Benutzer kann die am besten geeignete auswĂ€hlen

Bild

MTProto-Proxy


  • MTProto-Proxy funktioniert nur mit Telegramm
  • Der Client und der Server haben keine offene Informationsaustauschphase
  • Bei der Implementierung des MTProto-Proxy-Servers von Telegram haben der Proxy-Server und sein EigentĂŒmer keinen direkten Zugriff auf die Metainformationen des MTProxy-Protokolls (z. B. Anmeldungen).
  • Bei allen Arten von Filtern und Analysatoren sieht der Datenaustausch mit dem MTProto-Proxy-Server wie ein unstrukturierter binĂ€rer bidirektionaler Datenstrom zwischen Client und Server aus. Dies macht es schwierig, die Protokollerkennung einzuschrĂ€nken.

Schnellstart


Um Ihren eigenen MTProto-Proxyserver zu starten, ist nur ein Computer mit installiertem Docker und Netzwerkzugriff erforderlich. An Port 443 sollte sich nichts befinden (Nginx, Apache). Beim ersten Start des Proxyservers wird ein geheimer SchlĂŒssel erstellt, an den man sich erinnert. AusfĂŒhren mit einem Befehl:

$ 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- , -. , .

image

-


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    #   

Source: https://habr.com/ru/post/de412759/


All Articles