У меня в закладках висит шесть страниц с заголовком в духе «список рабочих прокси для Телеграм, обновляется каждый час». Когда я открывал их последний раз, работала ровно одна. И та отвалилась через сорок минут. При этом каждая клянётся, что адреса проверены и протестированы.
Дело не в том, что авторы подборок врут. Дело в природе публичного прокси-списка: он стареет быстрее, чем вы успеваете скопировать строку с адресом и портом. Дальше по порядку - почему так выходит, чем MTProto отличается от SOCKS5 и как перестать играть в лотерею с чужими серверами.
Публичный список прокси стареет за 40-90 минут, и это норма
Когда сайт пишет «проверяем каждый час», он честен ровно настолько, насколько позволяет цикл проверки. Между двумя прогонами проходит шестьдесят минут. За это время часть узлов уже умерла, но всё ещё висит в таблице с зелёной галочкой. Вы копируете адрес, вставляете в настройки, получаете вечное «соединение» и идёте искать следующую подборку.
У бесплатных MTProto-узлов вообще смешная жизнь. По моим логам средний срок жизни публичного узла из открытых источников - от 40 минут до трёх часов. Дольше живут только те, что кто-то держит для себя и случайно засветил. Экономика простая: сервер стоит денег, канал стоит денег, а желающих подключиться к бесплатной точке тысячи. Администратор видит нагрузку, меняет порт или закрывает доступ, и адрес умирает.
Отсюда вывод, который многих бесит: стабильного «списка рабочих прокси для Телеграм» в формате «сохранил в блокнот и пользуешься месяц» не существует. Есть процессы, а не списки.
MTProto, SOCKS5 и Webproxy решают разные задачи
Большинство путается уже на этом шаге. В настройках Телеграма видно несколько типов подключения, и человек выбирает наугад. А разница между ними архитектурная, и от неё зависит, будет у вас видео грузиться или нет.
MTProto - собственный протокол мессенджера. Прокси этого типа работает как промежуточное звено внутри самого протокола: клиент шифрует пакеты, прокси-сервер их пересылает, не имея доступа к содержимому. Подключение делается ссылкой вида tg://proxy с секретом в параметрах. Плюсы: живёт прямо в приложении, не требует системных настроек, держит медиа. Плюс умеет работать через fake-tls, и это заметно снижает задержку на медленных каналах. Минус один: публичные MTProto-узлы - самый дефицитный и самый быстро умирающий ресурс.
SOCKS5 - туннель на транспортном уровне. Он не знает и не хочет знать, что внутри: хоть Телеграм, хоть браузер, хоть ваш скрипт на Python. Полезную нагрузку он не шифрует, шифрование остаётся на стороне приложения. Зато универсален: один узел обслуживает мессенджер, WhatsApp, браузер и парсер одновременно. Именно поэтому SOCKS5 - стандарт для корпоративных схем и задач, где нужно гонять трафик из разных приложений через одну точку.
Webproxy - самый простой вариант, обычный HTTP-прокси. Работает в браузере, в Телеграме используется как резерв, когда основной тип подключения недоступен. Медиа через него часто идёт медленно или не идёт вовсе, крупные файлы качать не стоит. Как аварийная заглушка - нормально. Как основной канал - нет.
Что на самом деле значит «рабочий»
Слово «рабочий» каждый понимает по-своему. Для одного это «зелёная галочка появилась», для другого - «сутки без разрывов под нагрузкой в двадцать одновременных сессий». Пропасть между этими определениями огромная.
У меня есть четыре критерия, по которым отбраковываю узлы почти без раздумий:
- Время рукопожатия. Если соединение устанавливается дольше 1,5 секунды, при переключении между чатами вы будете ловить заметные паузы. Для комфортной работы нужно 200-600 мс.
- Стабильность на горизонте 24 часов. Гоняю узел в фоне и смотрю, сколько разорвётся. Два-три разрыва за сутки - уже мусор.
- Пропускная способность под медиа. Проверяю загрузкой файла на 20-30 МБ. Если ползёт на 300 КБ/с, видео в 720p вы не посмотрите.
- Кто на той стороне. Публичный узел неизвестного происхождения видит весь ваш незашифрованный трафик, если речь о SOCKS5. Для рабочей переписки это не вариант.
Последний пункт многие игнорируют, а зря. Бесплатный прокси-сервер - чужая машина, к которой у вас нет ни обязательств, ни доверия. Логировать трафик там могут просто по привычке.
Откуда вообще берутся бесплатные списки
Схема появления всегда одна. Кто-то поднимает сервер, публикует адрес в открытом репозитории или на странице-агрегаторе, туда приходят тысячи подключений. Дальше три сценария.
Первый: энтузиаст держит узел из идейных соображений, через неделю устаёт платить за трафик и закрывает лавочку. Второй: узел собирает статистику - кто, откуда, сколько данных, и это его настоящая цель. Третий: адрес живёт ровно до того момента, когда владелец захочет продать доступ тем же людям, но уже за деньги.
Агрегаторы, которые «проверяют каждый час», делают полезное дело, но решают не вашу задачу. Они отвечают на вопрос «отвечает ли порт прямо сейчас», а не на вопрос «продержится ли он до конца моего рабочего дня». Тест раз в час - выборка из одного пинга, а не гарантия.
Как я проверяю узлы перед тем, как пустить в работу
Моя рутина простая и не требует админских навыков. Беру не один адрес, а двадцать-тридцать кандидатов сразу. Прогоняю их параллельно в двадцать потоков и смотрю, кто выжил. Из тридцати обычно остаётся три-пять, и вот они уже интересны.
Дальше - сутки мониторинга. Скрипт раз в пять минут дёргает узел, пишет в лог время отклика и результат. Утром открываю таблицу и вижу правду: кто реально держал соединение, а кто отвалился через два часа. По этой выборке судят о качестве сервера, а не о везении.
Для SOCKS5 дополнительно проверяю, не подменяется ли сертификат и совпадает ли фактическое гео с заявленным. Пару раз ловил ситуацию, когда узел числился в Германии, а физически сидел в другом месте с задержкой 900 мс. Для парсинга это критично: сайт видит не тот регион, который вы обещали себе в конфиге.
Когда список нужен не вам, а вашей команде
Одно дело - пара личных устройств. Другое - отдел из десяти человек: у каждого Телеграм, WhatsApp и браузер, плюс парсер на тридцать потоков. Тут публичные подборки заканчиваются в первый же день, потому что нужна не точка, а пул с ротацией.
Нормальная схема: свой VPS или арендованный узел в нужном регионе, на нём поднят SOCKS5 с авторизацией по логину и паролю, доступ закрыт по IP-адресам офиса. Все устройства ходят через один шлюз. Вы видите нагрузку и меняете конфигурацию в одном месте, а не бегаете по двадцати телефонам.
Второй вариант - корпоративный узел с балансировкой. Несколько серверов, трафик распределяется, при падении одного остальные подхватывают. Задержка снижается, потому что запрос уходит на ближайшую точку. Для парсинга это обязательно: сайт банит за частоту, а пул из десяти адресов с ротацией решает проблему без танцев с капчей.
И третий, самый недооценённый сценарий - публичный Wi-Fi. Аэропорт, кафе, коворкинг. Трафик без туннеля там читается кем угодно с минимальными навыками. Один SOCKS5-туннель на телефоне закрывает вопрос за две минуты настройки.
Настройка в приложении: куда именно нажимать
Телеграм на Android и iOS: «Настройки», потом «Данные и память», дальше «Настройки прокси», кнопка «Добавить прокси». Выбираете тип из выпадающего списка, вводите адрес, порт и, если нужно, логин с паролем. Сохраняете и включаете переключатель. В десктопной версии путь короче: «Настройки», раздел «Продвинутые настройки», подраздел «Тип подключения», пункт «Прокси».
С MTProto проще: если у вас ссылка вида tg://proxy, достаточно нажать на неё, приложение само предложит подключиться. Секрет подставляется автоматически, руками ничего вводить не надо.
WhatsApp системного поля для прокси не имеет. На Android прокси задаётся на уровне Wi-Fi сети: «Настройки», «Wi-Fi», долгое нажатие на сеть, «Изменить», «Дополнительные параметры», тип прокси «Вручную», дальше хост и порт. На iOS аналогично в свойствах сети. Работает, но учтите: при переключении на мобильную сеть настройка не применяется.
В браузере на десктопе всё стандартно: настройки сети операционной системы либо расширение. В Firefox есть отдельный раздел в настройках, где SOCKS5 прописывается в два поля.
Где брать узлы, которые не придётся менять каждый час
После всех экспериментов вывод скучный: нормальный рабочий узел стоит денег, и это самая выгодная сделка из всех. Пять-десять долларов в месяц против трёх часов в неделю, потраченных на перебор дохлых адресов из подборок.
Когда мне нужен пул под конкретную задачу, я иду в каталог прокси и фильтрую по параметрам, а не листаю форумы. Там есть разбивка по протоколам, включая MTProto и SOCKS5, по гео и по назначению. И видно, что узел не «поднялся пять минут назад», а работает на постоянной основе с понятными условиями.
Практическая ценность такого подхода - предсказуемость. Вы не гадаете, доживёт ли соединение до конца созвона. Вы знаете, что завтра узел будет на том же месте, а если что-то пойдёт не так, есть к кому обратиться. С публичными списками этот номер не проходит никогда.
Пять признаков, что перед вами мусорная подборка
Такие страницы я отличаю за десять секунд. Первый признак: ни слова о том, кто держит серверы. Второй: дата обновления «сегодня», но при обновлении страницы она не меняется. Третий: все адреса в одной подсети, то есть это один сервер, нарезанный на порты. Четвёртый: обещают «неограниченную скорость» - так не бывает, канал всегда чей-то и он конечен. Пятый: ни слова про авторизацию, хотя нормальный узел без пароля открыт всему интернету и умрёт от нагрузки за сутки.
Ещё один маркер, который проверяю всегда: сколько прокси в списке. Если их триста, это не забота о вас, а свалка. Хорошая подборка - десять-двадцать узлов, за качество которых автор готов отвечать.
Что делать прямо сейчас
Если Телеграм отваливается раз в день, не тратьте вечер на перебор публичных адресов. Возьмите один нормальный узел, настройте его один раз и забудьте. Для личных задач хватит одного MTProto-подключения. Для работы с медиа и парсингом берите SOCKS5 с авторизацией. Для команды - свой шлюз на VPS.
Списки рабочих прокси оставьте как аварийный резерв. Для этого они годятся: когда основной канал упал, а под рукой нет ничего, кроме чужой подборки, лучше плохое соединение, чем никакого. Только не делайте их основой - нервы дороже.