В Telegram появился новый способ подключения через прокси под названием WEB Proxy. Вместо обычного прокси-соединения мессенджер использует встроенный браузерный компонент и передаёт данные через настоящий HTTPS. Для интернет-провайдера такой обмен больше похож на посещение обычного сайта, хотя внутри соединения продолжает работать протокол Telegram.
Главное практическое отличие от привычного MTProxy заключается в настройке. WEB Proxy не требует от пользователя отдельного номера порта. Достаточно знать адрес сервера и секретный ключ. Собственный сервер можно развернуть на VPS с Linux, доменным именем и HTTPS-сертификатом.
Разберём оба сценария. Сначала подключим готовый WEB Proxy в Telegram, затем установим собственный сервер двумя способами, через графический интерфейс AmneziaVPN и непосредственно на Linux.
Как подключить WEB Proxy в Telegram
Для подключения понадобятся два параметра, которые выдаёт администратор сервера.
- Host или Server. Доменное имя прокси, например notes.example.com.
- Secret. Секретный ключ, обычно строка из 32 шестнадцатеричных символов.
Для простого подключения без дополнительного пути адрес сервера выглядит как обычное доменное имя. Префикс https:// и номер порта добавлять не нужно. WEB Proxy использует HTTPS на TCP-порту 443.
Настройка WEB Proxy на Windows и Linux
Поддержка нового типа соединения появилась в Telegram Desktop 7.1. В версии 7.1.2 разработчики исправили проблемы с некоторыми WEB-прокси на Windows и добавили предупреждение о рисках. Для настройки лучше использовать актуальную стабильную версию Telegram Desktop.
- Откройте Telegram Desktop.
- Перейдите в «Настройки».
- Откройте «Продвинутые настройки».
- Найдите раздел «Тип соединения» или «Настройки прокси».
- Нажмите «Добавить прокси».
- Выберите тип WEB.
- Введите домен сервера в поле Host и ключ в поле Secret.
- Сохраните настройки и включите соединение через прокси.
Проверить подключение можно по состоянию выбранного прокси. После установления соединения попробуйте открыть чат, отправить сообщение и загрузить изображение.
Настройка на Android и iPhone
Поддержка WEB Proxy появилась и в мобильных клиентах Telegram. На Android функция доступна в современных версиях приложения, включая ветку 12.10.4 и новее. На iPhone поддержка появилась в ветке Telegram 13.0. Доступность конкретного пункта зависит от версии и сборки клиента.
На Android откройте «Настройки», перейдите в «Данные и память», затем в «Настройки прокси». Нажмите «Добавить прокси», выберите WEB, введите Host и Secret и сохраните параметры.
На iPhone откройте «Настройки», затем «Данные и память» и «Прокси». Создайте новое подключение типа WEB и укажите данные сервера.
Если варианта WEB нет, обновите Telegram. На Android дополнительно проверьте обновления Android System WebView. Не путайте WEB Proxy с обычным HTTP-прокси или MTProto. Выбрать другой протокол и просто вставить секрет WEB Proxy не получится.
Подключение по готовой ссылке
Администратор может передать готовую ссылку. Для обычной установки без дополнительного пути используется формат tg://webproxy с параметрами сервера и секрета.
tg://webproxy?server=notes.example.com&secret=0123456789abcdef0123456789abcdef
Значения в примере вымышленные. При открытии рабочей ссылки совместимый клиент Telegram предложит добавить прокси. Перед подтверждением проверьте домен.
Существует также формат https://t.me/webproxy?server=..., но веб-сайт t.me не всегда корректно обрабатывает такой адрес. Для прямого подключения надёжнее использовать схему tg://webproxy или ручной ввод.
Как работает WEB Proxy и чем отличается от MTProxy
Обычный MTProxy принимает специализированное соединение Telegram и передаёт трафик дальше к серверам мессенджера. Режим FakeTLS пытается сделать сетевой обмен похожим на TLS, но использует собственную реализацию маскировки.
WEB Proxy меняет транспортный уровень. Telegram запускает скрытый компонент WebView, который устанавливает настоящее HTTPS-соединение с доменом прокси. Внутри работают обычные веб-механизмы передачи данных, включая HTTPS-запросы или WebSocket. Серверная часть извлекает зашифрованные потоки и передаёт их локальному MTProxy.
В открытом проекте tproxy-server серверная часть написана на Go. Для приёма HTTPS используется Caddy, для передачи данных Telegram служит обычный MTProxy. Несколько логических соединений мессенджера могут проходить внутри одной транспортной сессии.
| Характеристика | MTProxy | WEB Proxy |
|---|---|---|
| Транспорт | Специализированное TCP-соединение | HTTPS или WebSocket через WebView |
| Данные подключения | Сервер, порт, секрет | Домен, секрет |
| Порт | Настраиваемый | 443 |
| Маскировка | MTProto, включая FakeTLS | Настоящий браузерный TLS |
| Домен и сертификат | Не обязательны для стандартного режима | Нужны для собственной установки |
| Сложность сервера | Ниже | Выше |
| Звонки Telegram | Не поддерживаются через MTProxy | Также не поддерживаются через WEB Proxy |
В сетях с глубокой проверкой пакетов (DPI) обычный FakeTLS может распознаваться по особенностям TLS-обмена. WEB Proxy использует браузерный стек, поэтому скрывать специализированный транспорт потенциально проще.
Но обещания полной нераспознаваемости преувеличены. Системы сетевого анализа могут учитывать IP-адрес сервера, доменное имя, SNI, характеристики соединений, размеры пакетов и временные закономерности. HTTPS затрудняет содержательный анализ трафика, но не устраняет все признаки работы прокси.
Как установить собственный WEB Proxy на VPS
Для постоянной работы лучше использовать собственный сервер. Достаточно VPS с публичным IPv4-адресом, Linux и доменом. Наиболее удобен отдельный сервер, где TCP-порты 80 и 443 ещё не заняты.
Рассмотрим два варианта. Первый подходит пользователям, которые предпочитают графический интерфейс. Второй даёт полный контроль над сервером и его настройками.
Способ 1. Установка через AmneziaVPN
Начиная с AmneziaVPN 5.0.2.1, приложение поддерживает установку TProxy для Telegram WEB на собственный сервер. Дополнительно настраивать Go, Caddy и MTProxy вручную не требуется.
Для начала подготовьте VPS и домен. В панели управления DNS создайте запись типа A.
Тип: A
Имя: notes
Значение: 203.0.113.10
Адрес 203.0.113.10 приведён только для примера. Вместо него используйте публичный IPv4 своего сервера. В результате поддомен notes.example.com должен указывать на VPS.
Если DNS обслуживает Cloudflare или другая сеть доставки контента, для первой установки отключите проксирование DNS-записи. В Cloudflare нужен режим DNS only.
Далее откройте AmneziaVPN.
- Добавьте собственный VPS в приложение, если ещё не сделали этого.
- Выберите сервер и откройте его настройки через значок шестерёнки.
- Перейдите на вкладку «Сервисы».
- Выберите TProxy (Telegram WEB).
- В поле Hostname введите notes.example.com.
- В поле ACME email укажите действующий адрес электронной почты для выпуска HTTPS-сертификата.
- Нажмите «Установить».
AmneziaVPN создаст секретный ключ, подготовит служебную веб-страницу, запросит сертификат и запустит прокси. Перед установкой TCP-порты 80 и 443 должны быть доступны извне и свободны на сервере.
После установки откройте параметры TProxy, затем вкладку Connection. Приложение покажет Host, Secret и готовую ссылку для Telegram.
Подключите полученные параметры через настройки WEB Proxy в мессенджере. Проверить состояние сервиса и изменить способ передачи данных можно в разделе Settings.
По умолчанию AmneziaVPN использует режим HTTPS. Доступны также HTTPS lanes, WebSocket и WebSocket lanes. Режимы различаются организацией передачи трафика, а не уровнем шифрования. Пока соединение работает нормально, менять Carrier mode не нужно.
Способ 2. Установка tproxy-server непосредственно на Linux
Разработчики Telegram Desktop опубликовали отдельную серверную реализацию WEB Proxy. Проект предоставляет сценарий установки, конфигурацию Caddy, службы systemd, проверку готовности и средства диагностики.
Ниже приведён вариант для чистого VPS на Ubuntu 22.04 или новее либо Debian 12 или новее, с архитектурой x86_64. Автоматический установщик рассчитан на сервер с systemd и публичным IPv4.
Команды выполняйте только на собственном сервере или с разрешения администратора. Перед изменением сетевых правил проверьте доступ по SSH и сохраните резервную копию конфигурации. Учитывайте местные правила использования прокси. WEB Proxy не гарантирует анонимность и доступность Telegram в любой сети.
Шаг 1. Проверьте свободные порты.
Подключитесь к VPS по SSH.
ssh admin@SERVER_IP
Проверьте, какие программы слушают TCP-порты 80 и 443.
sudo ss -lntp '( sport = :80 or sport = :443 )'
Если вывод показывает работающий Nginx, Apache, Caddy или другой сервис, не запускайте автоматический установщик без предварительной подготовки. Сценарий установки tproxy-server заменяет активную конфигурацию Caddy. Для действующего веб-сервера лучше использовать отдельный VPS или вручную интегрировать прокси.
Шаг 2. Подготовьте DNS и сетевой экран.
Создайте запись A, которая направляет домен на сервер. После применения DNS проверьте результат.
getent ahostsv4 notes.example.com
Разрешите входящий TCP-трафик на порты 80 и 443. Если на сервере уже включён UFW, команды будут следующими.
sudo ufw status
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Не включайте UFW впервые, пока не убедитесь, что правило для SSH разрешает подключение администратора. Дополнительно проверьте сетевой экран в панели хостинг-провайдера.
Шаг 3. Установите необходимые инструменты и получите исходный код.
sudo apt update
sudo apt install -y git openssl curl
git clone https://github.com/telegramdesktop/tproxy-server.git
Проект содержит установщик deploy/install.sh, который собирает серверную программу, устанавливает MTProxy и настраивает необходимые службы. Перед запуском сценария с правами root ознакомьтесь с исходным кодом и зафиксируйте проверенную версию репозитория.
Шаг 4. Создайте секретный ключ.
openssl rand -hex 16
Команда создаст 16 случайных байтов, представленных строкой из 32 шестнадцатеричных символов. Сохраните секрет. Не публикуйте ключ в открытых репозиториях и общедоступных журналах.
Шаг 5. Подготовьте веб-страницу.
В отличие от установки через AmneziaVPN, самостоятельный установщик tproxy-server требует существующий сайт или веб-приложение. Для первичного теста можно создать минимальную страницу.
mkdir -p "$HOME/my-site"
printf '%sn'
'<h1>Личные заметки</h1><p>Технический сайт.</p>'
> "$HOME/my-site/index.html"
Для постоянной эксплуатации лучше создать полноценный небольшой сайт с несколькими страницами. Одинаковые простые заглушки на множестве серверов легко распознаются при активных сетевых проверках. Наличие веб-страницы само по себе не гарантирует, что прокси останется незаметным.
Шаг 6. Запустите установщик.
cd "$HOME/tproxy-server"
sudo ./deploy/install.sh
--hostname notes.example.com
--email admin@example.com
--site-dir "$HOME/my-site"
Замените домен и электронную почту собственными значениями. Установщик запросит Secret без отображения введённых символов. Вставьте ключ, созданный на предыдущем шаге.
Сценарий установит необходимые зависимости, Caddy, сервер WEB Proxy, официальный MTProxy, настроит systemd и запросит HTTPS-сертификат.
После установки схема сервера будет выглядеть следующим образом.
Интернет
|
| TCP 443 / HTTPS
|
Caddy
|
| 127.0.0.1:8080
|
tproxy-server
|
| 127.0.0.1:2398
|
MTProxy
|
|
Серверы Telegram
Внешним пользователям должны быть доступны только необходимые публичные службы. В частности, административный порт 8081, внутренний порт 8080, сервер MTProxy на 2398 и порт статистики 8888 не должны быть открыты в интернет.
Шаг 7. Проверьте работу служб.
sudo systemctl --no-pager --full status
caddy tproxy-firewall mtproxy tproxy-server
curl --fail http://127.0.0.1:8081/healthz
curl --fail http://127.0.0.1:8081/readyz
Ответ от healthz подтверждает работу процесса, а readyz проверяет готовность серверной цепочки. При недоступности MTProxy проверка готовности может вернуть HTTP 503.
Отдельно убедитесь, что HTTPS-сертификат действует и домен открывается с внешнего компьютера.
curl --fail --show-error
https://notes.example.com/
openssl s_client
-connect notes.example.com:443
-servername notes.example.com
</dev/null 2>/dev/null
| openssl x509 -noout -dates
При нормальной настройке браузер откроет подготовленный сайт, а сертификат будет соответствовать домену.
Шаг 8. Подключите Telegram.
Откройте настройки WEB Proxy и укажите собственные Host и Secret. Для установки в корне домена порт вводить не требуется.
Можно также создать ссылку с параметрами подключения, подставив настоящий секрет.
tg://webproxy?server=notes.example.com&secret=YOUR_SECRET
Если WEB Proxy установлен не в корне домена, а по отдельному пути, формат ссылки и секрета может отличаться. В таком случае используйте готовую ссылку, которую сформировал установщик, а не собирайте адрес вручную.
Проверка работы, типичные ошибки и риски
Самая частая ошибка при настройке WEB Proxy заключается в том, что администратор проверяет только доступность HTTPS-сайта. Страница действительно открывается, сертификат действует, однако Telegram продолжает показывать «Подключение».
Работающий веб-сервер ещё не означает, что связка WebView, tproxy-server и MTProxy может передавать сообщения.
Что проверить, если прокси не подключается
- DNS. Убедитесь, что доменное имя указывает на правильный публичный IPv4. Удалите ошибочную AAAA-запись, если IPv6 на сервере фактически не работает.
- Порты. Проверьте входящий TCP-трафик на 80 и 443 в локальном и облачном сетевых экранах.
- Сертификат. HTTPS должен открываться без предупреждений о недоверенном сертификате или несовпадении домена.
- Secret. Проверьте, что ключ совпадает с серверным. Даже один неправильный символ нарушает подключение.
- Версия Telegram. Убедитесь, что клиент действительно поддерживает WEB Proxy. Попробуйте актуальную стабильную сборку.
- MTProxy. Проверьте состояние внутреннего сервиса и его соединение с серверами Telegram.
- Сеть клиента. Сравните работу через домашний интернет, мобильную сеть и другую точку доступа.
Для просмотра ошибок systemd используйте следующую команду.
sudo journalctl
-u tproxy-server
-u mtproxy
-u caddy
--since "30 minutes ago"
Если сервер отвечает на HTTPS, но проверка readyz возвращает 503, исследуйте MTProxy. В облачных инфраструктурах с NAT иногда требуется передать MTProxy внутренний и внешний адрес через параметр --nat-info. Автоматический установщик пытается определить такую конфигурацию самостоятельно.
Как проверить, что внутренние порты закрыты
С другого компьютера, находящегося вне сети VPS, проверьте доступность внутренних служб.
nc -vz -w 3 SERVER_IP 2398
nc -vz -w 3 SERVER_IP 8080
nc -vz -w 3 SERVER_IP 8081
nc -vz -w 3 SERVER_IP 8888
Подключения должны завершаться отказом или тайм-аутом. Если внутренние порты доступны, исправьте правила сетевого экрана. Открытый служебный интерфейс создаёт лишнюю поверхность атаки, даже если отдельные методы требуют аутентификации.
Что влияет на скорость WEB Proxy
WEB Proxy добавляет ещё один транспортный уровень. Поэтому при неблагоприятной конфигурации сервер может работать медленнее обычного MTProxy.
На практике задержки зависят от маршрута к VPS, нагрузки на процессор, качества соединения с дата-центрами Telegram, режима передачи данных, ограничений количества потоков и буферов сервера.
В tproxy-server поддерживаются разные режимы передачи трафика. HTTPS использует обмен HTTP-запросами, а WebSocket поддерживает длительное двустороннее соединение. WebSocket способен повысить пропускную способность на некоторых маршрутах, но не гарантирует лучшую работу во всех сетях. На отдельных клиентах режимы с несколькими каналами могут вести себя хуже из-за особенностей браузерного движка.
Для диагностики производительности доступны внутренние метрики сервера.
curl --silent
http://127.0.0.1:8081/metrics
При торможении загрузки файлов полезно смотреть показатели tproxy_limit_hits_total и tproxy_pending_bytes. Рост числа срабатываний ограничений может указывать на нехватку выделенных ресурсов или слишком жёсткие лимиты.
Менять лимиты вслепую не нужно. Сначала измерьте нагрузку, задержку, скорость загрузки и число подключённых клиентов.
Насколько безопасен WEB Proxy
Содержимое сообщений остаётся защищённым механизмами Telegram. WEB Proxy не предоставляет своему оператору обычного доступа к переписке. Но оператор сервера видит IP-адрес подключившегося пользователя и может фиксировать время соединений и объём переданных данных.
Дополнительный риск связан с WebView. WEB Proxy запускает веб-страницу провайдера в фоновом режиме. Telegram специально предупреждает пользователей, что такой сервер следует выбирать только при доверии к его владельцу.
Хотя браузерный компонент изолирует веб-содержимое от данных Telegram, запуск стороннего веб-кода создаёт дополнительную поверхность атаки. Уязвимости браузерного движка, ошибки клиента или серверной реализации нельзя исключать.
Поэтому для личного использования предпочтителен собственный WEB Proxy или сервер администратора, которому вы доверяете. Случайные публичные прокси могут исчезнуть, собирать метаданные или неожиданно менять условия работы.
Отдельный секрет ограничивает доступ к вашему серверу. Если ключ оказался в открытом доступе, посторонние смогут использовать прокси и расходовать его ресурсы. При компрометации ключ следует заменить и обновить параметры подключения на клиентских устройствах.
Частые вопросы о Telegram WEB Proxy
WEB Proxy и Telegram Web являются одним сервисом?
Нет. Telegram Web представляет собой браузерную версию мессенджера, а WEB Proxy является специальным транспортом для совместимых приложений Telegram. В браузерной версии web.telegram.org нет отдельной настройки этого протокола. Проксирование браузера выполняется другими средствами.
Можно ли установить WEB Proxy без собственного домена?
Для описанной серверной реализации требуется доменное имя, направленное на VPS, и действующий HTTPS-сертификат. Использовать только IP-адрес вместо домена в стандартной схеме установки нельзя. Достаточно отдельного поддомена уже зарегистрированного домена.
Можно ли использовать порт 8443 вместо 443?
В стандартном WEB Proxy порт 443 задан самим протоколом подключения и не вводится пользователем. Сервер может иметь дополнительные внутренние порты, но публичное HTTPS-соединение клиента использует 443. Для нестандартного внешнего порта удобнее рассмотреть другие способы проксирования.
Поддерживает ли WEB Proxy голосовые и видеозвонки?
В рассматриваемой реализации WEB Proxy переносит MTProxy-соединения и не обеспечивает проксирование звонков Telegram. Если звонки не проходят при активном WEB Proxy, проблема может быть связана с ограничениями выбранного транспорта. Для звонков потребуется другой подход к сетевому подключению.
Можно ли использовать WEB Proxy вместе с обычным VPN?
Да. VPN может направлять сетевой трафик устройства через собственный туннель, а Telegram внутри этого соединения будет подключаться к WEB Proxy. Дополнительный маршрут увеличивает сложность конфигурации и иногда задержку. Польза зависит от используемой сети и задачи.
Можно ли разместить WEB Proxy на сервере с действующим сайтом?
Да, tproxy-server поддерживает интеграцию с существующим веб-сайтом через отдельный путь и обратный прокси. Для подобной схемы нужны дополнительные настройки маршрутизации, заголовков и секретного ключа. Автоматический установщик для чистого VPS применять к работающему сайту без подготовки нельзя, поскольку он меняет конфигурацию Caddy.
Почему WEB Proxy не работает при включённом Cloudflare?
Промежуточный CDN или обратный прокси может изменить поведение HTTP-запросов, WebSocket, заголовков и проверки подлинности. Некоторые защитные механизмы, включая JavaScript-проверки, несовместимы со служебной страницей WEB Proxy. Для первоначальной установки используйте прямую DNS-запись без проксирования и проверьте соединение с исходным сервером.
WEB Proxy полностью скрывает использование Telegram от провайдера?
Нет. WEB Proxy использует настоящий HTTPS и может затруднять определение приложения по сетевым признакам, но провайдер продолжает видеть определённые метаданные соединения. Системы анализа могут сопоставлять IP-адреса, домены, TLS-характеристики и закономерности трафика. Гарантировать нераспознаваемость такого подключения нельзя.
Что выбрать
WEB Proxy представляет собой интересное развитие MTProxy. Вместо имитации защищённого веб-трафика Telegram использует настоящий браузерный механизм HTTPS. С технической точки зрения подход разумный, поскольку позволяет сохранить привычный транспорт MTProto и изменить внешний вид сетевого соединения.
Для обычного пользователя достаточно получить Host и Secret доверенного WEB Proxy и добавить сервер в настройках Telegram. Администратору, который хочет собственный узел без ручной сборки, проще начать с AmneziaVPN. Для самостоятельного управления службами, правилами доступа, веб-сайтом и производительностью больше подходит tproxy-server на выделенном VPS.
При этом WEB Proxy не является универсальной заменой VPN и не гарантирует устойчивость к любым сетевым ограничениям. Новый транспорт сложнее обычного MTProxy, требует дополнительной серверной инфраструктуры и пока имеет особенности совместимости и производительности.
Я бы начал с установки WEB Proxy на отдельном VPS, проверил соединение с Windows, Android и iPhone через несколько разных сетей и только после этого переводил на сервер постоянных пользователей. Главный критерий качества не наличие HTTPS и красивой веб-страницы, а стабильная доставка сообщений и медиа без зависаний, утечки секретов и открытых служебных портов.