Описание
WebSocket-transport — это исторически первый transport-метод обхода в стэке V2Ray, появился в 2018 году в самой ранней версии v2fly. Идея простая: открываем стандартный WebSocket-frame поверх TLS на 443 порту через любой обычный веб-сервер (nginx, Caddy, Apache), и внутри этой сессии прокачиваем VMess или VLESS payload. Для DPI выглядит как Discord, Slack или любой другой long-poll веб-сервис. Сравнение с gRPC: WS проще в настройке — любой админ, державший в руках nginx, поднимет его за 10 минут; gRPC дешевле на multiplexing — несколько логических streams в одном TLS-соединении уменьшают round-trip overhead. HTTPUpgrade-transport (2024+) — это модернизация WS: тот же handshake, но без upgrade-фрейминга, что делает трафик ещё менее заметным. В 2026 году WS остаётся самым популярным fallback'ом — особенно через Cloudflare Workers, где CF само терминирует TLS и WS, а наш сервер на VPS работает как HTTP-бэкенд.
В России — частично
Работает с CDN-проксированием. Без CDN — ТСПУ детектирует подозрительные long-lived WS streams. Стандартная Cloudflare-Free связка работает.
Где используется
Self-host для пользователей с уже работающим Caddy/nginx + Cloudflare. Особенно удобно когда нужен один сервер для веба + VPN.
Поддерживаемые реализации
- xray-core
- v2ray-core
- sing-box
плюсы
- + Простота настройки (любой web-server с WS-proxy)
- + Хорошо ложится через CDN (Cloudflare Workers, etc.)
- + Совместим с любой web-инфраструктурой
- + Минимальный overhead на handshake
минусы
- − Длинные WS-сессии (>1ч) подозрительны без CDN
- − TCP-based — медленнее чем UDP-based (Hysteria-2, TUIC) на lossy сетях
- − Старый pattern — DPI его хорошо знает