Сделал себе VPN, который:

— работает через VLESS Reality, неотличимый от обычного HTTPS

— пробивает белые списки мобильных операторов через relay на Yandex Cloud

— имеет готовый код для аварийного канала через WebRTC и Яндекс.Телемост (пока не понадобился) — автоматически переключается между 4 уровнями защиты

— пропускает российские сайты (Яндекс, Госуслуги, банки) напрямую, без VPN

Весь код, конфиги, скрипты деплоя — всё написал Claude Code. Я только описал проблему и дал ему почитать несколько статей с Хабра про блокировки. Ну и бил его кнутом, пока всё не заработает.

Расскажу, как это устроено и как повторить.

Зачем вообще заморачиваться

Если коротко: к апрелю 2026 года в России заблокировано 469+ VPN-сервисов. OpenVPN, WireGuard — мертвы, ТСПУ распознает их за миллисекунды. Коммерческие VPN отваливаются один за другим.

На мобильных операторах ситуация ещё хуже — МТС, Мегафон, Yota, Tele2 и Beeline используют белые списки. Это значит, что пропускается только трафик к одобренным IP-адресам, а всё остальное режется.

Стандартный ответ: «подними VLESS Reality на VPS за границей». Это работает. До первой блокировки IP. А дальше начинается квест с пересозданием серверов, сменой портов, подбором SNI. Каждый раз заново.

Мне нужно было решение, которое не ломается от одной блокировки. Система с запасными выходами.


Что я сделал (и что сделал Claude Code)

Я не писал код. Вообще. Вот что я реально делал:

  1. Описал Claude Code проблему: «В РФ внедряют белые списки и блокируют все сервисы, которые не входят в эти списки, зарубежные сервисы не работают без VPN. Хочу сделать свой VPN. Изучи статьи и текст ниже, на основе этой и другой информации по теме в сети, сформируй план, как мне сделать свой VPN»

  2. Скормил ему несколько статей с Хабра про текущее состояние блокировок (в частности, zarazaexe про ТСПУ и белые списки)

  3. Арендовал VPS в Швеции (Aeza, 2 евро в месяц)

  4. Купил домен за 1 евро в год

  5. Подключался по SSH и выполнял команды, которые генерировал Claude Code

  6. Установил Hiddify на Windows и Shadowrocket на iPhone, импортировал VLESS-ссылку — и подключился к своему VPN

Claude Code сделал всё остальное: написал конфиги для Xray-core, скрипты автоматического деплоя, настройку Cloudflare, relay через Yandex Cloud, скрипт для WebRTC-туннеля через Яндекс.Телемост, split routing для российских сайтов.


Архитектура: 4 уровня защиты

Идея простая — если один метод перестал работать, автоматически включается следующий. Как запасные выходы из здания.

Layer 0: ПРЯМОЕ ПОДКЛЮЧЕНИЕ (основной)
Устройство --VLESS Reality--> VPS в Швеции --> Интернет
Для DPI выглядит как HTTPS к www.microsoft.com

Layer 1: CDN-ФРОНТИНГ
Устройство --HTTPS/WSS--> Cloudflare CDN --> VPS --> Интернет
Если IP VPS заблокирован (на мобильных сетях с белыми списками не работает — CF не в белых списках)

Layer 2: RELAY ЧЕРЕЗ YANDEX CLOUD
Устройство --VLESS--> VM в Yandex Cloud (РФ) --xHTTP--> VPS --> Интернет
IP Yandex Cloud в белых списках — обходит белые списки мобильных операторов

Layer 3: АВАРИЙНЫЙ — WebRTC (код готов, пока не подключал)
Устройство --WebRTC--> Яндекс.Телемост --> VPS --> Интернет
Яндекс ВСЕГДА в белом списке. Последний рубеж.

Плюс split routing: российские сайты (Яндекс, VK, Госуслуги, банки) идут напрямую, без VPN. Со включённым VPN я открываю и YouTube, и Яндекс — каждый через нужный маршрут.


Layer 0: VLESS Reality — основа всего

VLESS Reality — протокол, который делает VPN-трафик неотличимым от обычного HTTPS к крупному сайту. DPI видит: «пользователь подключается к Microsoft по HTTPS». На самом деле трафик идёт через ваш сервер.

Как это работает: клиент устанавливает TLS-соединение с вашим VPS, но при проверке подставляется реальный сертификат Microsoft (или Google, Apple). Внутри этого TLS-туннеля идёт ваш трафик.

Что нужно:

— VPS за рубежом (Швеция или Нидерланды, пинг 50-70 мс из РФ). Рекомендую Aeza — от 2 евро в месяц, почасовая оплата, можно быстро пересоздать сервер если IP заблокируют.

Не используйте Hetzner, OVH, DigitalOcean, AWS — их подсети массово заблокированы.

— Панель 3X-UI для управления через браузер.

Установка сводится к одной команде:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

Дальше в панели создаёте inbound с протоколом VLESS, портом 443, security — Reality, SNI — www.microsoft.com. Для надёжности стоит добавить резервные inbound-ы на портах 8443 и 2053 с другими SNI (dl.google.com, www.apple.com).

Критически важная деталь — BBR. Это алгоритм управления перегрузками от Google. Без него скорость на мобильных сетях может быть в 2-3 раза ниже. Включается добавлением нескольких строк в /etc/sysctl.conf.


Layer 1: Cloudflare CDN — если заблокировали IP

Если РКН заблокировал IP вашего VPS целиком, прямое подключение перестаёт работать. Здесь помогает Cloudflare CDN: трафик идёт через серверы Cloudflare, а уже они пересылают его на ваш VPS.

Для этого нужен домен (от 1 евро в год на Namecheap), подключённый к Cloudflare. В 3X-UI добавляется ещё один inbound с WebSocket транспортом.

Важное ограничение: с середины 2025 года Cloudflare активно блокируется ТСПУ. На практике домашние провайдеры (Wi-Fi) блокируют мягче — по сигнатурам и DPI, и IP Cloudflare пока пропускают. А вот мобильные операторы работают в режиме белых списков — пропускают трафик только к одобренным IP-адресам, и Cloudflare в эти списки не входит. Поэтому Layer 1 работает только на домашнем Wi-Fi.


Layer 2: Relay через Yandex Cloud — пробиваем белые списки

Это ключевой уровень для мобильных операторов в 2026 году.

Логика: IP-адреса Yandex Cloud находятся в белых списках ТСПУ. Они не могут их заблокировать — иначе перестанут работать сервисы Яндекса. Мы используем это: поднимаем дешёвую preemptible VM в Yandex Cloud (биллинг посекундный — за первые дни у меня списалось 1.5 рубля, по прогнозу выходит ~400-500 ₽/мес при постоянной работе), которая работает как промежуточное звено между вашим устройством и VPS за границей.

Цепочка: ваше устройство подключается к VM в Yandex Cloud по VLESS (с SNI ya.ru — для ТСПУ это выглядит как обращение к Яндексу). VM пересылает трафик на ваш VPS в Швеции через xHTTP.

Claude Code написал скрипт deploy-relay-yc.sh, который разворачивает всё за 10 минут.


Layer 3: WebRTC через Яндекс.Телемост — на крайний случай

Самый экзотический уровень. Claude Code уже написал код для этого, но подключать пока не пришлось — Layer 0 и Layer 2 закрывают все сценарии. Если заблокируют и этот путь — буду разворачивать WebRTC.

Идея: гнать трафик через видеозвонки в Яндекс.Телемосте.

Телемост использует WebRTC с SFU-архитектурой. Трафик проходит через серверы Яндекса, которые всегда в белом списке. Данные передаются через DataChannel — SCTP over DTLS.

Ограничения: максимальный размер сообщения — 8 КБ (решается чанкингом), скорость до 44 Мбит/с, работает только на десктопе. Это аварийный вариант, не основной.

Проект OlcRTC (https://github.com/zarazaex69/olcRTC) реализует эту идею.


Split routing: VPN включён, но Яндекс работает

Одна из самых полезных вещей в этой системке — раздельная маршрутизация. Российские сайты идут напрямую, зарубежные — через VPN.

На практике это значит: включаете VPN, открываете YouTube — работает. Открываете Яндекс — тоже работает, и видит ваш российский IP. Госуслуги, банки, VK — всё без проблем.

Реализуется через правила маршрутизации в клиенте (Hiddify, Shadowrocket, v2rayNG). Список российских подсетей добавляется в исключения.


Бюджет

— VPS в Швеции: 2.5 евро в месяц (~265 рублей)

— Домен: 3-6 $ в год (~230 - 470 рублей)

— Cloudflare: бесплатно

— Yandex Cloud relay (если нужен): ~400-500 ₽/мес (preemptible VM, биллинг посекундный)

— Shadowrocket для iOS: $2.99 разово

— Клиенты для Windows/Android: бесплатно, на IOS тоже есть бесплатные типа v2Ray, но Shadowrocket работает лучше

Итого минимум: 300 руб. в месяц. С relay + 500 ₽.


Что в итоге

У меня есть VPN, который работает. Не «работает, пока не заблокируют», а работает с системой резервных каналов. Заблокировали IP — переключается на Cloudflare. Белые списки на мобильном — идёт через Yandex Cloud. Вообще всё отрубили — есть готовый код для WebRTC через Телемост, осталось только развернуть.

При этом российские сервисы работают нормально. Яндекс видит российский IP, банки не паникуют, Госуслуги открываются.

В эпоху AI, создать свой ВПН и бороться с блокировками может любой с подпиской на клауд. Более того я записал на видео как я начал создавать этот ВПН, скоро опубликую на своём тг канале В эпоху AI. Подписывайся.