Техническая документация

Как устроен
IYLabVPN

Стек технологий, архитектура клиента, принцип работы VPN-сервера и шифрование — всё в одном месте.

Клиент

Стек технологий приложения

IYLabVPN — это нативное Windows-приложение, построенное на современных веб-технологиях, упакованных в системную оболочку.

Electron
Даёт .exe, системный трей, фоновую работу и доступ к API Windows
React + TypeScript
Весь UI — экраны подключения, профили, логи, настройки
Vite
Сборщик. Компилирует TypeScript/React в финальные JS-файлы
Node.js
Фоновый процесс Electron: управляет xray, прокси, треем
xray-core
Движок туннеля. Запускается как дочерний процесс, поднимает VLESS+REALITY
NSIS Installer
Упаковывает всё в один .exe-установщик без прав администратора
Архитектура

Как работает клиент

При нажатии «Подключить» приложение генерирует JSON-конфиг для xray из VLESS-ссылки, запускает xray.exe как дочерний процесс и выставляет системный прокси Windows на 127.0.0.1:10808.

Перед тем как показать зелёный статус «Подключено», клиент делает реальную проверку туннеля: отправляет HTTP-запрос через локальный прокси на cloudflare.com/generate_204. Только если ответ пришёл — соединение считается успешным.

При отключении xray завершается, системный прокси снимается. Приложение сворачивается в системный трей и работает в фоне.

Пользователь нажимает «Подключить»
Генерация xray JSON-конфига из VLESS-параметров
Запуск xray.exe как дочернего процесса
Выставление системного прокси Windows (127.0.0.1:10808)
Проверка туннеля через generate_204
Статус «Подключено» / ошибка если трафик не идёт
Сервер

Архитектура VPN-сервера

Сервер работает на виртуальной машине с Linux (Ubuntu) в дата-центре Амстердама. Управление настройками — через панель 3x-ui, которая генерирует конфигурацию для xray-сервера и управляет пользователями.

Клиент подключается на порт 8443 — стандартный HTTPS-порт, что делает трафик неотличимым от обычного веб-серфинга. Ссылки на подключение (VLESS-ссылки) раздаются через Telegram-бота и обновляются на клиенте автоматически при каждом запуске.

Ubuntu Linux + 3x-ui
ОС сервера и веб-панель управления xray-инстансом
xray-core (сервер)
Принимает соединения, расшифровывает трафик, проксирует в интернет
Безопасность

Протокол VLESS + REALITY

Обычные VPN (OpenVPN, WireGuard) легко определяет DPI — глубокая инспекция пакетов — по характерной «подписи» трафика. VLESS+REALITY создан специально для обхода такой блокировки.

VLESS — облегчённый протокол-транспорт. Не содержит лишней обфускации: минимальный заголовок и полезная нагрузка.

REALITY — расширение TLS 1.3 против обнаружения. Вместо собственного TLS-сертификата (который сразу выдаёт VPN) сервер «притворяется» настоящим сайтом — в нашем случае www.google.com. Клиент делает TLS-рукопожатие, внешне неотличимое от обычного HTTPS-запроса к Google. Только клиент с правильным ключом «понимает», что это VPN — все остальные получают ответ от реального Google (сервер проксирует запрос дальше).

Flow xtls-rprx-vision — режим, при котором внутренний TLS (HTTPS внутри туннеля) не оборачивается повторно, а проходит напрямую. Нулевые накладные расходы на шифрование и максимально «нормальный» отпечаток трафика.

ПараметрНазначение
UUIDУникальный идентификатор пользователя для авторизации на сервере
PublicKey (x25519)Эллиптический публичный ключ сервера — вшит в VLESS-ссылку, приватный только на сервере
ShortIDДополнительный идентификатор сессии REALITY, усиливает защиту от replay-атак
SNI (www.google.com)Имя сайта, под который маскируется соединение при TLS-рукопожатии
Порт 8443Стандартный HTTPS-порт — не вызывает подозрений у файрволов и DPI
Итого

Полный путь пакета

Для любого наблюдателя «по дороге» виден обычный HTTPS-запрос к google.com на порту 8443. Никаких VPN-подписей, никаких нестандартных протоколов.

Браузер / любое приложение
Системный прокси Windows (127.0.0.1:10808 SOCKS5)
xray.exe (клиент) — шифрование VLESS + REALITY / TLS 1.3
Интернет (выглядит как HTTPS к google.com, порт 8443)
Сервер 147.45.226.127 — расшифровка xray-core
Реальный интернет-ресурс