Все статьи
Технологии
22 мин

3 локации, VLESS + REALITY + XTLS Vision: технологии VPN RUS Client изнутри

Когда говорят «VPN для России», обычно подразумевается что-то простое: подключился, и заработал YouTube. Но за этой простотой стоит большой стек технологий, который должен одновременно обходить активные блокировки на уровне провайдера (DPI, TSPU), держать стабильное соединение на нестабильных мобильных сетях, маршрутизировать трафик с минимальной задержкой и при этом не выдавать себя как VPN. В этой статье мы открываем «капот» нашего сервиса: рассказываем, как устроена инфраструктура из трёх локаций, почему мы используем именно VLESS+REALITY+XTLS Vision, как настроили TCP keepalive для стабильности и почему наш сервис работает там, где не работают популярные иностранные VPN.

Три локации: зачем нам это и какие задачи решает каждая

Один сервер для VPN-сервиса — это плохая архитектура. Когда у вас единственная точка выхода, любая проблема (падение хостинга, блокировка IP-адреса провайдером, перегрузка в пиковые часы) кладёт всех ваших пользователей одновременно. Поэтому мы изначально планировали как минимум резервный узел, а в мае 2026 расширились до полноценных трёх локаций — каждая со своей географией, своими сетевыми характеристиками и своей ролью в общей схеме.

🇳🇱 Нидерланды (основная локация)

Наш основной узел находится в Амстердаме, на дата-центре с прямыми пирингами на NL-IX (Amsterdam Internet Exchange) и DE-CIX (через короткие подводные кабели). С точки зрения российского пользователя это означает короткий путь: трафик из Москвы или Питера до нашего сервера проходит через 4-6 хопов по магистральным каналам и достигает Нидерландов за 35-50 мс. Это эквивалентно пингу до соседнего города по идеальному каналу — то есть VPN практически не вносит заметной задержки в работу веб-сайтов, мессенджеров и видео.

NL-сервер сконфигурирован как универсальный: на нём активны оба наших протокола (VLESS+WebSocket и VLESS+REALITY), полная пропускная способность (1 Гбит/с дуплекс), большой запас по соединениям (поддерживаем до 2000 одновременных). Здесь у нас обычно держится 80% общего трафика в обычные часы и 90% в вечерние пиковые. Сервер — выделенная виртуальная машина на AMD EPYC, 3 ядра, 1 ГБ RAM, что для xray-core с парой сотен активных юзеров — с запасом.

🇩🇪 Германия (резервная локация + южный регион РФ)

Сервер во Франкфурте играет двойную роль. Во-первых, это полноценный резервный узел: если у вашего провайдера в какой-то момент ухудшается маршрут до Нидерландов (бывает редко, но бывает), вы переключаетесь на DE одним тапом и продолжаете работать без перерыва. Во-вторых, это лучший выбор для пользователей из южных регионов России: Ростов, Краснодар, Самара, Волгоград. Их интернет-провайдеры часто имеют более короткий маршрут до DE через украинско-польские кабели или через Турцию-Балканы, и пинг получается на 5-15 мс меньше, чем до NL.

Конфигурация — такая же выделенная виртуалка на Intel Broadwell, 3 ядра, 1 ГБ RAM, но загрузка меньше: обычно 25-50 одновременных подключений. Это сервер «второго эшелона», но мы держим его в полной готовности и регулярно прогоняем через нагрузочное тестирование, чтобы быть уверенными — если NL упадёт, DE возьмёт всю нагрузку.

🇸🇪 Швеция (REALITY-сервер для обхода DPI)

Шведский сервер в Стокгольме — это особая локация со специальным назначением. На нём работает только протокол VLESS+REALITY, и используется он, когда обычный VPN-трафик начинает резаться DPI на стороне провайдера. Особенно это актуально для пользователей Билайна, у которого TSPU агрессивно фильтрует подозрительные TLS-рукопожатия — даже если ваш трафик «выглядит как HTTPS», некоторые паттерны в нём могут быть распознаны как VPN-туннель.

REALITY на SE-сервере «перехватывает» рукопожатие TLS, имитируя то, что вы общаетесь с реальным крупным сайтом (наш сервер при первом контакте представляется как www.cloudflare.com), и потом плавно переключается на проксирование вашего трафика. Для DPI это выглядит как обычный визит на популярный американский сайт — заблокировать невозможно, не положив пол-интернета. На этом сервере у нас обычно 150-200 активных подключений — все, у кого вечером начинает «лагать NL» из-за провайдерских ограничений.

Протокол VLESS: почему не OpenVPN или WireGuard

В 2026 году выбор протокола — это самый важный решение для VPN-сервиса, ориентированного на российский рынок. Большинство «обычных» VPN используют OpenVPN или WireGuard, и оба этих протокола в России работают плохо или вовсе не работают. Объясним почему.

OpenVPN — старый, надёжный, и легко распознаваемый. Его UDP-вариант имеет характерную сигнатуру в первых байтах каждого пакета (HMAC + ID опкода), которую DPI идентифицирует за миллисекунды. TCP-вариант чуть лучше маскируется как HTTPS, но всё равно отличается от настоящего HTTPS-трафика по таймингам и размерам пакетов. РКН и провайдерские системы DPI блокируют OpenVPN целыми пачками: либо просто дропают пакеты на 1194/UDP (стандартный порт), либо TBR (TCP reset) для любого подозрительного трафика. На большинстве крупных российских провайдеров OpenVPN сейчас работает крайне нестабильно — несколько минут, потом блок, потом полчаса перерыв, потом снова работает. Для повседневного использования не годится.

WireGuard — современная замена OpenVPN, шифрование быстрее, конфиг проще. Но он тоже легко распознаётся: WireGuard использует UDP с очень характерной структурой первого пакета (MessageInitiation), и любой DPI знает, что искать. Plus WireGuard не умеет «маскироваться» под другой трафик — он либо работает, либо нет. В России почти все коммерческие VPN-провайдеры на WireGuard сейчас либо мертвы, либо требуют постоянной смены IP-адресов. Это не вариант для надёжного сервиса.

VLESS — это протокол из семейства V2Ray/Xray. По сути это «голый» транспорт: минимум служебных байт в начале каждого соединения, всё остальное — обычный TLS-зашифрованный поток. VLESS не оставляет сигнатур, по которым его можно легко вычислить. Сам по себе он не невидим, но в комбинации с правильной обёрткой (REALITY, WebSocket-over-TLS) становится почти неотличим от обычного HTTPS-трафика.

REALITY: технология обхода DPI

REALITY — это, пожалуй, самая интересная технология в современном арсенале обхода блокировок. Идея простая: чтобы ваш VPN-трафик нельзя было отличить от трафика к реальному сайту, мы используем рукопожатие настоящего сайта в качестве своего. Подробно:

  1. Когда вы подключаетесь к нашему REALITY-серверу, клиент устанавливает TLS-соединение с указанным SNI (например, www.cloudflare.com).
  2. Наш сервер открывает «настоящее» TLS-соединение с cloudflare.com и пересылает рукопожатие туда. Cloudflare видит идеальный TLS-запрос, отдаёт свой сертификат — он действительно валидный, выписан настоящим CA на cloudflare.com.
  3. Сервер пересылает этот сертификат вам — вы получаете рукопожатие, которое CRYPTOGRAPHICALLY НЕОТЛИЧИМО от настоящего рукопожатия с Cloudflare. DPI на этом этапе никак не может определить, что соединение «фейковое».
  4. Но в специальный «подсолённый» XOR-фрагмент клиент-сервер обмениваются заранее согласованным секретом (через SID — короткий идентификатор) и переключают сессию в режим VLESS-туннеля.
  5. Дальше идёт обычный VLESS-зашифрованный трафик, но он внешне «обёрнут» в продолжение TLS-сессии с Cloudflare. DPI видит «вы общаетесь с Cloudflare очень долго и много» — и ничего не может сделать, потому что это легитимно выглядит.

В деталях механизм гораздо сложнее (используется ECDH на curve25519, специально подобранные SNI с большим количеством легитимного трафика на хосте, защита от replay-атак), но главная идея: если DPI попробует заблокировать ваш REALITY-трафик, ему придётся заблокировать заодно и весь Cloudflare. А Cloudflare — это, в зависимости от метрики, 20-40% всего глобального HTTPS-трафика. Никто на такое не пойдёт.

XTLS Vision: ускорение TLS-внутри-TLS

Когда вы используете VPN с TLS-обёрткой (типа VLESS+TLS+WS), у вас в каждый сетевой пакет упакован TLS внутри TLS: внешний — это рукопожатие с VPN-сервером, внутренний — это рукопожатие с целевым сайтом (например, YouTube). Двойное шифрование ест CPU и добавляет задержки. На больших скоростях (видео 4K, скачивание файлов) это становится заметным.

XTLS Vision — это оптимизация, при которой клиент и сервер «договариваются», что часть данных не требует дополнительного шифрования (потому что они уже зашифрованы внутренним TLS целевого сайта). Это позволяет проксировать TLS-трафик с минимальным оверхедом — иногда в 1.5-2 раза быстрее, чем «голый» VLESS+TLS. Особенно заметно на видео и при скачивании больших файлов.

Мы используем XTLS Vision на NL-сервере для REALITY-подключений: flow: xtls-rprx-vision. Это даёт ощутимый прирост скорости для пользователей, которые качают много трафика. Для повседневного браузинга вы вряд ли заметите разницу, но если вы смотрите 4K-видео или скачиваете большие файлы — это работает.

TCP keepalive: как мы убрали обрывы на мобильных сетях

Одна из самых частых жалоб мобильных VPN-пользователей — «у меня вечно подвисает в метро». Причина в том, что мобильные сети агрессивно «срезают» TCP-соединения, которые не передают данные больше 1-2 минут. NAT-шлюз провайдера выкидывает запись о вашем соединении из своей таблицы, и если потом приходит пакет — он просто дропается.

По умолчанию Linux держит TCP keepalive на 7200 секунд (это 2 часа полной тишины перед первым пробным пакетом). Понятно, что для мобильных сетей это бесполезно — за эти 2 часа NAT уже сто раз протухнет. Мы выкрутили этот параметр в xray inbound через sockopt:

{
  "inbounds": [{
    "port": 443,
    "protocol": "vless",
    "streamSettings": {
      "sockopt": {
        "tcpKeepAliveInterval": 30,
        "tcpKeepAliveIdle": 30
      }
    }
  }]
}

Что это значит на практике: каждые 30 секунд бездействия сервер отправляет пробный пакет, чтобы напомнить NAT-у «эй, я ещё тут». NAT обновляет запись, соединение остаётся живым. Если же NAT уже выкинул запись, сервер мгновенно об этом узнает (по дропу пробного пакета), и клиент переподключится за миллисекунды.

На практике это означает: ваш VPN держится круглосуточно, даже если вы оставили телефон в режиме блокировки в кармане, в метро без связи, или с активным передвижением между WiFi и LTE. После добавления этого параметра доля «обрывов больше минуты» в логах xray упала с ~5% до <0.5%.

Обфускация: WebSocket-over-TLS как стандарт

На наших NL и DE серверах основной режим — это VLESS+WebSocket+TLS. Что это значит технически:

  • Внешний слой: обычный HTTPS на порту 443. Любой DPI видит TLS-рукопожатие к нашему домену vpn.vpnrusclient.com, валидный Let’s Encrypt сертификат, стандартные TLS 1.3 шифры. Полностью неотличимо от любого сайта.
  • Средний слой: WebSocket-апгрейд по адресу /vpnws. После TLS-рукопожатия клиент посылает обычный HTTP-запрос с заголовком Upgrade: websocket, сервер отвечает 101 Switching Protocols. С точки зрения DPI это легитимный сайт с WebSocket-приложением (как мессенджер или биржа).
  • Внутренний слой: в WebSocket-фреймах летит VLESS-туннель, через который идут ваши настоящие данные.

Этот стек обходит большинство «наивных» DPI, которые ловят VPN-трафик по сигнатурам начала соединения. У вас всё выглядит как «работа с WebSocket-приложением на vpn.vpnrusclient.com». Когда DPI становится умнее (TSPU умеет анализировать поведение трафика после рукопожатия) — мы переключаемся на REALITY-сервер в Швеции, который ещё больше маскируется.

Сравнение с популярными альтернативами

Часто слышим: «А чем вы лучше NordVPN/Surfshark/ExpressVPN?» Объясняем технически:

ПараметрVPN RUS ClientNordVPN / Surfshark / ExpressVPN
ПротоколVLESS+REALITY+XTLS VisionOpenVPN / WireGuard / IKEv2
Работа в РоссииРаботает стабильноЗаблокирован, либо работает нестабильно
Обфускация DPIREALITY с подменой SNIИногда есть obfsproxy, не на всех серверах
Умный маршрут (split tunneling по доменам)Встроен, 100+ RU сайтовТолько по приложениям, не по доменам
Локации для RU3 оптимизированных (NL, DE, SE)100+ серверов, но многие не работают из РФ
Цена в месяц~170 рублей при оплате за год800-1500 руб (если они вообще ещё принимают оплату из РФ)
Поддержка на русскомДа, в Telegram-ботеТолько английский

Иностранные VPN-сервисы не делались под российский рынок. У них шикарный маркетинг, красивые приложения, но архитектура заточена под обход геоблокировок в США/Европе, а не под борьбу с активным DPI на стороне провайдера. Мы делаем продукт для конкретного контекста — Россия, 2026, всё работает плохо без VPN, нужно чтобы работало хорошо с VPN, при этом не ломая повседневные сервисы.

Мониторинг и SLA

За каждым из трёх серверов мы следим в реальном времени:

  • Каждые 5 минут — health-check скрипт пробует подключиться к каждому из NL/DE/SE и измеряет latency. Если RTT выше 200 мс или сервер не отвечает 2 раза подряд — алерт в Telegram.
  • Каждые 10 минут — abuse_guard.py смотрит на количество активных подключений и уникальных пользователей. Если какой-то клиент подключается с 5+ разных IP одновременно (признак шеринга подписки) — он временно ограничивается.
  • Каждые 5 минут — notify_expiring.py проверяет, не истекают ли подписки у пользователей в ближайшие 5 дней, и шлёт напоминание в Telegram + email.
  • Резервные копии БД — каждые 6 часов на отдельный хост. История пользователей, подписок, кодов — не теряется.

Наш SLA — 99.5% uptime по основному NL-серверу за последний месяц. Это значит, что в течение 30 дней допустимо не более 3.6 часов суммарных проблем. По факту за май 2026 у нас было 11 минут простоя на NL (плановое обновление xray-core), DE и SE работали без перерыва.

Стек технологий полным списком

Для полноты картины — что у нас под капотом, кто хочет глубже разбираться:

  • Xray-core — основной прокси-сервер. Форк V2Ray с улучшенной производительностью и поддержкой REALITY.
  • VLESS — основной протокол. Минимум служебных байт, максимум совместимости с обфускацией.
  • REALITY — подмена TLS-рукопожатия для обхода DPI.
  • XTLS Vision — оптимизация TLS-внутри-TLS для скорости.
  • WebSocket-over-TLS — основной транспорт на NL и DE.
  • nginx — фронт-прокси для маршрутизации запросов между WS-апгрейдом и веб-сайтом на тех же серверах.
  • Let’s Encrypt — TLS-сертификаты с автоматическим обновлением.
  • SQLite — основная база данных. Подходит для нашей нагрузки и не требует отдельного БД-сервера.
  • Telegram-бот на python-telegram-bot — основной канал взаимодействия с пользователями.
  • Next.js 16 — сайт и личный кабинет на vrclient.online.
  • Yandex SMTP — отправка писем (коды активации, напоминания об окончании).

Заключение

Технологии в нашем VPN не самоцель — они подобраны под конкретную задачу: обеспечить стабильный, быстрый и невидимый для DPI доступ к зарубежным сервисам, не ломая при этом российские. Три локации дают резерв и гибкость, REALITY обходит самые агрессивные блокировки, XTLS Vision добавляет скорости, keepalive убирает обрывы. Каждый кирпичик решает свою задачу. Если хотите сами проверить, как это работает — заходите на vrclient.online/trial, заведите бесплатный 24-часовой триал, поставьте Hiddify или наш Windows-клиент. Через 5 минут будете обходить блокировки на уровне, недоступном для большинства массовых VPN.