В августе промелькнула новость про новый вариант проксирования в Telegram, но руки до разбора дошли только сейчас. Итог: принципиально нового мало — это всё тот же MTProxy, завёрнутый в HTTPS/WebSocket.
Клиент открывает страницу в WebView, и снаружи происходящее неотличимо от обычного обмена с сайтом по HTTP+WSS. Реализация — набор сервисов на Go поверх Caddy, отсюда и разговоры про «умный» веб-сервер вместо привычного nginx.
Дальше автор пошёл своим путём: Caddy поднимать не хотелось, конфиг nginx уже разросся до мини-зоопарка, поэтому понадобился скрипт, который просто добавляет location. По дороге вылезли грабли: порты 8080 и 8081 заняты, ready-проба на /readyz не проходит, пришлось двигать на 8083 и 8082. Классика жанра.
Самое любопытное — почему прокси «через другой домен» не заводится. Capability считает клиент: HMAC-SHA256 от секрета, hostname и base path. Сервер пересчитывает то же самое из своей конфигурации, а не из заголовка Host. Не сошлось имя хоста — не сошёлся хеш.
В официальной документации дополнительный прокси перед WEB-proxy и не советуют, хотя теоретически это возможно.



