Сервера MTProto → telemt, mtg или официальный MTProxy: что ставить на сервер

telemt, mtg или официальный MTProxy: что ставить на сервер

Серверных реализаций MTProto несколько, и они не равноценны: официальная давно не обновляется и не умеет FakeTLS по-человечески, лёгкие реализации на Go и Rust — умеют всё и держат больше соединений. Серверы в таблице выше работают на современной реализации; ниже — какую взять себе.

Подключить srv1Подключить srv2Подключить srv3Все сервера

Сравниваем по тому, что решает: маскировка, нагрузка, рекламный тег, удобство.

Официальный MTProxy

Написан на C, публиковался Telegram как эталон. Плюсы: рекламный тег поддержан изначально, стабильность. Минусы: FakeTLS добавлен поздно и неполно, конфигурация через списки серверов, которые нужно периодически обновлять, редкие обновления. Для нового сервера — не лучший выбор.

Подходит, если нужен именно «официальный» вариант и рекламный тег без экспериментов.

mtg

Реализация на Go, сделанная вокруг FakeTLS: один бинарник, один секрет, проксирование чужих рукопожатий на домен-легенду, низкое потребление памяти. Минус — авторская позиция против рекламного тега: он не поддерживается принципиально.

Лучший выбор для личного или семейного сервера без спонсорского канала.

telemt и другие современные

Реализация на Rust с полной поддержкой FakeTLS, несколькими пользователями с разными секретами, рекламным тегом на пользователя, статистикой и API управления. Держит десятки тысяч соединений на скромном железе. Настройка — один файл конфигурации.

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

Python-реализация

mtprotoproxy на Python — простая, с FakeTLS и рекламным тегом, но упирается в производительность интерпретатора при сотнях активных соединений. Для десятка пользователей — нормально, для публичного сервера — нет.

Итог: личный сервер — mtg; сервис или пул — telemt; Python — для экспериментов.

Сводная таблица словами

FakeTLS с проксированием легенды: mtg и telemt — да, официальный — частично, Python — да. Несколько секретов: telemt — да, официальный — без учёта, mtg — нет, Python — да. Рекламный тег: официальный, telemt и Python — да, mtg — принципиально нет. Нагрузка: telemt и mtg держат тысячи соединений на одном ядре, Python упирается в сотни, официальный масштабируется на большое железо.

Простота запуска: mtg — один бинарник и одна строка; telemt — бинарник и файл конфигурации; Python — интерпретатор плюс конфиг; официальный — сборка из исходников и обновляемые списки. Если сомневаетесь, начните с mtg: переехать на telemt позже можно без смены секрета.

Обновления и поддержка

Смотрите на дату последнего релиза: реализация без обновлений год и больше рискует отстать от изменений в фильтрах. У Go- и Rust-проектов релизы выходят регулярно, у официальной реализации — редко, у Python-варианта — по настроению автора.

Вопросы и ответы

Совместимы ли секреты между реализациями?

Да, формат секрета общий; домен FakeTLS надо указать в каждой.

Какая реализация быстрее?

Rust и Go близки; разница видна только на тысячах соединений.

Нужен ли рекламный тег на своём сервере?

Нет, это только для монетизации публичных серверов.

Читайте также

← Сервера MTProto