MTProto.fyi
ГлавнаяСвой MTProto-прокси: как это устроено

Свой MTProto-прокси: как это устроено

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

Что понадобится

  • Сервер (VPS) в стране, где Telegram не ограничен, с публичным IP. Хватит самого дешёвого тарифа.
  • Программа-прокси с поддержкой FakeTLS: mtprotoproxy (Python), mtg (Go), telemt (Rust) или официальный MTProxy с патчами. Обзор — «Что такое MTProxy».
  • Домен для SNI — не свой, а популярный, под который будет маскироваться соединение. См. «SNI в FakeTLS».
  • Порт 443, свободный на сервере.

Как рождается секрет

Секрет — 16 случайных байт, которые вы генерируете сами и прописываете в конфигурации. Сервер выводит из него ключи, а клиентам вы отдаёте тот же секрет с префиксом ee и hex-записью домена. Подробно о структуре — «Секрет MTProto». Можно завести несколько секретов — по одному на каждую группу пользователей, чтобы отзывать доступ выборочно.

Регистрация у @MTProxybot

Необязательный шаг: бот выдаёт тег, с которым сервер сможет показывать спонсорский канал, и открывает статистику по подключениям. Для личного прокси это не нужно; для публичного — способ окупить хостинг. Механика описана в статье «Спонсорский канал».

Что происходит после запуска

Сервер слушает 443, на каждое соединение проверяет TLS ClientHello с правильным SNI и подписью по секрету, отвечает поддельным ServerHello и дальше пересылает пакеты в дата-центр Telegram. Всё, что не прошло проверку, получает либо тишину, либо переадресацию на настоящий сайт из SNI — так сканеры не отличают прокси от обычного веб-сервера.

Сколько живёт свой прокси

Дольше публичного: трафик к нему мал и не привлекает внимания. Но если адресом делятся широко, его ждёт та же судьба. Держите его для узкого круга, а при блокировке смените IP сервера — секрет и ссылку менять не придётся, если сервер указан по доменному имени (см. «Сервер и порт»).

Частые вопросы

Что нужно для своего MTProto-прокси?
VPS за рубежом, программа с FakeTLS, домен для SNI и свободный порт 443.
Нужно ли регистрировать прокси у Telegram?
Нет, только если хотите спонсорский канал и статистику через @MTProxybot.
Сколько стоит свой прокси?
Цена самого дешёвого VPS — программа бесплатна.
Свой прокси надёжнее публичного?
Да, пока его адрес не разошёлся: малый трафик не привлекает фильтр.

Читать дальше