MTProto-прокси для Telegram на сервере: частые ошибки и решения
MTProto-прокси для Telegram обычно работает без внимания, но когда ломается, причины повторяются: закрытый порт, упавший контейнер, неверный секрет или заблокированный IP. Ниже — частые ошибки MTProto-прокси для Telegram на сервере, разобранные по симптомам, с командами диагностики прямо на VPS, чтобы находить причину точечно, а не пересоздавать сервер целиком.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →С чего начинать диагностику
Поскольку прокси обычно запускают контейнером, первым делом проверьте состояние контейнера и его логи — там видно, поднялся ли сервис и какой секрет он выдал:
docker ps -a
docker logs mtproxy
Если контейнера нет в списке запущенных или он в статусе Exited, значит он упал — смотрите лог, там причина. Если контейнер работает, проверьте, слушает ли он нужный порт:
ss -lntp | grep 443
Эта связка — статус контейнера, лог, слушающий порт — за минуту показывает, на каком этапе рвётся цепочка. Дальше вы чините конкретное звено: либо контейнер, либо сеть, либо параметры подключения на стороне клиента.
Главный принцип диагностики MTProto-прокси на сервере — двигаться от сервера наружу, а не наоборот. Сначала убедитесь, что контейнер жив и слушает порт локально; только потом проверяйте, доходит ли трафик снаружи; и в самую последнюю очередь грешите на клиента. Если перескакивать через этапы, легко потратить час на настройки Telegram, когда на деле контейнер вообще не поднялся. Полезно держать в голове эту лестницу: процесс — порт — сеть — клиент. На каждом уровне есть своя команда проверки, и как только один уровень подтверждён, к нему уже не возвращаются.
Отдельно оговорюсь про типичную ловушку: «у меня же вчера работало». Прокси — это не только ваш контейнер, но и внешняя среда, которая меняется без вашего участия. Провайдер мог обновить правила фильтрации, магистральный оператор — перестроить маршрут, а облако — сбросить сетевые настройки при миграции. Поэтому при разборе поломки не считайте конфигурацию неприкосновенной только потому, что вы её не трогали. Часто причина именно во внешнем изменении, и лечится она не правкой конфига, а сменой порта или адреса.
Прокси не добавляется в Telegram
Самая частая жалоба. Причин несколько. Первая и главная — закрытый порт во внешнем фаерволе облака: контейнер слушает, но security groups провайдера не пропускают трафик, и Telegram не может достучаться. Откройте порт и в системе, и в облачной панели. Вторая — неверный секрет или порт в ссылке: если пользователь вводит данные вручную, легко ошибиться, поэтому надёжнее раздавать готовую ссылку tg://proxy?... из логов. Третья — устройство пользователя не может достучаться до вашего IP вообще: проверьте, пингуется ли сервер снаружи. Проверить доступность порта можно с другой машины, и если соединение висит — почти наверняка виноват внешний фаервол.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для проксиКонтейнер падает или не стартует
Контейнер в статусе Exited или перезапускается по кругу. Смотрите лог — причина там. Частые случаи: занятый порт (на выбранном порту уже что-то слушает), конфликт имён контейнеров при повторном запуске, нехватка места на диске. Если порт занят, найдите, кто его держит, и либо освободите, либо смените порт прокси:
ss -lntp | grep 443
docker logs mtproxy
Если при повторном docker run ошибка про уже существующее имя, удалите старый контейнер и создайте заново — старый мог остаться после неудачной попытки. Проверьте и свободное место: забитый диск не даст Docker нормально работать. Убедитесь также, что флаг --restart=always на месте, иначе после сбоя контейнер не поднимется сам.
После перезагрузки прокси пропал
Сервер перезагрузили, и прокси перестал отвечать. Классическая причина — контейнер не в автозапуске. Если при создании вы не указали --restart=always, Docker не поднимет его после ребута. Проверьте политику перезапуска и при необходимости пересоздайте контейнер с нужным флагом. Вторая причина — сам сервис Docker не в автозапуске на уровне системы; включите его через systemctl enable docker. После этих двух шагов прокси будет переживать перезагрузки без вашего участия. Это типичная ситуация «настроил, всё работало, ребутнул — и тишина», и лечится она именно автозапуском на обоих уровнях.
Работает нестабильно или медленно
Прокси то отвечает, то нет, или Telegram через него тормозит. Первая причина — перегруженная нода со слабым каналом: на сервере с плавающей полосой стабильности не добиться никакими настройками. Вторая — слишком много клиентов на слабом VPS: хотя MTProto нетребователен, сотни активных пользователей на минимальном тарифе всё же дадут просадку. Третья — активное вмешательство фильтров, которые начали подрезать трафик; если это совпало с усилением блокировок в вашем регионе, поможет обновление образа и смена порта. Проверьте нагрузку на сервер и, если ресурсов не хватает, переходите на тариф помощнее — это честный повод, а не поломка конфигурации.
Чтобы отличить перегрузку сервера от вмешательства фильтров, сравните поведение в разное время суток и с разных сетей. Если тормоза приходят только в вечерний час пик и одинаково у всех — почти наверняка упирается канал или число клиентов. Если же MTProto-прокси стабильно медленный у пользователей одного оператора и нормальный у другого — это уже подрезание трафика фильтрами, и лечится оно не апгрейдом тарифа, а сменой порта и обновлением образа. Разделять эти два случая важно, потому что лечатся они по-разному, а симптом со стороны один и тот же — «Telegram тормозит».
Полезно также иметь простую метрику здоровья прокси. Заведите привычку раз в несколько дней открывать логи контейнера и смотреть на число подключений и ошибок — резкий рост отвалов заметен сразу и обычно предшествует явной поломке. Такой лёгкий мониторинг дешевле, чем разбираться с уже мёртвым прокси в момент, когда он срочно понадобился. Своя дисциплина наблюдения экономит куда больше времени, чем любые тонкие настройки.
Блокировка IP
Прокси настроен верно, но перестал работать у всех разом, а сервер жив по SSH — почти наверняка заблокирован сам IP. Проверьте, пингуется ли адрес из региона, где Telegram блокируют: если пинг не проходит именно оттуда, адрес попал под блокировку. Никакая настройка прокси это не обойдёт — нужен новый чистый IP за пределами зоны ограничений. Репутация и происхождение адреса тут решают всё: засвеченный или уже заблокированный IP бесполезен для обхода. Под MTProto-прокси берите VPS с чистым, не забаненным адресом — у MAATRIX его можно арендовать в США или Европе с оплатой из России картой, СБП или криптой, что снимает и вопрос адреса, и вопрос оплаты зарубежного сервера.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для проксиОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Прокси не добавляется в Telegram — что проверить?
Открытый порт во внешнем фаерволе облака, верность секрета и порта в ссылке, доступность IP сервера снаружи. Надёжнее раздавать готовую ссылку tg://proxy?... из логов контейнера.
Контейнер падает — почему?
Смотрите docker logs mtproxy. Обычно это занятый порт, конфликт имени контейнера или нехватка места на диске. Проверьте порт, удалите старый контейнер, освободите диск.
После ребута прокси не поднялся — как исправить?
Пересоздайте контейнер с --restart=always и включите автозапуск Docker через systemctl enable docker. Тогда прокси переживёт перезагрузки.
Перестал работать у всех сразу — что это?
Скорее всего заблокирован IP. Проверьте пинг из региона блокировки; если адрес недоступен оттуда, нужен новый чистый IP, настройки прокси тут не помогут.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.