EnglishРусский Map

Руководство по настройке VLESS-прокси в Xray-core

title
Руководство по настройке VLESS-прокси в Xray-core
type
summary
summary
Пошаговая настройка VLESS-прокси на Xray-core: конфигурация сервера, TLS-сертификаты и клиенты
tags
networking, proxy, xray, vless, 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 - два пути:

  1. Запустить Xray напрямую с конфигом SOCKS-прокси, затем направить на него Chrome (--proxy-server="socks5://127.0.0.1:1080") или Firefox (в настройках сети).
  2. Использовать 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 и может сломаться в любой момент.

Полный первоисточник со всеми примерами конфигов: источник.