Оформить доступ
Линия · разбор строки

Из чего состоит ссылка на прокси

Строка вида «tg://proxy?server=…&port=…&secret=…» — это три ответа на три вопроса: куда идти, в какую дверь стучать и как маскировать соединение. Если понимать, что означает каждая часть, становится видно и почему один секрет длиннее другого, и почему «пароля» у прокси не бывает.

Все примеры на странице синтетические: действующих адресов, портов и секретов мы не публикуем.

Короткий ответ

Три обязательные части — адрес, порт и секрет; всё остальное в строке служебное.

  • Официальных форм записи две — веб-ссылка на домене самого мессенджера и внутренняя «tg://proxy?…». Смысл у них один; первая открывается из браузера, вторая сразу передаётся приложению.
  • Все три параметра обязательны. У ссылки на прокси другого типа, SOCKS5, обязательны только адрес и порт, а логин с паролем помечены как необязательные — отсюда и путаница между «секретом» и «паролем».
  • Адресом может быть и доменное имя, и числовой IP. Оба варианта равноправны.
  • Секрет — это ключ маскировки, а не пароль. В документации он так и назван: секрет обфускации. Личных логинов и паролей у этого типа прокси не бывает вовсе.

Ссылка по частям

Одна картинка снимает почти все вопросы к строке: что где стоит и что без чего не работает.

Отсюда простая проверка: строка без слова secret — это не ссылка на MTProto-прокси, а что-то другое.

Что такое секрет и почему он бывает разной длины

Секрет — это ключ, который участвует в шифровании канала, поэтому чужой секрет не «отклоняется», а просто не даёт собрать соединение.

  • Базовый секрет — 16 байт, обычно его раздают шестнадцатеричной записью из 32 символов. Такая строка выглядит как длинный набор цифр и букв a–f.
  • Бывает на байт длиннее. Тогда первый байт — не часть ключа, а указание клиенту, каким транспортом идти. Клиентам предписано считать любой лишний байт указанием на транспорт с добавочным паддингом.
  • Секрет, начинающийся на dd — это как раз тот случай: включается режим случайной добавки к размеру пакетов. Причина появления режима названа разработчиком прямо: часть провайдеров научилась вычислять прокси по характерным размерам пакетов.
  • Секрет, начинающийся на ee — режим маскировки под обычное защищённое соединение. Внутри такого секрета лежит служебный байт, 16 байт ключа и имя домена, под который узел маскируется. Отсюда и заметно большая длина.
  • Записан секрет может быть по-разному — шестнадцатеричной строкой или в виде base64. Настольный клиент понимает обе формы, и с версии от апреля 2026 года принимает ещё и обычный base64, а не только url-вариант.

Точность формулировки: режим ee работает у официальных клиентов, но в документации Telegram он не описан — там сказано лишь «включите паддинг и эмуляцию TLS для максимальной безопасности». Утверждать «FakeTLS описан в документации» нельзя: это де-факто стандарт, а не задокументированный.

Почему секрет у всех одинаковый

Потому что персональных учёток у MTProto-прокси нет по устройству протокола.

  • В ссылке нет полей для логина и пароля. Они есть у SOCKS5 и отсутствуют здесь — это видно прямо в описании форматов.
  • На стороне сервера параметр доступа один — секрет. Полей пользователей в запуске нет вовсе.
  • Следствие практическое: секрет общий для всех, кому его раздали. Ваш секрет — это не ваш ключ, а ключ всей группы, получившей ту же ссылку.
  • Один сервер может обслуживать несколько секретов сразу. Так владелец различает потоки — например, выдаёт разным группам разные строки, но каждая строка всё равно общая внутри своей группы.

Откуда берутся такие ссылки

Их либо генерирует владелец узла, либо пересылает другой человек.

  • Владелец собирает ссылку сам или получает готовую от официального бота — инструкция к серверной части прямо предлагает не собирать строку руками.
  • Между людьми прокси передают ссылкой или QR-кодом. В клиентах есть и то и другое: код можно показать другу, и он добавит узел камерой.
  • Список сохранённых прокси выгружается одной кнопкой. Именно так наборы адресов расходятся дальше — и именно поэтому они быстро становятся общедоступными.
  • Настольный клиент умеет добавлять прокси прямо из буфера обмена и отвечает тремя понятными исходами: добавлено, «это не ссылка на прокси» или «такой прокси уже в списке».

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

Мне прислали строку без слова secret — это прокси?

Для MTProto — нет: секрет обязателен. Скорее всего это ссылка на прокси другого типа, SOCKS5, где обязательны только адрес и порт.

Секрет — это пароль? Его нужно держать в тайне?

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

Почему один секрет короткий, а другой длинный?

Потому что в длинном лежит не только ключ: ведущий байт задаёт транспорт, а в варианте с маскировкой под защищённое соединение внутри записано ещё и имя домена.

Можно ли по ссылке понять, хороший это прокси или нет?

Нет. Из строки видно только адрес, порт и режим маскировки. Ни скорость, ни владельца, ни то, сколько узел проживёт, она не сообщает.