Руководство по настройке VLESS-прокси в Xray-core
- title
- Руководство по настройке VLESS-прокси в Xray-core
- type
- summary
- summary
- Пошаговая настройка VLESS-прокси на Xray-core: конфигурация сервера, TLS-сертификаты и клиенты
- tags
- networking, proxy, xray, vless, tutorial
- sources
- xray-tutorial
- created
- 2026-04-06
- updated
- 2026-04-21
- lang
- ru
- translation_of
- xray-tutorial
- source_updated
- 2026-04-21
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Пошаговое руководство по настройке сервера Xray-core с протоколом VLESS и подключению клиентов на Android, Windows и Linux. Изначально опубликовано на платформе сообщества Hetzner, позже удалено и перевыпущено на GitHub.
Это ручной подход без панелей управления - правка JSON-конфигов напрямую вместо использования web UI вроде 3x-ui. Полезно для понимания того, как всё устроено под капотом: inbounds, outbounds, stream settings, TLS-сертификаты и аутентификация клиентов по UUID.
Настройка сервера
Установите Xray-core из релизов на GitHub (один бинарник + файлы geodata), положите его в /usr/local/xray и создайте JSON-конфиг в /usr/local/etc/xray/config.json.
В конфиге три основные секции:
- inbounds - что слушает сервер. В этом руководстве: VLESS на порту 443 поверх TCP с TLS. Каждый клиент получает UUID (генерируется через
xray uuid) и метку email для различия в логах. - outbounds - куда уходит трафик. Протокол "freedom" означает "пересылать прямо по адресу назначения". Это простейший вариант; сюда можно добавить правила маршрутизации для раздельного туннелирования.
- streamSettings - транспорт и шифрование. Базовый вариант - TCP + TLS; сам VLESS трафик не шифрует (делегируя это TLS), что исключает накладные расходы от двойного шифрования.
Два варианта сертификатов: самоподписанный (создаётся мгновенно, домен не нужен, но на клиентах придётся выставить allowInsecure: true) или Let's Encrypt через certbot (требует домен, поддерживает автообновление, а Xray умеет перечитывать сертификаты на лету).
Порт 443 привилегированный, поэтому придётся либо запускаться от root, либо выдать бинарнику cap_net_bind_service через setcap. Руководство рекомендует запускать сервис от обычного пользователя с настроенным capability.
Для работы службы используется systemd-юнит: Type=exec, Restart=on-failure, After=network-online.target.
Настройка клиентов
Клиентский конфиг зеркально повторяет серверный с точностью до наоборот: inbound - локальный слушатель SOCKS5 на 127.0.0.1:1080, а outbound - подключение по VLESS к вашему серверу.
Android - приложение v2rayNG из Play Store. Вручную добавьте VLESS-сервер, вставьте свой UUID, включите TLS.
Windows - два пути:
- Запустить Xray напрямую с конфигом SOCKS-прокси, затем направить на него Chrome (
--proxy-server="socks5://127.0.0.1:1080") или Firefox (в настройках сети). - Использовать v2rayN в режиме TUN ("Enable Tun"), чтобы прозрачно пустить весь системный трафик через прокси. Под капотом для создания виртуального сетевого интерфейса используется sing-box.
Linux - тот же подход с SOCKS-прокси, что и на Windows. Для отдельных приложений - через флаг --proxy-server в Chrome или настройки Firefox. Общесистемная настройка зависит от окружения рабочего стола.
Что не вошло в руководство
Руководство ограничивается простейшей рабочей конфигурацией: один протокол (VLESS), один транспорт (TCP+TLS), без правил маршрутизации и без обработки DNS. Для постоянного использования понадобятся:
- Правила маршрутизации, чтобы проксировать только заблокированный трафик (см. файлы геоправил в russia-v2ray-rules-dat)
- Клиент вроде mihomo, умеющий разделять трафик по правилам вместо прямолинейного проксирования всего подряд через SOCKS
- Панель управления вроде 3x-ui, если вы настраиваете доступ для нескольких пользователей и не хотите править JSON руками
Для тех, кто совсем не готов платить за VPS, тот же спектр решений с нулевым бюджетом закрывает masterhttprelayvpn: он использует Google Apps Script в роли бесплатного релея с domain-fronting вместо платного VLESS-сервера на выделенном IP. Работает заметно медленнее, настраивается сильно проще, но зависит от политики Google и может сломаться в любой момент.
Полный первоисточник со всеми примерами конфигов: источник.