Ты арендовал VPS, поставил Docker, запустил контейнер с MTProto-прокси. Telegram его видит, но подключение не проходит. Скорее всего, проблема в ключе. Не в IP, не в порту, а именно в секрете, который ты передаёшь клиенту.
Ключ у MTProto-прокси - это не пароль в привычном смысле. Это строка из 32 символов, которая является частью ссылки вида tg://proxy?server=...&port=...&secret=.... Без неё клиент не поймёт, куда стучаться и как проверять подлинность сервера. Секрет генерируется либо автоматически при первом запуске контейнера, либо задаётся вручную через переменную окружения. Именно здесь начинается путаница у большинства новичков.

Ключ - это не то, что ты придумываешь наугад
В официальном репозитории на GitHub чётко сказано: «Важно, чтобы оно было УНИКАЛЬНЫМ (придумайте или сгенерируйте своё)». Ключ должен быть уникальным для твоего сервера. Если ты возьмёшь дефолтную строку из примеров и запустишь на её основе прокси, жди беды. Во-первых, ты не один такой умный. Во-вторых, клиенты начнут путаться, если у них в подписках окажется несколько прокси с одинаковым секретом.
Технически секрет - это 32-значная строка. Она может быть в hex-формате (только цифры и буквы a-f), либо в base64, либо в виде произвольных ASCII-символов. Для клиента главное - чтобы ключ совпадал с тем, что прописан на сервере. Иначе соединение не установится. На Reddit сисадмины отмечают, что чаще всего ошибки возникают при копировании ключа из логов: лишний пробел или обрезанный символ ломают всю строку.
Как задать ключ при запуске контейнера
Если ты ставишь прокси через Docker, то команда запуска выглядит так:
docker run -d --net=host --name=mtproto-proxy --restart=always -v proxy-config:/data -e SECRET=... telegrammessenger/proxy:latest
Здесь -e SECRET=... - это и есть твой ключ. Сгенерируй свою строку через openssl rand -hex 16 или придумай осмысленную комбинацию. Главное - не копировать чужие примеры. И не используй 00000000000000000000000000000000 - это прямой путь к проблемам.
Если не указать SECRET явно, контейнер при первом запуске сгенерирует ключ сам и сохранит его в томе proxy-config. Потом его можно посмотреть в логах или в файле конфигурации. Но лучше сразу задать свой, чтобы не искать потом.
Где взять уникальный ключ и почему нельзя брать готовый
Самый простой способ - сгенерировать ключ командой openssl rand -hex 16 и сохранить его в менеджере паролей. Если не хочешь возиться с консолью или нужен готовый прокси под ключ, посмотри каталог 3seller: там можно подобрать MTProto-прокси с уже подготовленным уникальным секретом. Готовые ключи из открытых списков брать не стоит - их могут использовать сотни людей, а значит, стабильности и скорости ждать не придётся.