Протокол, написанный под одну задачу
Собственный протокол Телеграма для обхода ограничений разработан самим мессенджером, и назначение у него узкое: сохранить доступ там, где его ограничивают. В официальном описании задача сформулирована прямо — обойти цензуру, ограничивающую доступ к Телеграму в отдельных регионах.
Работает это так: ваш уже зашифрованный трафик дополнительно маскируется и направляется через узел к серверам мессенджера. Ключевое слово — «уже зашифрованный»: прокси получает поток, который расшифровать не может.
Чем маскировка отличается от передачи
Обычный посредник вроде SOCKS5 просто проводит соединение. Со стороны видно, что вы соединились с таким-то адресом, и по характеру потока можно понять, что внутри.
MTProto добавляет слой поверх: весь исходящий и входящий поток шифруется алгоритмом AES-256-CTR, причём случайная начальная последовательность делает соединение непохожим на предыдущее. Среди транспортов мессенджера есть отдельный вариант с добавлением случайного заполнения — в документации он прямо описан как предназначенный для работы с включённой маскировкой, чтобы обходить блокировки провайдеров.
Разница практическая: SOCKS5 скрывает, куда вы идёте, MTProto ещё и делает сам факт соединения менее узнаваемым.
Что такое secret в ссылке
Ссылка на такой прокси выглядит как tg://proxy?server=адрес&port=порт&secret=строка. Первые два параметра очевидны, третий требует пояснения.
Secret — шестнадцатибайтовая строка, которую обычно передают в шестнадцатеричном виде вместе с адресом и портом. Она нужна, чтобы клиент и узел договорились о маскировке; без неё соединение не установится.
Иногда встречается вариант длиной семнадцать байт: первый байт указывает клиенту, какой транспорт использовать. Префикс dd в начале включает режим со случайным заполнением пакетов, и включается он только для тех клиентов, которые его запросили.
Практический вывод: если ссылка не сработала, проверьте secret целиком. Обрезанная при копировании строка — самая частая причина, по которой «прокси не добавляется».
Кто может поднять такой узел
Кто угодно: Телеграм выкладывает серверную часть открыто, а регистрация узла идёт через собственного бота мессенджера. Конфигурация узла подтягивается с адреса самого Телеграма, на одном узле можно задать несколько секретов — например, чтобы раздавать разным людям разные.
Отсюда и разнообразие качества: за одним адресом стоит сообщество с запасом канала, за другим — домашний компьютер. Внешне они выглядят одинаково.