Telegram MTPROTO Proxy — всё что мы знаем о нём

Информационная безопасность * image Сразу после событий с блокировками Telegram в Иране и России, в бета-версиях мессенджера начал появлятся новый тип Proxy, а если быть точным, новый протокол — MTProto Proxy. Этот протокол был создан командой Telegram для решения проблем обхода блокировок, но так ли он хорош?

Как сейчас?

Основный тип прокси с которым сейчас работает телеграм — socks. У него есть фатальный недостаток: Логин и пароль при подключении к прокси — передаётся в открытом виде, нет, ваш телеграм таким образом «увести» нельзя, но вот заглянуть внутрь прокси и понять, что Иван Иванов пользуется телеграмом — можно. В тех странах, которые используют DPI для анализа трафика, так и сделано. Это устройство разбирает туннель и смотрит, что же там внутри, если видит запрещенный трафик — блокируем.

Что предлагает Дуров?

MTProto Proxy — протокол семейства MTProto (на нем работает Telegram), решает сразу несколько проблем:

  1. Для подключения вместо логин+пароль, достаточно только пароля
  2. Трафик не отличается от обычного HTTPS/TLS (ну почти)
  3. Пароль не передается до сервера при подключении
  4. Трафик зашифрован
  5. Возможна работа через прокси только Telegram’a (другие приложения работать не будут)
  6. Promoted каналы

Как вы видите — набор особенностей делает данный тип прокси узкоспециальным — для Telegram, обычный трафик вы туда не сможете передавать и это, как не странно — огромный плюс.

Только Telegram

Ранее каналы (и боты) делали свои прокси и раздавали их в мир для сохранения аудитории в случае блокировки. Их прокси попадали в глобальные списки прокси и через них осуществлялись рассылки спама и другие нехорошие вещи. С новым типом прокси — вы не сможете нарушить закон, максимум что произойдет — telegram забанит ваш IP-адрес. Пример нарушения закона в случае с socks: Через ваш прокси пытались взломать банк/гос.ведомство, ваш хостер получит официальную жалобу и в самом лучшем случае просто вас заблокирует, в худшем — велкам ту суд.

image Promoted-каналы — это такой канал, на который вы автоматически будете подписаны при подключении к прокси, он будет закреплен наверху списка контактов/чатов и его нельзя удалить пока вы не отключитесь от данного прокси. Грубо говоря, telegram позволяет монетизировать proxy, если раньше вы могли взять прокси от канала X (тк он работает быстрее), но вообще его не читать а пойти читать Y, (а при этом, канал X тратит деньги на поддержку прокси в пустоту), то теперь за пользования прокси вы будете платить подписью на канал. Таким образом, можно ожидать взрывной рост таких прокси, если ранее создание прокси было больше порывом доброй воли или благотворительностью, то сейчас — чем больше пользователей на вашем прокси = тем больше подписчиков у канала –> рекламу можно продать дороже.

Трафик зашифрован

Запустив Wireshark я пошел смотреть, как же выглядит трафик при работе через прокси. А выглядит он как обычное TCP/SSL соединение (без некоторых пакетов/заголовков которые относятся к https). Другими словами, трафик может маскироватся под такие решения как Cisco Anyconnect и аналогичные решения которые используют TCP+SSL. Внутри тоннеля — «каша» из шифрованного трафика, трафик зашифрован, как можно догадатся, тем самым паролем/секретной фразой которую вы вводите при подключении. Но не только ей, конечно же, тут используются все возможности SSL/TLS.

Когда будет в продакшене?

На данный момент, MTProto Proxy доступен в стабильной версии Telegram for OS X, Telegram or Android, и в бета-версиях Telegram Desktop, iOS Telegram X. Похоже мы ждем релиза в «продакшен» данного прокси в клиентах Desktop и обычная iOS версия (не Х) сразу после этого, мы должны увидеть новый пост от команды с рассказом о том, почему это хорошо и как жить дальше.

А потестировать где?

На просторах чатов в телеграмм был найден полу-официальный прокси который прекрасно работает с новым протоколом и (похоже) запущен одним из разработчиков, собственно вот он: t.me/proxy?server=proxy.digitalresistance.dog&port=443&secret=d41d8cd98f00b204e9800998ecf8427e Но и это еще не все, энтузиасты на Github методом анализа исходников пытаются сделать свои прокси сервера (пока официального еще нет), вот (PHP) пару (C#) проектов (Rust). PS А еще в самой свежей версии библиотеки для VOIP звонков которая используется в telegram найдена поддержка режима конференций, похоже скоро будет сразу два больших анонса. UPD: MTProto proxy — в данный момент часть инфраструктуры Telegram и когда телеграм «бегает» от блокировок — он именно множит и переносит копии своего MTProto Proxy между хостерами, сами же обрабатывающие сервера никуда не переезжают. Таким образом, в скором времени, Telegram позволит часть своей инфраструктуры развернуть у себя. (Протокол «родных» прокси может отличатся от того, что телеграм в данный момент реализует у себя в клиентах под названием MTPROTO) UPD: Аналогичный пост от Анны (Vee Security) по поводу видов прокси в Telegram и про MTProto Proxy (включая разбор конкретного вида шифрования) UPD: MTProto Proxy от создателей TgVPN mtproto.tgproxy.cloud/mtproxy.html просят протестировать UPD: Самая стабильная версия сервера MTProto (на мой взгляд) — на Rust, доступна на Github github.com/dotcypress/mtproxy Самый простой вариант для запуска «своего» прокси:

sudo docker run --name 'mtproto_proxy' --restart unless-stopped -p 1984:1984 -dti dotcypress/mtproxy -s 'proxy secret'

Вместо proxy secret — стоит указать свою фразу на основе которой будет сгенерирован ключ Получить ключ:

docker logs mtproto_proxy

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста. Поможет ли новый тип прокси с монетизацией обойти блокировки? 87.74% Да 809 12.26% Нет 113 Проголосовали 922 пользователя. Воздержались 272 пользователя. Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста. Ждёте ли вы аудио конференции? 57.44% Да! Это позволит отказатся от дорогих комерческих/платных решений 533 13.36% Неплохо, но есть же тот же скайп? 124 29.2% Мне не интересны аудио конференции 271 Проголосовали 928 пользователей. Воздержались 188 пользователей. Обновлено: 22.01.2019 Полезное

Команда Telegram не остановилась перед угрожающим лицом роскомнадзора, постоянно обрубающего любые возможности «коннекта» со своей целевой аудиторией. После использования бесплатных прокси и VPN для телеграм, разработчики выкатили 1.3 релиз в котором помимо тучи других полезных функций, появилась поддержка подключения разных прокси серверов, более того появилась поддержка MTProto Proxy серверов телеграм. Сначала в этой статье мы разберем общие понятия касательно подключения для клиентов, далее углубимся в более технические аспекты.

Как подключится к MTProto proxy (Bot) в телеграмм

Команда Telegrator.ru специально для своих пользователей подняла собственный сервер с установленным MTProto протоколом. D Для подключения подойдут любые операционные системы: windows, iOS, android. Вы можете подключиться к нему абсолютно бесплатно и без какой либо рекламы кликнув на кнопку ниже:

Ранее мы писали о лучших телеграм каналах про криптовалюты

Или

Вводим данные для подключения:

Profit!

❗️ Если по кнопке не переходит, то введите название бота вручную — @tg_mtproxy_bot.

Спонсор бота — @CRYPTOSLIVA

Важное замечание. Для того что бы воспользоваться новым способом обхода блокировки от роскомнадзора, вам необходимо обновить свой телеграм до версии не позднее 1.3

Вы можете обновить телеграмм прямо сейчас:

  • Если у вас: Windows
  • Если у вас: iOS
  • Если у вас: Android

Что такое MTProto Proxy сервер

MTProto Proxy — самый передовой протокол от самих разработчиков специально предназначенного для обхода блокировок соответствующих органов. Этот способ гораздо эффективнее SOCKS5, он безопаснее, стабильнее, надежнее. Стоит заметить что по данному протоколу не получиться подключиться иным приложениям. Он заточен только под телеграм.

Вы можете заказать настройку и подключение MTProto прокси сервера у нас. Для этого напишите нам в телеграм — @GGINGER

Официальный MTProto прокси (репозитории):

Преимущества MTProto

  1. Возможна генерация до 16 ключей
  2. До 60000 подключений
  3. Встроенная система мониторинга
  4. Образ в Docker
  5. Система рекламы (promoted) каналов

Настройка MTProto (запуск на сервере)

Этот пункт подходит для владельцев каналов, и всех желающих запустить свой прокси MTproxy сервер. Для этого нам потребуется в идеале: сервер с чистым протоколом 443, установленный на него docker, прямые руки. Будем рассматривать установку на debian/ubuntu, все дальнейшие команды будут введены при подключении через ssh.

  1. Запускаем контейнер Авто-реген ключа Secret: docker run -d -p443:443 —name=mtproto-proxy —restart=always -v proxy-config:/data telegrammessenger/proxy:latest Назначение своего ключа Secret: docker run -d -p443:443 -v proxy-config:/data -e SECRET=«16-ричный ключ» telegrammessenger/proxy:latest
  2. Получаем всю информацию о созданном контейнере. Там будет содержаться ссылка для подключения, secret (ключ) и остальные данные. Вводим:
    docker logs mtproto-proxy

    В принципе на этом этапе можно закрывать ваш терминал, и подключаться к вашему MTPtoxy серверу. Но вам ведь необходима реклама вашего канала, я прав?

Реклама канала в MTProto

Как мы написали выше, в этой системе есть функция монетизации. Вам наверняка придется за сервер платить, разработчики telegram придумали как отдать вам дань от ваших подписчиков/пользователей за пользование вашим прокси сервером. При подключении к вашему прокси, они будут видеть вами установленный спонсированный закрепленный канал в топе всех каналов. Выглядеть это будет следующим образом:

Что бы таким образом закрепить свой канал у ваших пользователей прокси, необходимо:

  1. Зарегистрировать созданный вами прокси у бота @MTProxybot new proxy > отправляете ip:port > отправляете боту сгенерированный или вами назначенный secret > Получаете TAG. Высылаете его вашему контейнеру командой (возможно придется переустановить контейнер, команды для этого ниже):
    docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data -e TAG=ВАШ_TAG telegrammessenger/proxy:latest    
  2. После возвращаемся в бота, выбираем свой прокси и действуем по инструкции.

Дополнительные команды Docker’a

$ docker pull telegrammessenger/proxy $ docker stop mtproto-proxy $ docker rm mtproto-proxy $ docker run …. $ docker logs -f —tail=30 mtproto-proxy

Как отключить прокси в телеграм на windows/androin/ios

В отключении теперь вообще пропали какие лиюо преграды существовашие ранее до версии 1.3. Для отключения вам необходимо кликнуть на «щит» в левом нижнем углу телеграма после чего снять галочку напротив Use Proxy (Использовать прокси). Если у вас смартфон, то в самом приложении вы также найдете «щит» в верхнем топ-баре.

Вуаля. Теперь мы с вам научились не только подключаться к готовым прокси серверам MTProxy в телеграм. Но и создавать свой собственный сервер, к которому могут подключаться другие пользователи.

Мессенджер Telegram, разработанный Павлом Дуровым и полюбившийся жителям многих стран мира, с весны прошлого года заблокирован на территории Российской Федерации. Причиной таких действий стал отказ компании передавать приватные данные и ключи дешифрования из мессенджера российской ФСБ.

Однако еще заблаговременно команда разработчиков внедрила в программу опцию обхода блокировки путем применения прокси-серверов на протоколе Socks5. Сегодня каждый может воспользоваться утилитой, устанавливаемой на ПК и мобильных устройствах, чтобы комфортно общаться с друзьями и совершать звонки, читать новости в подписанных каналах Телеграма.

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

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

Спрятать 1) Основные методы обхода блокировок Telegram 2) Как обойти блокировку Telegram с помощью прокси-серверов 2.1) Использование MTProto Proxy 2.2) Использование Socks5 Proxy 2.3) Чем отличаются SOCKS5 и MTProto 3) Обход блокировки Telegram с помощью VPN 4) Общий вывод

Основные методы обхода блокировок Telegram

Благодаря развивающимся технологиям в сети Интернет проблема блокировки любой программы, в том числе мессенджера Телеграм решается очень быстро.

На сегодняшний день можно применять такие ключевые способы, если нужен обход блокировки телеграмм, чтобы в свободном доступе пользоваться программой:

  • через прокси сервера для телеграмм, например, MTProto Proxy и Socks5;
  • подключить VPN для скрытия IP-адреса.

Оба эти метода мы рассмотрим далее более детально.

Как обойти блокировку Telegram с помощью прокси-серверов

Как было сказано выше, можно применять два популярных прокси-сервера – это MTProto Proxy и Socks5.

Использование MTProto Proxy

Сервер MTProto Proxy является протоколом из семейства MTProto и заложен в программу самого мессенджера. Выбор в его пользу, чтобы обойти блокировку, дает пользователю массу преимуществ, потому сразу решаются такие ключевые проблемы:

  • чтобы подключиться, вам не нужно вводить логин и пароль, а достаточно просто пароль;
  • трафик аналогичен обычному HTTPS/TLS или максимально приближен к нему;
  • при подключении передача пароля серверу не осуществляется, поэтому ваш секретный код в безопасности;
  • трафик данных полностью зашифрован;
  • есть Promoted-каналы.

Однако стоит отметить, что этот прокси телеграмм работает исключительно с Telegram и для других приложений не применяется. Тем не менее, несмотря на его узкую направленность, с нашей целевой задачей он легко справляется – открывает доступ к свободному пользованию мессенджером.

Теперь пошагово рассмотрим, как происходит настройка телеграмм через прокси MTProto Proxy.

Сначала вам нужно убедиться, что вы пользуетесь последним обновлением мессенджера. Далее заходим в меню Настройки – Расширенные – Тип соединения – поставить галочку «Использовать прокси» – выбрать MTProto Proxy.

Введите такие данные:

Хост (Host) – 95.216.151.58

Порт (Port) – 443

Secret (Секрет) – b7e70329dcf3721c4239b86ad32a90b8

Можно воспользоваться вот такой кнопкой:

Еще один вариант подключения – через бот @tg_mtproxy_bot.

Если вы нажмете на «щит» в левом нижнем углу программы на ПК или на аналогичную иконку вверху чата в мобильном устройстве, то откроется список всех прокси-серверов. Тут же будут высвечиваться данные пинга – чем меньше значение, тем быстрее скорость работы приложения.

Использование Socks5 Proxy

Прокси-сервер socks5 telegram считается самым простым и быстрым способом передачи данных от пользователя к серверу без угрозы блокировки, точнее, с целью ее обхода.

В версии для ПК прокси сервера для телеграмм настройка заключается в следующем:

  1. открыть меню Настройки – Расширенные настройки;
  2. выбрать тип соединения TCP с нестандартным socks5-прокси;
  3. ввести адрес сервера и порт – лучше всего выбирать между английским, американским, немецким или шведским;
  4. поставить галочку на опции «Использовать IPv6»;
  5. нажать кнопку сохранения.

В мобильных гаджетах Android и iOS настройка очень похожа:

  1. зайти в Настройки – Хранение данных;
  2. нажать Прокси и ввести адрес сервера, номер порта, имя и пароль;
  3. если данных имени и пароля нет, это строка не заполняется;
  4. сохранить все действия.

Чем отличаются SOCKS5 и MTProto

Чем отличаются SOCKS5 и MTProto в Telegram – если сравнивать их между собой, то каждый прокси имеет свои особенности и преимущества.

Принцип работы SOCKS5 таков, как показан ниже на картинке:

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

Преимущества использования прокси socks5:

  • подключение настраивается очень быстро, потому что все параметры применяются автоматически;
  • данный протокол подходит для всех платформ и операционок, поэтому удобно и без проблем сможете применять и на ПК, и на смартфоне.

Но есть и недостатки:

  • такой прокси могут быстро вычислить и заблокировать;
  • в процессе ввода логина и пароля эти данные передаются без шифрования и есть риск доступа к ним посторонних лиц.

Если рассматривать работу прокси-сервера MTPROTO, то выглядит она следующим образом:

Протокол перенаправляет запросы от сервера программы, а все запросы по данным сохраняются на MTPROTO-сервере.

Его особенность и отличие от первой утилиты в том, что программа-клиент не запрашивает прокси, чтобы получить ответ от Телеграм-сервера и вернуть результат. Взаимодействие таково, что как будто mtproto прокси и есть сервером от Telegram.

Преимущества:

  • анализаторы не смогут вычислить протокол, так как трафик данных виден просто как случайный набор кода;
  • можно делать множество одновременных подключений.

Если выделять недостатки, то каждый пакет на MTPROTO-сервере дешифруется и снова зашифровывается, когда предстоит отправка пользователю, а это негативно влияет на рабочую скорость. Также нельзя осуществлять голосовые звонки, поскольку просто отсутствует такая техподдержка.

Обход блокировки Telegram с помощью VPN

Еще один способ, как решить вопрос с блокировкой мессенджера Телеграм – это использование сервиса VPN. С помощью такого расширения — трафик зашифровывается и пропускается через сервер другой страны, где нет ограничений. Для мобильных устройств на операционных системах Android и iOS, есть очень много приложений VPN, при этом вы можете установить как бесплатные, которые могут продавать ваши данные сторонним сервисам, так и платное, которые максимально безопасны и анонимны. Настройка очень быстрая и простая, после установки программы вы ее открываете и подключаете соединение.

В данном обзоре мы рассмотрели ключевые и эффективные способы использования мессенджера Телеграм, если он заблокирован. Бывают случаи, что вы не понимаете, почему не работает телеграмм, и одним из таких может оказаться именно блокировка.

Помните о том, что прокси-серверы не создают анонимность, а только обеспечивают подключение к мессенджеру. Если вы хотите скрыть свою личность, или надежно шифровать свои данные, тогда пользуйтесь секретными чатами или установите VPN-сервис, чтобы скрыть видимость IP-адреса и не зависеть ни от кого.

Planet FreeVPN для [platform]

по рейтингу VPNBase

Когда в России было принято решение блокировать мессенджер Павла Дурова Телеграм, многие начали искать пути обхода запретов. На тот момент использовали подключение через ВПН и прокси. Сначала присоединялись по протоколу socks4, потом socks5.

Основной недостаток proxy Socks в том, что логин и пароль передается в открытом виде, что создает возможность определить пользователя мессенджера. В некоторых странах для анализа потока запросов применяется DPI, проверяющий тоннель трафика, выделяющий запрещенный канал и блокирующий его.

Тогда командой разработчиков Телеграм был разработан и внедрен собственный прокси.

MTProto

Содержание

Что такое MTProto

Это специфический прокси-сервер с криптографическим протоколом, созданным командой Павла Дурова для обхода блокировок при помощи шифрования переписки пользователей.

Более того, MTProto telegram позволяет монетизировать его применение.

На заметку. В социальной сети «В контакте» (vk.com) создано сообщество MTProto Proxies List, основная цель которого – обеспечение бесперебойной работы мессенджера Телеграм в России и распространение прокси нового вида MTProto.

Сетевой протокол MTProxy

MTProxy создан для доступа к программному интерфейсу приложения API от мессенджера, установленного на мобильном устройстве.

MTProto Proxy – это протокол, построенный по абсолютно новому принципу. Все сообщения, файлы, которые через него переправляются, проходят криптографическое шифрование.

Прокси для Телеграма mtproto не пропускает через себя внешний трафик, применяется исключительно внутри и для Telegram.

Любой пользователь может подключиться к MTProto proxy (Bot), просто нажав на ссылку.

MTProxy прокси в Telegram

Для подключения не требуется (как в SOCKS) логина и пароля, достаточно ввести один пароль. Трафик кодируется с помощью секретного ключа и выглядит как обычный HTTPS или TLS.

Работает этот протокол для версий всех мобильных гаджетов и desktop Телеграм: Windows, iOS, Android.

Поток делится на 3 малозависимых друг от друга уровня:

  1. Запросы к API. Это высокоуровневая часть, определяющая преобразование сообщений в двоичный код.
  2. Авторизационный или криптографический эшелон, в котором назначается способ шифровки данных.
  3. Транспортный. Устанавливает принципы передачи сообщений от клиента к серверу и обратно. Обычно осуществляется поверх другого существующего протокола – tcp, udp, https, http.

Преимущества

MTProto Proxy telegram – это передовой протокол от команды Телеграм и работает только c Telegram.

До выпуска фирменного прокси пользователи создавали свои сервисы для того, чтобы аудитория имела доступ к их каналам, если произошла блокировка. Разработанные прокси попадали в общий список и их можно было использовать для противозаконных действий. С выходом MTPproto proxy Telegram нарушение закона – нереально. Самое страшное, что может произойти – Телеграм забанит IP-адрес того, кто не соблюдал правила.

Среди других достоинств прокси:

  • криптографическое шифрование при обмене информацией между клиентом и сервером;
  • владелец сервера не может узнать логин, пароль и другую метаинформацию;
  • сложность распознавания передаваемой информации, т. к. для анализаторов обмен данными между сервером и клиентом выглядит как хаотичный набор нолей и единиц, передаваемых в обе стороны;
  • MTProto proxy может генерировать до 16 криптографических ключей;
  • обеспечивает одновременно до 60 тыс. подключений;
  • создает образ в Docker (позволяет собрать приложение со всеми данными, зависимостями в контейнер и перенести его на Linux);
  • дает возможность разместить рекламу (promoted каналы).

Примеры

Начнем с процессов, происходящих в МТРпрокси от Телеграм в момент регистрации пользователя:

  1. Для того чтобы войти во вновь установленное приложение, новичок должен в ручном режиме ввести мобильный телефонный номер, после чего приходит код подтверждения, который требуется занести в поле приложения.
  2. После введения полученного пароля запускается авторизация:
    • От нового клиента через сокет на сервер отправляется 128-битный запрос.
    • Получив сообщение, сервер направляет клиенту цифровую подпись публичного ключа, контрольное число.
    • Устройство клиента раскладывает контрольное число на два простых (по установленной схеме) для контроля отправителя. Затем проверяет по базе приложения публичный ключ, выбирает подходящий для пришедшей от сервера подписи. После чего по встроенной формуле шифрует с помощью публичного ключа и возвращает на сервер.
    • Сервер отправляет ответ с вре́менным ключом, используя алгоритм Диффи – Хеллмана.
    • Приложение-клиент выбирает закрытый ключ, вычисляет открытый и общие ключи, после получения результата отправляет итоговый ключ на сервер в зашифрованном виде.

При этой переписке применяются 64-, 128-, 256-битные случайные фразы для кодирования сообщений.

Описание процессов создания секретного чата двух пользователей:

  1. Первый пользователь (ПП) обращается на сервер за получением параметров по протоколу Диффи – Хеллмана для генерации секретного ключа, вычисляет открытый ключ и отправляет его второму пользователю (ВП).
  2. ВП получает запрос на создание секретного чата на одном из авторизованных Телеграмом устройств, подтверждает согласие на общение, подсоединяется к серверу и создает свой закрытый ключ, вычисляет открытый ключ и отправляет его ПП.
  3. ПП и ВП генерируют общий открытый ключ на основе полученных друг от друга закрытых и открытых ключей. На этом обмен кодов между пользователями заканчивается. Начинается общение.
MTProto-прокси

Доступность для версий Telegram

В 2020 году MTPпрокси доступен для всех пользователей Телеграм. Важно убедиться, что на мобильном устройстве или компьютере Telegram обновлен до последней версии. Если нет, то необходимо обновить мессенджер до свежего варианта, в противном случае настроить proxy не удастся.

Так называются ленты в Телеграм, автоматически включаемые в подписку при бесплатном присоединении к mtproxy telegram.

Эти каналы закрепляются в топе на первой позиции и не удаляются до отключения от прокси.

Promoted-каналы – неплохой способ заработка на proxy. Если до введения мтпрокси от Телеграм можно было подключить proxy от одного канала, а изучать ленту совсем другого, то, производя настройку MTProto, пользователь оформляет подписку на канал спонсора прокси.

Получается, что чем больше клиентов Телеграм применяет созданный proxy, тем выше число читателей канала. Соответственно реклама в ленте будет стоить дороже.

Для того чтобы показать канал при подключении прокси, proxy необходимо зарегистрировать. Проще всего это сделать через бота.

Например, @MTProxybot следует послать пару IP, порт и ключ. На запрос bot пришлет tag, который надо отправить при запуске Docker.

Затем в боте выбираем свой прокси, Set promotion и отправляем канал, который должен отображаться при использовании proxy.

Настройка MTProto

Для наладки собственного прокси требуется хороший сервер со свободным 443 портом и соединение с сетью.

Рассмотрим, как самостоятельно поднимать proxy на системе Linux версии debian/ubuntu.

Сначала производим установку и настройку Docker.

Запускаем программное обеспечение. При первом включении proxy создается секретный ключ, сохраняющийся в Docker автоматически.

Чтобы запустить прокси, вводится стартовая команда.

У Докера есть журнал, в котором находятся необходимые ссылки, секретный ключ. Журнал тоже легко запускается стандартной командой.

MTProto позволяет самостоятельно сгенерить секретный ключ, а при подключении разных групп пользователей допускается установить до 16 ключей, отдельный на каждую группу. Для этого используется переменная SECRET.

Также для создания личного ключа команду можно набрать прямо в убунту.

Обход блокировки Telegram с помощью прокси

Обновление прокси-сервера

Команда разработчиков считает, что изменений ожидается минимальное количество. Тем не менее рекомендуется проверять обновления каждый день, набирая специальные команды по обновлению образа, останавливая или удаляя контейнеры, создавая их из новых образов и запуская снова.

MTProto является посредником между сервером и клиентом.

Для того чтобы блокировки не мешали работе Телеграма, рекомендуется производить установку прокси на сервер там, где отсутствует запрет доступа к необходимым данным.

MTProxy от команды Телеграма позволяет не только подключать более 60 тыс. пользователей, обеспечить бесперебойную работу мессенджера, но и зарабатывать.

image

„Я унаследовал эту неразбериху, начиная с бессовестных Zello; LinkedIn и кончая «всеми прочими» на платформе Telegram в моём мире. А потом икнув, чиновник торопливо и громко добавил: но я наведу (здесь в IT) порядок“ (…).

Дуров, справедливо полагает, что это авторитарные государства должны его, шифропанка, бояться, а роскомнадзоры и золотые щиты со своим DPI-фильтрами его не очень-то беспокоят» (Политическая техника) Моя техническая политика — проще, я могу тут расписать свои размышления по беспечным блокировкам в рунете, но полагаю, что прогрессивные граждане Modern Russian и юзеры Хабра ощутили на своей шкуре непрофессионализм действующей власти, поэтому ограничусь единственной фразой: наша техническая политика — «Цифровое Сопротивление». «обеспечение родных и близких устойчивым каналом связи».

Развертывание MTProto proxy Telegram

  • Технический уровень сложности — «несложно», если, например, следовать данной шпаргалке.
  • Уровень надежности — «выше среднего»: docker-образ работает стабильно, перезапускать его не требуется каждый день, как писали разработчики в своей официальной документации Telegram, но какие-то уязвимости контейнер наверняка содержит.
  • Уровень сопротивления/тревоги — 10 игиловцев плетут свои заговоры «родня пользуется», бан не прилетал от РКН ни разу за все время (с весны).
  • Уровень доверия — «public baby distrust», проблема на стороне клиентов (некоторые друзья подозрительно относятся к моему MtprotoProxy).
  • Уровень тестостерона — «выше не стал».
  • Финансовые затраты — «0₽».
  • Финансовое вознаграждение — «от гражданина Дурова не зависит». Поощрение — возможность навязывание рекламы.

Поднимать наш TelegramProxy будем на «бесплатных/персональных» мощностях Amazon-ec2: t2.micro. Я использовал эту машину. Окей, развернули свой бесплатный сервер, переходим на официальный сайт dockerhub и скачиваем docker-контейнер. Не нужно искать какой-то образ, файл, или волшебную кнопку — «их нет», вся магия делается в CLI:

$ docker pull telegrammessenger/proxy #образ скачан.

Но перед «этим» установите docker для CLI:

sudo apt-get install docker.io docker

Далее, в официальной документации MtprotoProxyTelegram нам предлагают сделать примерно следующее, делаем:

$ sudo su && docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest #запускаем наш контейнер «mtproto-proxy». 

После этой команды в выводе терминала появится HEX-строка, но она нам не интересна. Пишем в CLI:

$ docker logs mtproto-proxy

И получаем нужные данные: image В выводе данного лога нам показывают (замазал): А) наш ip сервера (внешний ip сервера); Б) и случайный секрет — случайная строка в HEX. Перед тем, как зарегать наш MtproProxy, нужно настроить главный файрволл над iptables (как бы вы не перенаправляли трафик на данной VPC, он будет непослушный, так как самый главный файрволл в Amazon-EC2 находится в web-интерфейсе и имеет более высокий приоритет над iptables). Заходим в «консоль Amazon-EC2» в Security Group и открываем входящий 443 порт (логичная маскировка трафика на первое время). image Берём из лога наши данные «ip и секрет» и идем в мессенджер Telegram, находим официальный MTProxy Admin Bot (@MTProxybot) и регистрируем наш MtproProxy: запускаем команду [/newproxy] и вводим [наш_ip:443], а потом и наш [секрет/HEX]. Если накосячите при вводе данных, бот будет сердиться и слать вас на… Если две строчки заполните без ошибок, то получите одобрение и рабочую ссылку, на ваш действующий MtprotoProxyTelegram, которым вы можете поделиться с кем угодно. image Также через данного бота можно добавить Ваш спонсоркий канал (но не чат), где Вы будете ваши взгляды навязывать пользователям, которые подключились к вашему серверу, а можно не «спамить», и не беспокоить своих будучи-потенциальных клиентов, не показывая канал в закрепленном списке мессенджера. Еще пару слов о боте, там можно запрашивать статистику, но «тоже бублик». Видимо «статистика» доступна, когда за тобой Махачкала «толпа нахлебников».

Мониторинг

А сколько мы можем подключить юзеров на наш сервер? И вообще, кто/что там? Чего? И сколько? Смотрим, что там по официальной документации… Ага, вот, сделать так:

$ curl http://localhost:2398/stats или вот так $ docker exec mtproto-proxy curl http://localhost:2398/stats # и нам выдадут статистику прямо в CLI.

«Держи карман шире» По предложенным командам мы всегда будем получать подобную ошибку: «curl: (7) Failed to connect to localhost port 2398: В соединении отказано» Прокси наш будет работать. Но! Бублик, а не статистику мы получим. Можно заняться делами для красноглазиков: проверить

$ netstat -an | grep 2398 и...

Сначала я подумал, что это очередной косяк за разработчиками Telegram (и я до сих пор так думаю), потом нашёл временное неплохое решение: полирнуть напильником Docker-Контейнер. Позже на глаза попалась инфа: о государственных плясках Роскомнадзора вокруг «статистики». Наш прокси прозападный, ни каких проблем/блокировок за весенние и прохладные летние деньки я не встретил, на творческую задачку это тоже не тянуло, поэтому потерей темпа не занимался и префикс dd* к ключу не добавлял. Мануал «получение статистики/мониторинг» по официальной инструкции MtprotoProxyTelegram — нерабочий/устаревший, придется чинить docker-образ. Чиним. Контейнер у нас всё еще запущен:

$ docker stop mtproto-proxy #останавливаем наш запущенный docker-контейнер и запускаем новый образ с пропущенным флагом статистики 
$ docker run --net=host --name=mtproto-proxy2 -d -p443:443 -v proxy-config:/data -e SECRET=ваш_предыдущий_секрет_hex telegrammessenger/proxy:latest 

Проверим статистику:

$ curl http://localhost:2398/stats

curl: (7) Failed to connect to 0.0.0.0 port 2398: В соединении отказано Статистика всё еще недоступна .!.. Узнаем идентификатор docker-контейнера:

$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f423c209cfdc telegrammessenger/proxy:latest “/bin/sh -c ‘/bin/ba…” About an hour ago Up About a minute 0.0.0.0:443->443/tcp mtproto-proxy2 Идём со своим уставом внутрь docker-контейнера:

$ sudo docker exec -it f423c209cfdc /bin/bash  $ apt-get update $ apt-get install nano $ nano -$ run.sh 

И в самой последней строке скрипта «run.sh» добавляем пропущенный флаг:

«–http-stats» «exec /usr/local/bin/mtproto-proxy -p 2398 -H 443 -M “$WORKERS” -C 60000 –aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u root $CONFIG –allow-skip-d h –nat-info “$INTERNAL_IP:$IP” $SECRET_CMD $TAG_CMD»

Добавляете “–http-stats”, что- то вроде этого должно получиться:

«exec /usr/local/bin/mtproto-proxy -p 2398 --http-stats -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u root $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD» 

Ctrl+o/Ctrl+x/Ctrl+d (сохранить/выход из nano/выход из контейнера). Перезапускаем наш docker-контейнер:

$ docker restart mtproto-proxy2

Всё, теперь по команде:

$ curl http://localhost:2398/stats #получаем объемную статистику

image В статистике много «мусора» (на скрине 1/3 её часть), создаём alias:

$ echo "alias telega='curl localhost:2398/stats | grep -e total_special -e load_average_total'" >> .bashrc && bash

Получаем то, ради чего полировали docker-контейнер: кол-во подключений и нагрузку:

$ telega

image Docker-контейнер работает, статистика крутится.

Затраченные ресурсы

Как бы ты не был крут Стюарт Редман даже ты оставляешь след от го.на на своих трусах. Работающий Docker-образ оставляет немаленький след. Расписывать преимущества и недостатки docker-образов не имеет смысла, docker-контейнер — это мини-виртуальная машина, потребляющая ресурсы менее, чем «реальная» виртуальная машина, например VirtualBox, но потребляющая. 1) Запущен со статистикой docker-образ или без неё, два клиента резвятся или десять — ресурсы утилизируются ~одинаково: 75% от всей производительности CPU t2.micro. 2) Смотрим мониторинг VPC-сервера: image Из графика утилизации ресурсов на VPC видим, что docker-контейнер потребляет постоянно ~7,5% от общей макс. производительности CPU и 28 мая был остановлен мною намеренно/временно (Примечание — на сервере так же крутятся OpenVPN & pptp). Почему 10% постоянной загрузки CPU — это предел для данного сервера? Потому что есть ограничения со стороны Amazon EC2 и исчисляются они в кредитах: image 1 кредит CPU = 1 ЦП, работающему со 100% загрузкой в течение одной минуты, а у нас кредитов 6 (то есть в пиках 100%-я утилизация CPU возможна в течении 6 минут, а дальше мощность CPU снизится). Другие комбинации: например, 1 кредит CPU = 1 ЦП, работающему с 50%-й нагрузкой в течение двух минут (то есть мы можем исполльзовать CPU с 50%-й нагрузкой в течении 12 минут), или, пример, постоянной 10%-й нагрузкой CPU в течение всего времени и д.п

Выводы

  • Мы частичка «Цифрового Сопротивления». Обеспечили своих «пап и мам» надежным каналом связи.
  • Если на сервере у вас будет развернут MtprotoProxyTelegram и OpenVPN, но не более, задержек/пингов/сбоев не будет, но если вы постоянно экспериментируете со своим t2/micro, то ждите тормозов по связи.
  • Мой заокеанский пинг ~100-250мс, задержек в речевой связи не ощущается.
  • Финансовые затраты на все «это» (в том числе и ресурсы VPC) = 0₽.

Перепечатка своей статьи.

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий