Кто-то скинул тебе вместо ссылки три строчки. В первой что-то похожее на адрес сайта или цифры с точками, во второй число, а в третьей длинный набор букв и цифр, будто по клавиатуре прошёлся кот. Или ссылка была, но не открылась, и тебе посоветовали «вбей вручную». И вот ты открываешь настройки Telegram, видишь поля «Сервер», «Порт» и «Ключ» и не понимаешь, что из присланного куда идёт.
Я сразу оговорюсь, мы сами продаём прокси, так что учитывай это. Подписи полей ниже сверены с официальной платформой переводов Telegram, а поведение полей с исходным кодом Telegram Desktop и Telegram для Android.
Что Telegram делает с этими тремя строчками
По запросу «тг прокси сервер» находятся списки адресов и инструкции, где про третью строчку написано «secret - секретная строка», и на этом объяснение заканчивается. Прокси-сервер стоит между Telegram и сетью, и приложение ходит не напрямую, а через этот компьютер. Три поля сообщают Telegram, где этот компьютер находится и как с ним поздороваться.
В поле «Сервер» вписывают адрес того самого компьютера, либо IP из цифр с точками, либо имя вроде proxy.example.com, без https:// в начале. В Telegram Desktop это поле подписано «Хост», в остальных приложениях «Сервер». Порт подсказывает, в какой вход на этом сервере стучаться. Записывается он числом до 65535, и в инструкции Telegram для владельцев серверов в примере стоит 443, тот же номер, что у обычных сайтов с HTTPS.
С третьей строчкой сложнее, и почти вся путаница из-за неё. Ключ нужен только MTProto-прокси, а у SOCKS5 его нет, там бывают поля «Логин» и «Пароль». Ключ придумывает владелец сервера - по инструкции к MTProxy он берёт 16 случайных байт, записывает их 32 символами и запускает сервер именно с этим ключом. Поэтому без ключа сервер тебя не пустит, а ключ, который владелец задал своему серверу, к чужому не подойдёт, хотя на вид все ключи похожи. В английском интерфейсе поле называется Secret, но в русском Telegram оно везде подписано «Ключ», на телефоне и на компьютере.
Логина от Telegram, номера телефона и кода входа в этих полях нет. Telegram просит никому не сообщать код входа, так что если вместе с адресом у тебя просят код, к прокси это отношения не имеет. Канал спонсора, который иногда появляется в списке чатов, тоже не спрятан в ключе, потому что его включает владелец сервера у себя, когда регистрирует прокси. Сам владелец сервера сообщения прочитать не может, но, как сказано в справке Telegram, видит твой IP и время подключения. Где брать прокси-сервер для тг и кому доверять адрес, я разбирал отдельно.
Куда это всё вписать
В Telegram для Android форма открывается через «Настройки» → «Данные и память» → «Настройки прокси» → «Добавить прокси», и тип там нужен «Прокси MTProto». На iPhone начало то же, раздел «Данные и память», а дальше экран «Прокси» и «Добавить прокси». Telegram Desktop прячет её глубже: «Настройки» → «Продвинутые настройки» → «Тип соединения» → «Использовать собственный прокси», и уже там «Добавить прокси». В Telegram для macOS форма тоже живёт в разделе про данные и память, хотя в одной из инструкций по этому запросу для Mac дан путь от Telegram Desktop.
- Открой форму добавления прокси.
- Выбери тип MTProto (в Telegram Desktop у нового прокси он уже выбран).
- В поле «Сервер» или «Хост» впиши адрес из первой строчки.
- В поле «Порт» впиши число из второй.
- В поле «Ключ» вставь третью строчку целиком и сверь её длину, про это ниже.
- Сохрани и посмотри на статус в списке прокси.
В форме Telegram Desktop над полями «Хост» и «Порт» стоит подпись «Адрес сокета», над «Ключом» подпись «Учётные данные», и под выбором типа ещё предупреждение: «Этот прокси-сервер может показывать канал спонсора в списке Ваших чатов. Это не раскрывает Ваш трафик.» Оно стоит в самой форме и к присланному прокси не привязано.
Если ссылка у тебя всё-таки есть, проще нажать её, потому что в ней те же три значения. В Telegram для Android, когда ссылка на прокси лежит в буфере обмена, на экране добавления появляется пункт «Вставить из буфера обмена», и он сам раскладывает её по трём полям. В Telegram Desktop есть похожий пункт «Добавить прокси из буфера обмена». А ссылку с длинным ключом, которая не открывается в браузере, можно вставить в любой чат в Telegram и нажать уже там.
Как понять, что ключ скопирован целиком
Ключ легко испортить при копировании: хвост не выделился или строку перенесло. Зато по длине это видно на глаз. Обычный ключ состоит из 32 символов, цифр и латинских букв от a до f. Если он начинается с dd, символов будет 34, эта приставка включает случайное дополнение пакетов. С ee в начале ключ длиннее, 42 символа и больше, потому что в его хвосте записано имя сайта.
Возьмём условный пример ключа с ee, у которого в хвосте имя www.example.com: ee000000000000000000000000000000007777772e6578616d706c652e636f6d.
В нём 64 символа: ee, потом 32 символа самого ключа, а всё после 34-го символа и есть www.example.com, переписанный цифрами и буквами. Настоящий ключ будет другим, но устроен так же. Считать символы пальцем по экрану удовольствие сомнительное, но один раз можно и потерпеть.
У Telegram Desktop правила такие. Ключ нужной длины и с нужным началом он принимает, а ключ другой длины или с другим началом, смотря по длине, считает неподдерживаемым или некорректным. Значит, если у условного ключа из 32 символов отрезать последний, по этим правилам выйдет «не поддерживается», а если от него осталась половина, то «некорректный».
Есть ещё одна тонкость, из-за которой я бы смотрел на длину после каждой вставки. Поле «Ключ» в Telegram Desktop пропускает только латинские буквы, цифры, - и _, а всё остальное молча выбрасывает. Лишний пробел в конце он просто уберёт, а вот русская «а», набранная вместо латинской, пропадёт - и ключ станет на символ короче. Так же при ручном вводе пропадут + и /, поэтому ключ с такими знаками надёжнее подключать ссылкой.
При сохранении Telegram Desktop проверяет поля. Пустой «Хост» или порт 0 он подсветит ошибкой, неверный ключ подсветит в поле «Ключ», и окно не закроется. Если прокси пришёл ссылкой, сообщение «В этой прокси-ссылке используется неверный параметр ключ…» значит, что Telegram не принял именно ключ. А когда всё принято, в списке прокси появится статус: «подключён», «доступен (пинг: … мс)» или «недоступен», а вверху списка чатов значок щита.
Что Telegram поправит за тебя, а что нет
В Telegram Desktop есть пара мелких поблажек. Если поставить в адресе запятую вместо точки, поле «Хост» само заменит её точкой. Если вставить в «Хост» IP из цифр с точками вместе с портом через двоеточие, например условный 1.2.3.4:443, порт сам переедет в поле «Порт». С именем сервера вместо цифр так не выйдет, и порт придётся вписать отдельно. Поле «Порт» принимает число не больше 65535, а в Android туда можно ввести только цифры, и всё, что больше 65535, превратится в 65535.
Ключ от другого сервера Telegram за тебя не исправит. Так бывает, когда адрес и порт ты берёшь из одного сообщения, а ключ из другого, соседнего: строчки похожи, но сервер ждёт свой ключ. Поэтому все три значения бери от одного сервера, лучше из одного сообщения. Обрезанный ключ он тоже не допишет, только отклонит. А если тебе вместе с адресом и портом прислали логин и пароль, то, скорее всего, прокси типа SOCKS5, и выбирать нужно его, а поле «Ключ» не понадобится.
А если вписывать ничего не хочется
И наконец, обещанное про нас. FreeGate даёт личный MTProto-прокси, и подключение у нас идёт по кнопке, а не через три поля. Ты нажимаешь «Подключить в Telegram» или сканируешь QR-код, Telegram спрашивает про прокси, и ты нажимаешь «Подключить прокси». Ссылка своя для каждого устройства и работает только у тебя. Если она утекла, её можно сменить в кабинете в одно нажатие, и старая сразу перестанет работать.
Попробовать можно бесплатно: 1 день после регистрации по email и подтверждения адреса, без оплаты и без автосписаний. Дальше 49 ₽ за 30 дней или 90 ₽ за 90 дней, цена за одно устройство, так что для телефона и компьютера при покупке выбери 2. Прокси работает в официальных приложениях Telegram, а веб-версия Telegram прокси не поддерживает. Подробности на freegate.app/ru.