Telegram представил новый MTProto-прокси сервер: улучшения и возможности
- Telegram представил новый MTProto-прокси сервер: улучшения и возможности
- Связанные вопросы и ответы
- Чем отличается новый MTProto-прокси сервер от Telegram от предыдущих версий
- Какие преимущества имеет использование MTProto-прокси сервера для обхода блокировок
- Как настроить новый сервер для улучшения скорости и безопасности соединения
- Поддерживает ли новый прокси сервер шифрование данных передачи
- Какие возможности предоставляет пользовании MTProto-прокси сервером от Telegram для пользователей
- Какие технические особенности у нового MTProto-прокси сервера
- Какие риски существуют при использовании прокси серверов для доступа в интернет
- В чем отличие MTProto-прокси сервера от обычных прокси серверов
- Можно ли использовать MTProto-прокси сервер для обхода цензуры в интернете
Telegram представил новый MTProto-прокси сервер: улучшения и возможности
MTProto Proxy или MTProxy — это сетевой протокол семейства MTProto нового поколения, разработанный командой Telegram . Трафик шифруется по криптографическому протоколу MTProto , на основе которого шифруются все данные в инфраструктуре Telegram .
Данный протокол используется только внутри Telegram и трафик извне по нему не проходит. Для подключения вместо логина и пароля, как в SOCKS , достаточно только пароля. Трафик зашифрован секретным ключом и почти не отличается от обычного HTTPS или TLS .
Для подключения к MTProxy достаточно кликнуть по ссылке с ним. Работает на всех десктопных и мобильных версиях Telegram .
Значимость предмета статьи поставлена под сомнение. |
Связанные вопросы и ответы:
1. Чем отличается новый MTProto-прокси сервер от telegram от старого
Новый MTProto-прокси сервер от telegram отличается от старого улучшенной производительностью, увеличенной безопасностью и более удобной настройкой. Кроме того, новый прокси сервер поддерживает более широкий спектр функций, что делает его более универсальным и удобным в использовании.
2. Какие основные преимущества предлагает новый MTProto-прокси сервер от telegram
Основные преимущества нового MTProto-прокси сервера от telegram включают в себя повышенную скорость соединения, увеличенную защиту данных пользователей, возможность обхода блокировок провайдеров и удобный интерфейс для настройки параметров работы сервера.
3. Как можно настроить новый MTProto-прокси сервер от telegram
Для настройки нового MTProto-прокси сервера от telegram необходимо сначала скачать специальное приложение, затем ввести параметры прокси сервера (IP адрес, порт, ключи шифрования) и сохранить настройки. После этого можно подключиться к серверу и начать пользоваться улучшенной функциональностью.
4. Какие меры безопасности применяются при использовании нового MTProto-прокси сервера от telegram
При использовании нового MTProto-прокси сервера от telegram применяются современные методы шифрования данных, автоматические системы мониторинга и блокировки подозрительного трафика, а также механизмы защиты от DDoS атак. Это обеспечивает высокий уровень безопасности для пользователей.
5. Какие возможности обхода блокировок предоставляет новый MTProto-прокси сервер от telegram
Новый MTProto-прокси сервер от telegram предоставляет пользователю возможность обойти блокировки провайдеров и доступ к заблокированным ресурсам. При этом сервер маскирует трафик пользователя, делая его невидимым для фильтров и блокировок.
6. Какие улучшенные функции доступны пользователю при использовании нового MTProto-прокси сервера от telegram
При использовании нового MTProto-прокси сервера от telegram пользователю доступны улучшенные функции, такие как быстрая передача данных, автоматическое обновление параметров соединения, возможность настройки маршрутизации трафика и управление шифрованием. Это делает работу с сервером более удобной и эффективной.
Чем отличается новый MTProto-прокси сервер от Telegram от предыдущих версий
Как уже было сказано выше, команда Telegram прикладывает много усилий, чтобы обойти государственные блокировки, но это не всегда работает. Временные сервера быстро блокируются Роскомнадзором и мы снова теряем доступ к мессенджеру.
Уххх, ну теперь-то террористы точно не пройдут!Дальнейшая борьба с блокировками отдаётся на откуп пользователям. Telegram предоставляет целых два способа подключения через прокси в своих приложениях. Оба способа не предполагают раскрытия ваших переписок и прочих данных держателям прокси-серверов, так как трафик Telegram изначально зашифрован и передаётся через промежуточные звенья в нечитаемом виде.
SOCKS5-прокси
Очень банальный, но действенный способ. Если сможете осилить технический английский, почитайте вот этот RFC-документ .
Клиент Telegram подключается к заданному вами SOCKS5-серверу и уже через него устанавливает соединение с Telegram-серверами. Так как SOCKS5-сервер находится вне страны, которая ввела блокировки, соединения между ним и Telegram устанавливаются успешно.
Простая лазейка будет работать до тех пор, пока сам прокси-сервер не будет отслежен и заблокирован.
Минутка рекламы: я, кстати, работаю в Vee Security и у нас есть бесплатный SOCKS5-прокси для Telegram . Скоро и ещё кое-что интересное будет, следите за основным сайтом и каналом .
Плюсы SOCKS5-прокси:
- Очень быстро и очень просто.
- Всем известный протокол, серверные реализации которого существуют под все платформы и ОС.
Минусы SOCKS5-прокси:
- Протокол очень легко детектируется с помощью DPI, государство может легко в принципе запретить использование SOCKS5 и заблокировать его.
- Логин и пароль для авторизации передаются в открытом виде. Никогда не используйте для авторизации в SOCKS5 пароли, которые используете где-либо ещё.
- Если ваше Telegram-приложение получало с помощью ранее описанных методов IP-адреса временных серверов, то при включении SOCKS5-прокси, приложение будет пытаться подключаться именно туда. Так как владельцы прокси, специализирующихся на Telegram, обычно блокируют соединения со всеми адресами, кроме основных подсетей Telegram, у пользователя могут иногда возникнуть проблемы с подключением.
MTPROTO-прокси
Наконец-то мы подошли к тому, чего вы так долго ждали.
Начнём с того, что любой MTPROTO-прокси — самый что ни на есть реверс -прокси. Это значит, что в отличие от SOCKS5, клиент не просит прокси достучаться до какого-то Telegram-сервера. Клиент общается с MTPROTO-прокси так, будто это уже Telegram-сервер.
Официальной документации по MTPROTO-прокси нет до сих пор, хотя в клиентах функциональность реализована давно. Некоторые умельцы написали свои реализации серверов, изучив исходный код клиентов. Вот, например, одна из них (C#) .
MTPROTO-прокси-сервер просто принимает пакеты от клиента и отправляет Telegram-серверу. Обманула, не так просто. Давайте разберёмся.
Во-первых, клиент общается с MTPROTO-прокси только с обфускацией obfuscated2.
Во-вторых, obfuscated2 здесь используется чуть модифицированный. Перед зашифрованной частью всё так же открыто передаются ключ и IV, только вот шифруется сам пакет не этим ключом, а sha256(key+secret). Secret — это тот самый 16-байтовый параметр, который вы заполняете при подключении к MTPROTO-прокси.
Secret нигде не передаётся в процессе связи. Его использует клиент для шифрования пакета и MTPROTO-прокси-сервер для расшифрования.
MTPROTO-прокси-сервер получает от вас пакет, деобфусцирует его ключом sha256(key+secret), затем снова обфусцирует , но уже используя обычный obfuscated2 без дополнительных параметров.
Таким образом получается, что сторонний человек никак не может деобфусцировать и классифицировать трафик между клиентом и MTPROTO-прокси-сервером.
Какие преимущества имеет использование MTProto-прокси сервера для обхода блокировок
Здравствуй, дорогой друг! Сейчас я расскажу небольшую историю о том, как я выбирал vps , для чего он мне понадобился и при чем тут Иран.
В компании, где я работаю, сотрудники привыкли использовать для общения telegram. Я не буду расписывать его преимущества, многие и так знают. Но наши "доблестные" чиновники решили его запретить, поскольку по старой чиновничьей поговорке привыкли бороться со вторниками, если кто-то во вторник подскользнулся и сломал ногу.
Ну и пусть! Я же в свою очередь решил что мои коллеги не должны испытывать трудности в работе "по вторникам" и решил поднять proxy. Именно для этого мне и понадобился vps.
Благо telegram разработал технологию MTproto-proxy , которая позволяет ограничить использование proxy только для telegram и не переживать за безопасность данных.
Забегая вперед скажу, что с поставленной задачей я справился и даже более того, готов поделиться настройками для подключения этого proxy с вами ссылка .
Пока технология Mtproto-proxy не была готова я, конечно же, решил использовать SOCKS5-proxy. Но первым делом мне нужно было определиться с хостингом. Довольно быстро я наткнулся на hostsailor.com и без колебаний приобрел VPS за два бакса. Буквально за вечер настроил сам сервер и dante proxy и уже утром следующего дня весь мой департаментсиделобщался в telegram через этот прокси, а еще через день и добрая половина компании. Но шли дни, telegram обновлялся и одним прекрасным утром на github появились исходники mtproto-proxy.
Тогда я решил, что не стоит жадничать, ведь используя mtproto я могу поделиться им со всеми страждущими! Ах,как же я ошибался! После того, как настройки подключения моего прокси попали к Иранцам, весь выделенный моему серверу трафик (а это пол терабайта!) был выкачан буквально за пару часов. Уж не знаю, что они там делают в telegram, смешные ли картинки смотрят или
Пришлось искать хостинг, который предоставляет безлимитный трафик и таким оказался itldc.com, но на этом проблемы не закончились. При наплыве иранцев пинги возрастали до тысячи и больше, поэтому пришлось настроить свой маленький firewall и лишить их возможности его использовать. Да простят меня собратья по несчастью.
Ну и о себе. Работаю я скромным инженером в энергетической отрасли. Если Этот пост вам зайдёт - напишу еще. Также я завел уютный канал , где буду писать интересные случаи с работы и не только. И надеюсь совсем скоро заработает блог по адресу protg.xyz .
Спасибо РосКомНадзору за новое хобби!
Как настроить новый сервер для улучшения скорости и безопасности соединения
Оптимизация работы сайтов на сервере
Чтобы web-сайты на VPS/VDS и выделенных серверах работали максимально производительно, нужно:
- заказать у провайдера мощную аппаратную конфигурацию сервера;
- оптимально настроить на сервере программное обеспечение.
Схема работы web-сайта
Web-сайты работают по следующей схеме:
- HTTP-запросы пользователей принимает и обрабатывает web-сервер Apache ;
- скрипты сайта обрабатываются интерпретатором языка программирования PHP ;
- данные сайта сохраняются в базу данных и при необходимости запрашиваются из нее.
Каждый из этапов данной схемы можно оптимизировать для повышения быстродействия работы сайтов.
Ускорение работы web-сервера
Nginx
На серверах Linux сайты обслуживаются web-сервером Apache , но с точки зрения производительности, это не самый оптимальный вариант.
Для ускорения работы Apache мы рекомендуем установить вместе с ним высокопроизводительный web-сервер Nginx. Тогда они будут работать одновременно, и каждый будет выполнять свою роль. Backend-сервер Apache будет работать с запросами, которые поступили из форм на сайте (например, из корзины товаров). Frontend-сервер Nginx - отвечать за отдачу статического контента, видимого пользователю в браузере (HTML, CSS, JavaScript). Так web-серверы распределяют между собой нагрузку, что ускоряет работу сайта.
Преимущества и недостатки Nginx
Преимущества :
- возможность одновременно обслуживать сразу очень большое количество HTTP-запросов (до нескольких десятков тысяч);
- быстрая работа с файловой системой;
- поддержка кэширования статических файлов;
- возможность работать в связке с Apache, давать возможность пользоваться его функционалом.
Недостатки :
- не обрабатывает команды из файлов .htaccess , важных для работы большинства CMS ( Wordpress , Drupal, Joomla и т.д.);
- отсутствует модуль языка PHP, поэтому для обработки PHP-скриптов требуется подключать дополнительные сервисы (FastCGI или PHP-FPM).
Установка Nginx
Nginx распространяется в виде пакетов для всех популярных версий Linux.
Для Centos Nginx устанавливается командой:
yum install nginx
Для Ubuntu/Debian команда установки выглядит так:
apt install nginx
Пример: установка Nginx на сервер с Centos
Чтобы запустить Nginx на Linux, используйте команду:
systemctl start nginx
Для перезапуска web-сервера с новой конфигурацией:
systemctl restart nginx
Конфигурация Nginx
Конфигурационный файл Nginx на Linux-серверах традиционно находится в папке /etc/nginx .
Основной конфигурационный файл - это nginx.conf .
В папках sites_enabled или vhosts расположены файлы с описанием конфигурации для отдельных web-сайтов.
Пример основного конфигурационного файла Nginx
Пример конфигурационного файла Nginx для конкретного сайта
В данном примере Nginx настроен на работу в связке с web-сервером Apache. Сам Nginx обслуживает статические файлы (jpeg, png, css и т.д.), а все остальные запросы - с помощью конфигурационной директивы proxy_pass отправляет на Apache.
Так вы используете лучшие свойства и Nginx (скорость обработки запросов и статических файлов), и Apache (обработка скриптов PHP и .htaccess).
Nginx и PHP-FPM
Если вам не нужны уникальные функции Apache, например, поддержка файлов .htaccess, то оптимальным выбором для обработки PHP-скриптов будет вариант PHP-FPM.
Этот вариант PHP работает как отдельная сетевая служба на сервере, которая обслуживает запросы от Nginx на обработку PHP-скриптов.
Поддерживает ли новый прокси сервер шифрование данных передачи
Вопрос неоднозначный. Данные технологии предоставляют схожие возможности по анонимизации пользователя в сети, но имеют ряд различий.
Во-первых, они работают на разных уровнях модели OSI — это существенное различие между proxy-сервером и VPN.
Популярные протоколы VPN, такие как PPTP, L2TPv3 и IPsec, работают на уровне 3 (сетевой уровень). Конечно, VPN использует уровень 4 для установления связи. Например, PPTP использует TCP (уровень 4), а L2TP и IPsec используют TCP и UDP (уровень 4) для создания туннеля. Но, как только туннель VPN создан, его протоколы работают так же, как сетевые интерфейсы. Работа на L3 означает, что VPN принимает весь ваш трафик (DNS, HTTP, P2P, VoIP и т.д.), независимо от номера порта или приложения, и шифрует его. Прокси же работает на 5-7 уровне.
Во-вторых, в их основе лежат разные технологии, обеспечивающие безопасность соединения .
Уровень конфиденциальности в VPN зависит от криптографической мощности механизма шифрования. Существуют различные алгоритмы шифрования — 3DES, AES и RSA. Они определяют, как данные скрываются в сообщении. Эти механизмы используют набор ключей и шифров (128 или 256 бит) для сокрытия информации и находят применение в различных протоколах безопасности. Примерами протоколов шифрования VPN являются PPTP, L2TP, SSTP, IKEv2, OpenVPN, IPSec, WireGuard и другие.
Прокси-серверы, с другой стороны, не предназначены для шифрования данных. По своей концепции прокси-серверы маскируют ваш IP-адрес своим, но не шифруют данные. Для компенсации отсутствия шифрования можно использовать прокси-серверы с SSL. У прокси-серверов нет накладных расходов на шифрование, поэтому они обычно быстрее VPN. Хотя серфинг интернета с VPN едва ли повлияет на ваш пользовательский опыт. Задержки касаются трафика с самой высокой нагрузкой, такого как потоковое
Наконец, отличается стоимость реализации VPN и прокси. Найти дешевые VPN для общих ресурсов и даже бесплатные (в некоторых случаях) можно, но цена на VPN для бизнеса может увеличиваться в долгосрочной перспективе. Поддержка VPN для крупного предприятия потребует большей инфраструктуры, поддержки, обслуживания и мониторинга. Локальный прокси-сервер, как правило, обходится более дешево для компаний, однако сложно представить компанию, которая пользуется ими в чистом виде.
The question is not straightforward. Data encryption technologies provide similar anonymity capabilities, but have several differences.
Firstly, they operate at different OSI levels - a significant difference between proxy servers and VPNs.
Popular VPN protocols such as PPTP, L2TPv3, and IPsec operate at level 3 (network level). Of course, VPN uses level 4 to establish a connection. For example, PPTP uses TCP (level 4), while L2TP and IPsec use TCP and UDP (level 4) to create a tunnel. However, once the VPN tunnel is established, its protocols work just like network interfaces. Working at level 3 means that VPN takes all your traffic (DNS, HTTP, P2P, VoIP, etc.), regardless of port number or application, and encrypts it. Proxies, on the other hand, operate at level 5-7.
Secondly, they are based on different technologies ensuring connection security.
The level of confidentiality in VPN depends on the cryptographic strength of the encryption mechanism. There are various encryption algorithms - 3DES, AES, and RSA. These mechanisms determine how data is hidden in a message. These mechanisms use a set of keys and ciphers (128 or 256 bits) to conceal information and are used in various security protocols. Examples of encryption protocols in VPN are PPTP, L2TP, SSTP, IKEv2, OpenVPN, IPSec, WireGuard, and others.
Proxy servers, on the other hand, are not designed for data encryption. By their concept, proxy servers mask your IP address, but do not encrypt data. To compensate for the lack of encryption, you can use proxy servers with SSL. Proxy servers have no overhead costs for encryption, so they are usually faster than VPN. Although surfing the internet with VPN may barely affect your user experience. Delays concern traffic with the highest load, such as streaming.
Какие возможности предоставляет пользовании MTProto-прокси сервером от Telegram для пользователей
В Telegram для Android появилась поддержка нового типа прокси-соединений MTProto. Теперь пользователи мессенджера, пытающиеся обойти операторские блокировки, смогут не беспокоиться о том, что их действия будут прочитаны недобросовестными владельцами серверов.
В отличие от SOCKS5, MTProto использует одноименный протокол, применяемый для шифрования сообщений в мессенджере, а также заменяет логин и пароль для доступа к прокси-серверу уникальным ключом. Совокупность этих факторов препятствует сбору данных о географическом положении пользователей, их устройствах и сеансах активности.
На момент выхода публикации существует не так много серверов с поддержкой протокола MTProto. Чтобы установить безопасное соединение, воспользуйтесь ботом,. Он самостоятельно применит необходимые настройки, защитив ваши данные от несанкционированного сбора. Данный способхорош для пользователей, которые уже умеют пользоваться VPN. Все остальные могут задать настройки вручную.
Для этого откройте «Настройки» в приложении Telegram, перейдите в раздел «Данные и диск» — «Настройки прокси» — «Добавить прокси» — «Прокси MTProto» и введите следующие данные:
Сервер: 209.97.168.227Порт: 443Ключ: ff493703bd0885b42c6895b769103419
Важно: пользователи Telegram, подключившиеся к MTProto-серверам, автоматически соглашаются на то, что их владельцы смогут подписывать их на свои каналы. Поскольку таким образом разработчики намерены монетизировать свои услуги, отказаться от подписки можно только при условии отключения от прокси-сервера.
Какие технические особенности у нового MTProto-прокси сервера
С выходом MTProxy в Телеграмме появилась возможность монетизации прокси, за счет функции promoted channel. Теперь создание MTProto server будет не просто благотворительным жестом в поддержку Digital Resistance, но и реальным способом раскрутить свой канал, и начать зарабатывать на рекламе в Telegram.
Есть и альтернативный способ, для тех, кто не хочет создавать MTProto server. Можно просто купить быстрые приватные прокси в сервисе Proxy-Sale.Com и подключить их в Телеграме.
- VDS/VPS сервер, находящийся в любой стране, в которой Телеграм не заблокирован;
- Linux OS: Ubuntu 14.04+, CentOS 6+, Debian 8+;
- корневой доступ через SSH.
Как поднять собственный MTProto server для Telegram?
Команда Telegram опубликовала ссылки на репозиторий с кодом для создания прокси сервера, и на образ для авто- развертывания нулевой конфигурации сервера MTProxy server. Docker-контейнер позволяет автоматически развернуть MTProto proxy server, предназначенный для Telegram. Пример сервера, развернутого из Docker-контейнера, доступен в боте @BestMTProxyBot .
До выхода официального Docker-образа от Telegram, пользователи успели создать различные скрипты для настройки собственного MTProxy. Разберем вкратце, какие альтернативы официальному решению Telegram существуют.
Python : поддерживает спонсорские каналы; поддерживает IPv6; прост в установке.
PHP : есть проблемы с клиентами Android (не отправляются сообщения); десктоп-клиенты Telegram работают отлично.
Java : требуется JRE 8 или JDK 8 (на версии 9 и выше не будет работать).
C (Официальная версия MTProxy от Telegram) : использует много ресурсов процессора; поддерживает спонсорские каналы; работает стабильно.
Официальный Docker-образ — самый простой, быстрый и эффективный способ поднять свой MTProto proxy server. Автоматизированное развертывание контейнера и легкое управление на уровне ОС позволяет настроить прокси сервер на любой Linux-системе.
Системные требования:
Создаем MTProto server
Нам нужен только сервер с установленным Docker’ом и доступом в интернет, и 443-ий порт должен быть свободным. Для запуска прокси все, что вам нужно сделать, это выполнить команду:
docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest
Журнал контейнера доступен по команде:
docker logs mtproto-proxy
Он будет содержать сведения, которые потребуются для вставки в приложение Телеграмм при регистрации вашего прокси в боте @MTProxyBot :
Using the explicitly passed secret: '00baadf00d15abad1deaa515baadcafe'.
Saving it to /data/secret.
Final configuration:
Secret 1: 00baadf00d15abad1deaa515baadcafe
# ваш текущий секретный ключ
tg:// link for secret 1 auto configuration: : tg://proxy?server=3.14.15.92&port=443&secret=00baadf00d15abad1deaa515baadcafe
# ссылка для подключения
t.me link for secret 1: tg://proxy?server=3.14.15.92&port=443&secret=00baadf00d15abad1deaa515baadcafe
Tag: no tag
# параметр для привязки promoted-канала
External IP: 3.14.15.92
Make sure to fix the links in case you run the proxy on a different port.
Параметры IP и port могут быть определены ошибочно — проследите за этим, и при необходимости исправьте. Также, обязательно исправьте ссылки, если вы решите запустить прокси-сервер на другом порту, отличном от 443.
Secret — это обязательный параметр конфигурации: он будет создан автоматически при запуске контейнера, и будет сохраняться при обновлении.
Регистрируем свой MTProto прокси в Телеграме
После того, как ваш MTProxy сервер запущен, откройте в мессенджере диалог с @MTProxybot и зарегистрируйте свой прокси в Телеграме, чтобы получить доступ к статистике использования и монетизации. @MTProxybot — это официальный бот для владельцев MTProxy. Порядок действий:
- Отправить команду /start .
- Затем команду /newproxy — для регистрации нового МТПрото.
- Отправить адрес в формате «host:port» .
Какие риски существуют при использовании прокси серверов для доступа в интернет
Использование прокси сервера для локальных подключений дает следующие преимущества:
- Вы скрываете свой IP-адрес при базовой проверке;
- Используя прокси-серверы, вы скрываете свое географическое положение. Сайты и сервисы, которые вы посещаете, видят только местоположение прокси-сервера;
- В зависимости от того, как настроены, прокси-серверы они могут повысить вашу безопасность путем блокирования сайтов, распространяющих вредоносное программное обеспечение. Они также могут проверять контент на наличие вредоносных элементов перед его отправкой на ваш компьютер;
- Прокси-серверы могут быть использованы для доступа к географически ограниченным сервисам;
- В интернете есть много открытых бесплатных прокси-серверов, и некоторые из них предоставляют разнообразные полезные услуги.
С другой стороны, есть и отрицательные моменты использования прокси сервера для локальных подключений, которые следует учитывать:
- Прокси-серверы не шифруют ваш интернет-трафик;
- Ни ваш IP-адрес, ни ваше реальное местоположение не скрыто от более продвинутых методов обнаружения. Вы можете увидеть пример того, как ваше местоположение может быть обнаружено с помощью браузера и его службы определения местоположения, здесь: W3C Geolocation Browser ;
- При использовании прокси-сервера ваш интернет-трафик проходит через него. Это означает, что вредоносный прокси-сервер может видеть и контролировать все, что вы делаете в интернете. Это наносит ущерб конфиденциальности и безопасности;
- Прокси-серверы, как правило, отслеживают и фиксируют действия своих пользователей. В определенных случаях это может иметь негативные последствия;
- Если вы обращаетесь к защищенному зашифрованному сайту или интернет-сервису, через неправильно настроенный прокси-сервер, то он может передать на компьютер данные в незашифрованном виде. Незашифрованная информация может быть перехвачена другими лицами;
- Перед тем, как использовать прокси сервер в Chrome, учтите, что в интернете есть много открытых бесплатных прокси-серверов, и многие из них являются ненадежными. А некоторые из них вообще вредоносные.
В чем отличие MTProto-прокси сервера от обычных прокси серверов
С тех пор, как Роскомнадзор заблокировал мессенджер Telegram , компания находится в поисках возможных способов обхода блокировки. Последним словом в этой области стал MTProto -прокси, который по многим параметрам более жизнеспособен, чем часто используемый с той же целью SOCKS5 -тип прокси-серверов.
16 апреля 2018 года Роскомнадзор объявил о блокировке Telegram . С этого момента было предложено несколько способов её обхода. Среди них — создание серверов у разных провайдеров, которые принимают пакеты и переадресовывают их на серверы Telegram (список серверов доставляется на устройства через push-уведомления). Другой популярный способ — использование SOCKS5 прокси-серверов.
Большой недостаток SOCKS -протокола — то, что логин и пароль отправляются в незашифрованном виде, так что, отследив траффик, всегда можно узнать, кто обходит блокировку. Да и упомянутые способы обхода останутся действенными до тех пор, пока российское правительство не сделает что-то с push-уведомлениями (попытки уже есть — 28-го мая Роскомнадзор потребовал от Apple прекратить рассылку push-уведомлений Telegram ), или не отследит и заблокирует все прокси-серверы SOCKS5 (конечно, можно постоянно менять серверы и создавать новые, но это довольно неудобно).
Предложенный недавно MTProto -прокси решает значительную часть проблем. Он функционирует на базе протокола MTProto , который существовал и до этого. Особенность MTProto -прокси в том, что траффик маскируется под обычные HTTPS-запросы. В отличие от SOCKS , MTProto -прокси работает как обычный Telegram -сервер, он не перенаправляет запросы (что обычно занимает дополнительное время). Все пакеты, кроме первых двух, подвергаются шифрованию (т. н. обфускации), в котором использованный ключ — это пароль, который вы предоставили, и который знаете только вы и MTProto -прокси. Сторонний человек никак не может расшифровать пакеты и таким образом отличить их от HTTPS-пакетов.
Структура пакета MTProto.
MTProto -прокси работает только с Telegram , при его использовании обмен пакетами с другими онлайн-сервисами не будет затронут.
Есть два минуса. Шифрование — это дорогостоящая процедура, которая может потребовать больше времени и серверных мощностей для функционирования мессенджера. Чтобы окупить существование таких прокси-серверов, при подключении через них пользователи будут автоматически видеть «в топе» т. н. promoted-каналы, в которых серверы будут постить нужный им контент (например, рекламу).
Несмотря на то, что пока нет официальной документации, были уже написаны первые сторонние реализации, вот одна из них, на C#.
В настоящий момент доступны версии MTProto -прокси для OSX и Android .
Можно ли использовать MTProto-прокси сервер для обхода цензуры в интернете
Идея Naiveproxy , опять же, простая до невозможности. Если наша цель - замаскировать трафик от прокси-клиента так, чтобы он был вообще ничем неотличим от трафика от обычного браузера - почему бы не использовать для этого сам браузер?
Именно так и рассудил автор Naiveproxy и сделал следущее: взял исходники браузера Chromium, оторвал оттуда код сетевого стека, и использовал его в своем прокси-клиенте, причем в качестве прокси-протокола используется самый обычный метод CONNECT + HTTP/2.
В итоге одним выстрелом убивается сразу несколько зайцев:
TLS finerprint и вообще поведение такого подключения полностью до мельчайших деталей соответствует настоящему браузеру Chromium - более того, автор периодически синхронизируется с кодовой базой Chromium, чтобы иметь самые новые версии его сетевого стека, и таким образом максимально соответствовать свежим версиям браузера;
Определение паттернов трафика, характерных для определенных веб-сайтов, затрудняется благодаря HTTP/2 мультиплексированию;
Определение свой/чужой, чтобы не демаскировать прокси при active probing осуществляется посредством стандартных HTTP-заголовков (“Proxy-Authorization”). Если там содержатся правильные данные - ларчик открывается, если нет, либо же заголовки отсутствуют - сервер делает вид, что не понимает, что от него хотят и выдает фейковый сайт.
В теории, на “той стороне” в качестве прокси-сервера может выступать вообще любой сервер, поддерживающий метод CONNECT (например, tinyproxy), а авторизацию “свой-чужой” можно сделать с помощью reverse-proxy такого как HAProxy. Однако гораздо лучше использовать реализации, знающие про особенности naiveproxy - в таком случае в пакеты данных также добавляется padding (грубо говоря, мусорные данные, не несущие смысловой нагрузки) для усложнения анализа паттернов трафика. Это может быть, например, сам naiveproxy на сервере, или же патченный плагин для известного веб-сервера Caddy.