Skip to content

Instantly share code, notes, and snippets.

@milovtim
Created February 20, 2026 08:44
Show Gist options
  • Select an option

  • Save milovtim/fbf76683aa9bd20d8ad40dd7bf556f31 to your computer and use it in GitHub Desktop.

Select an option

Save milovtim/fbf76683aa9bd20d8ad40dd7bf556f31 to your computer and use it in GitHub Desktop.
Posted on habr.com/ru/articles/994934/. Docker image https://hub.docker.com/r/nineseconds/mtg/#version-2

Gen secret that binds to some site

In this example it's ya.ru. Got hash from console for compose tg://* link later

docker run --rm nineseconds/mtg:2 generate-secret --hex ya.ru

Script runs docker image with params

SEC env have to be set up before like so:
SEC="..." run-docker.sh

#!/bin/bash
CONTAINER_NAME="mtproto-proxy"
SECRET="${SEC}"
PORT="443"

docker stop ${CONTAINER_NAME} >/dev/null 2>&1
docker rm ${CONTAINER_NAME} >/dev/null 2>&1

docker run -d \
  --name ${CONTAINER_NAME} \
  --restart unless-stopped \
  -p ${PORT}:${PORT} \
  nineseconds/mtg:2 \
  simple-run -n 1.1.1.1 -i prefer-ipv4 0.0.0.0:${PORT} ${SECRET}

Script to get statistics

#!/bin/bash
echo "MTProxy Statistics"
docker exec mtproto-proxy ss -tn 2>/dev/null | grep ":443" | wc -l | xargs echo "Active connections:"
docker logs mtproto-proxy --tail 5 2>&1

Link to connect

tg://proxy?server=${IP_ADDR}&port=443&secret=${SECRET}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment