Вышел новый релиз 1.0.2 проекта CFXHTTP, представляющего собой реализацию VLESS-прокси-сервера с Websocket- и XHTTP-транспортами на платформе Cloudflare Pages и Cloudflare Workers.
Pages — бесплатный хостинг веб-сайтов от компании Cloudflare, который кроме раздачи статического контента также позволяет запускать Javascript-код. Для сайтов на бесплатном тарифе не нужно даже иметь домен, так как CF разрешает создавать поддомены на своем домене pages.dev для пользовательских сайтов.
Таким образом, CFXHTTP позволяет поднять свой VLESS-прокси с использованием бесплатного тарифа Cloudflare, не потратив на это ни копейки и даже не имея домена.
Инструкция по развертыванию на английском языке здесь, а на китайском здесь (она более полная, можно перевести google translate). Необходимо прописать переменные окружения WS_PATH (или XHTTP_PATH) и UUID и загрузить файлы на сервер Cloudflare. После чего можно подключаться к вашему личному прокси с помощью почти любого клиента на базе XRay. CFXHTTP так же может сгенерировать config.json для подключения к серверу при обращении к определенному URL.
Имеющиеся ограничения:
Проксируется только TCP, проксировать UDP невозможно. Соотвественно, не будут работать игры, звонки в месседжерах, и т.д. Если вы используете клиент в режиме local proxy то проблем с конфигурацией быть не должно, если вы используете TUN-режим, то нужно настроить локальный DNS в клиенте для использования TCP (например tcp://8.8.8.8:53) или DoT.
Не поддерживается мультиплексирование (mux.cool) и early data для вебсокет-транспорта
Транспорт XHTTP работает только через Workers, для которых нужен домен и для которых на бесплатном тарифе есть ограничение на количество запросов. WS-транспорт работает и с Pages, не требуя отдельного домена.
Workers и Pages имеют ограничения на потребляемые ресурсы и время выполнения, поэтому долго живущие подключения (например, при скачивании больших файлов) могут быть принудительно разорваны через какое-то время активности.
Как сказал автор, «The more people knows of this script, the sooner this script got banned.» Поэтому перед загрузкой файлов на сервер не лишним будет еще раз прогнать js-код через обфускатор и поменять строковые константы на свои.
В остальном же, оно вполне работает. Через Hiddify у меня почему-то не завелось (возможно потому что он основан на Sing-box), через v2rayNG (после конфигурации DNS через TCP и отключения мультиплексирования) заработало без проблем, сайты открываются стабильно и без видимых задержек, сервисы проверки IP-адреса клиента показывают IP из сетей Cloudflare.
Все посты подряд / Информационная безопасность / Хабр