Вышел новый релиз 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.