Как поднять собственный proxy для Telegram | MTProxy?

2 minute read

img

Ожидаемые новости

По словам двух источников, Роскомнадзор планирует начать принимать меры по частичному ограничению работы сервиса во вторник 10 февраля. Еще один источник РБК добавил, что меры по замедлению Telegram уже принимаются. РБК направил запрос в Роскомнадзор.

Источники:

Решение: поднимаем собственный прокси (MTProxy) для Telegram

Инструкция для telemt: https://artydev.ru/posts/telemt-proxy/

За основу будем использовать официальное решение от Telegram MTProxy.

MTProto Proxy — это прокси-сервер, разработанный специально для Telegram. Он позволяет обходить блокировки и обеспечивает шифрование трафика.

Арендуем сервер, можно в РФ, можно вне РФ с Ubuntu 24, далее список команд:

Список рекомендуемых хостеров

Установка необходимых утилит:

sudo apt-get update -y; \
sudo apt install fail2ban vnstat git curl build-essential libssl-dev zlib1g-dev net-tools neovim -y

Клонируем репозиторий:

git clone https://github.com/TelegramMessenger/MTProxy; \
cd MTProxy

Сборка:

make && cd objs/bin

Генерация proxy-secret, используемый для подключения к серверам Telegram.

curl -s https://core.telegram.org/getProxySecret -o proxy-secret

Генерация proxy-multi.conf, актуальные настройки Telegram. Они могут меняться (периодически), поэтому рекомендуем обновлять их раз в день.

curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

Генерация секретного ключа, который будут использовать пользователи для подключения к вашему прокси-серверу.

head -c 16 /dev/urandom | xxd -ps

Запускаем (нужно заменить secret на свой):

./mtproto-proxy \
    -u nobody \
    -p 8888 \
    -H 443 \
    -S <secret> \
    --aes-pwd proxy-secret proxy-multi.conf \
    -M 1
  • nobody — имя пользователя
  • 443 - порт, используемый клиентами для подключения к прокси-серверу
  • 8888 - локальный порт, для получения статистики через /stats
  • secret — это значение, сгенерированный на предыдущем шаге
  • proxy-secret - файл, сгенерированный на первом этапе
  • proxy-multi.conf - файл, сгенерированный на втором этапе
  • 1 - количество рабочих процессов
  • http-stats - параметр для доступа к статистике

Далее регистрием наш прокси в Telegram_logo MTProxybot (официальный телеграм бот) и получаем из бота параметр tag.

Запуск через systemctl

Создадим файл MTProxy.service (нужно заменить параметры из текста на свои):

cat > /etc/systemd/system/MTProxy.service <<EOF
[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/root/MTProxy/objs/bin
ExecStart=/root/MTProxy/objs/bin/mtproto-proxy -u nobody -p 5555 -H 443 -S <секретный ключ> -P <значение tag из бота> --aes-pwd proxy-secret proxy-multi.conf -M 2 --http-stats
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

Активация и запуск сервиса:

systemctl daemon-reload; \
systemctl enable MTProxy.service; \
systemctl restart MTProxy.service; \
sleep 2; \
systemctl status MTProxy.service

Просмотр статистики:

curl -s http://127.0.0.1:5555/stats

Просмотр статистики (только необходимые параметры):

curl -s http://127.0.0.1:5555/stats \
  | grep -e "total_special_connections" \
         -e "total_max_special_connections" \
         -e "active_connections" \
         -e "http_queries" \
         -e "ready_targets" \
         -e "active_targets" \
  | grep -v "pending" \
  | sed 's/.*/\x1b[35m&\x1b[0m/'

Утилизация ресурсов сервера процессом mtproto-proxy

ps -C mtproto-proxy -o %cpu=,%mem= \
  | awk '{cpu+=$1; mem+=$2} END {print "CPU: " cpu "%, RAM: " mem "%"}' \
  | sed 's/.*/\x1b[36m&\x1b[0m/'

Готовые прокси

Telegram_logo Бесплатный Telegram прокси (MTProxy) - ссылка перенаправит вас в приложение Telegram.

Если у вас не подключается телеграм, вы можете добавить прокси вручную:
хост: tg.network-a1.cc
порт: 443
ключ: ddaa07cbf0cb30c5e38eefbf6838bf2499

img

Telegram_logo Бесплатный Telegram прокси (telemt) - ссылка перенаправит вас в приложение Telegram.

Если у вас не подключается телеграм, вы можете добавить прокси вручную:
хост: mt.network-a1.cc
порт: 8443
ключ: eec9a6152bbda7d86be5332bea766443f97275747562652e7275

img

Большое спасибо всем за внимание! Если вам интересны подобные рассуждения - подписывайтесь на мой канал  Telegram_logo artydev & Co.