Гайд по Xray-core: proxy-доступ, VLESS, REALITY и XTLS

Практический обзор Xray-core: VLESS, REALITY и XTLS, сценарии proxy-доступа, настройки клиента и диагностика типовых сетевых проблем.

2026-03-22 GIGATAP Team #vpn
#vpn#anticensorship#dns#network#proxy#reality#xray-core

Xray-core нужен, когда обычный VPN-профиль блокируется, нестабилен или слишком заметен для фильтрации. Практический выбор упирается не только в протокол: нужно согласовать VLESS, REALITY, правила маршрутизации, DNS, поддержку клиента и server-side параметры с сетью, где соединение ломается в реальных условиях.

Что такое Xray-core#

Xray-core — это не просто прокси-сервер, а платформа сетевых инструментов, корни которой уходят в протокол XTLS. Его часто используют для proxy-маршрутов, тестирования поведения протоколов и зашифрованных туннелей там, где обычный VPN-профиль работает нестабильно или фильтруется. Xray-core стал развитием v2ray-core и предлагает новые протоколы, транспортные режимы и механизмы маскировки трафика.

Проект Xray-core ориентирован на технически подкованных пользователей, системных администраторов и команды, которым нужно сравнивать клиентское поведение, протоколы и сетевые условия. Он поддерживает VLESS, VMess, Trojan, Shadowsocks, Socks5, а также решения вроде REALITY и Vision. Эти протоколы в сочетании с TLS, uTLS, XTLS и обфускацией могут повысить устойчивость соединения в некоторых сетях, но сами по себе не дают полной анонимности.

Xray-core идеально подходит для:

  • Обхода государственных и корпоративных фаерволов (GFW).
  • Создания собственных VPN-серверов с высоким уровнем безопасности и конфиденциальности.
  • Туннелирования трафика для отдельных приложений или всей системы.
  • Защиты от анализа трафика и активных зондов.
  • Обеспечения стабильного и быстрого доступа к интернету в условиях жесткой цензуры.

Установка#

Xray-core является кроссплатформенным инструментом, доступным для установки на Linux, Windows и macOS. Рассмотрим основные методы.

Linux (Рекомендуемый скрипт)

Официальный скрипт установки Xray-install упрощает процесс, автоматически устанавливая последнюю версию Xray-core и настраивая системный сервис.

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)"

После установки Xray-core будет запущен как системный сервис. Вы можете управлять им с помощью systemctl:

sudo systemctl start xray    # Запустить Xray
sudo systemctl stop xray     # Остановить Xray
sudo systemctl restart xray  # Перезапустить Xray
sudo systemctl enable xray   # Включить автозапуск при загрузке системы
sudo systemctl status xray   # Проверить статус Xray

Конфигурационные файлы обычно находятся в /usr/local/etc/xray/config.json.

Docker

Для тех, кто предпочитает контейнеризацию, Xray-core доступен в виде официального образа Docker. Создайте ваш config.json в /etc/xray на хосте, затем запустите контейнер:

mkdir -p /etc/xray
docker run -d --network host --name xray --restart always -v /etc/xray:/etc/xray ghcr.io/xtls/xray-core:latest

macOS (Homebrew)

Пользователи macOS могут легко установить Xray-core с помощью пакетного менеджера Homebrew:

brew install xray

Конфигурационный файл обычно находится в /usr/local/etc/xray/config.json.

Windows

Для Windows пользователи загружают предварительно скомпилированные бинарные файлы с официальной страницы релизов Xray-core. Распакуйте архив (например, xray-windows-64.zip) в удобное место, создайте config.json в той же директории, затем запустите xray.exe.

C:\Xray\xray.exe -config C:\Xray\config.json

Базовая настройка: VLESS + REALITY (Сервер)#

Xray-core использует конфигурационные файлы в формате JSON. Рассмотрим базовую серверную конфигурацию VLESS с транспортным протоколом REALITY. REALITY маскирует Xray-трафик под легитимный TLS-трафик к известным сайтам, что делает его устойчивым к обнаружению.

Важно: Замените YOUR_UUID_HERE, YOUR_REALITY_PRIVATE_KEY и YOUR_REALITY_SHORT_ID на ваши уникальные значения. Для генерации ключей и Short ID используйте xray x25519 и xray uuid. dest должен быть реально существующим сайтом.

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "YOUR_UUID_HERE",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "dest": "www.google.com:443",
          "xver": 0,
          "serverNames": [
            "www.google.com",
            "www.bing.com"
          ],
          "privateKey": "YOUR_REALITY_PRIVATE_KEY",
          "minClientVer": "1.8.0",
          "maxClientVer": "2.0.0",
          "maxTimeDiff": 60000,
          "shortIds": [
            "YOUR_REALITY_SHORT_ID"
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

Для генерации ключей REALITY выполните в терминале на сервере:

/usr/local/bin/xray x25519

Вывод будет содержать Private key, Public key и ShortId. YOUR_REALITY_PRIVATE_KEY поместите в серверный config.json. YOUR_REALITY_PUBLIC_KEY и YOUR_REALITY_SHORT_ID понадобятся для клиента. YOUR_UUID_HERE можно сгенерировать командой xray uuid.

Основные сценарии использования#

1. Обход цензуры с помощью VLESS + REALITY (Клиент)#

Клиентская конфигурация для VLESS + REALITY позволяет подключиться к серверу, настроенному выше.

Конфигурация клиента (config.json на клиентской машине):

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "YOUR_SERVER_IP_OR_DOMAIN",
            "port": 443,
            "users": [
              {
                "id": "YOUR_UUID_HERE",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "fingerprint": "chrome",
          "serverName": "www.google.com",
          "show": false,
          "publicKey": "YOUR_REALITY_PUBLIC_KEY",
          "shortId": "YOUR_REALITY_SHORT_ID"
        }
      },
      "mux": {
        "enabled": true
      }
    },
    {
      "protocol": "freedom",
      "tag": "direct"
    }
  ],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

Настройте ваше приложение или систему для использования SOCKS5 прокси на 127.0.0.1:1080.

2. Туннелирование трафика через ShadowSocks с TLS#

Shadowsocks в сочетании с TLS обеспечивает базовую обфускацию и шифрование.

Конфигурация сервера (config.json на сервере):

{
  "log": { "loglevel": "warning" },
  "inbounds": [
    {
      "port": 8443,
      "protocol": "shadowsocks",
      "settings": {
        "method": "2022-blake3-aes-128-gcm",
        "password": "YOUR_SHADOWSOCKS_PASSWORD",
        "network": "tcp"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "certificates": [
            {
              "certificateFile": "/etc/xray/fullchain.pem",
              "keyFile": "/etc/xray/privkey.pem"
            }
          ]
        }
      },
      "sniffing": { "enabled": true, "destOverride": ["http", "tls"] }
    }
  ],
  "outbounds": [ { "protocol": "freedom", "settings": {} } ]
}

Вам потребуются действительные SSL/TLS сертификаты для домена.

Конфигурация клиента (config.json на клиенте):

{
  "log": { "loglevel": "warning" },
  "inbounds": [
    {
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": { "auth": "noauth", "udp": true }
    }
  ],
  "outbounds": [
    {
      "protocol": "shadowsocks",
      "settings": {
        "vnext": [
          {
            "address": "YOUR_SERVER_IP_OR_DOMAIN",
            "port": 8443,
            "users": [
              {
                "method": "2022-blake3-aes-128-gcm",
                "password": "YOUR_SHADOWSOCKS_PASSWORD"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": { "serverName": "YOUR_SERVER_DOMAIN" }
      }
    },
    { "protocol": "freedom", "tag": "direct" }
  ],
  "routing": {
    "rules": [
      { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }
    ]
  }
}

3. Настройка DNS через Xray для избежания утечек и цензуры#

Xray-core может маршрутизировать DNS-запросы, предотвращая утечки DNS и используя альтернативные DNS-серверы.

Добавление DNS-конфигурации в config.json (Сервер или Клиент):

{
  "dns": {
    "hosts": {
      "geosite:netflix": "8.8.8.8",
      "geosite:youtube": "8.8.8.8"
    },
    "servers": [
      { "address": "8.8.8.8", "port": 53, "domains": ["geosite:google"] },
      { "address": "1.1.1.1", "port": 53, "domains": ["geosite:netflix"] },
      "localhost"
    ]
  },
  "routing": {
    "rules": [
      { "type": "field", "port": "53", "network": "udp", "outboundTag": "dns_out" },
      { "type": "field", "domain": ["geosite:telegram"], "outboundTag": "proxy" },
      { "type": "field", "ip": ["geoip:cn"], "outboundTag": "proxy" },
      { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }
    ]
  },
  "outbounds": [
    {
      "protocol": "dns",
      "tag": "dns_out",
      "settings": {
        "servers": [
          { "address": "8.8.8.8", "port": 53 },
          { "address": "1.1.1.1", "port": 53 }
        ]
      }
    },
    { "protocol": "freedom", "tag": "direct" }
  ]
}

Советы и нюансы#

  • Актуальность версии: Всегда используйте последнюю стабильную версию Xray-core для доступа к новым функциям и патчам безопасности.
  • XTLS, REALITY и Vision: Это ключевые протоколы Xray-core для максимальной устойчивости к обнаружению. XTLS шифрует весь TCP-трафик, а REALITY маскирует соединение под легитимный HTTPS.
  • Выбор dest для REALITY: Используйте высокотрафиковые, глобальные сайты (например, www.google.com) в качестве dest. Убедитесь, что IP-адрес вашего сервера отличается от IP-адреса dest.
  • Уникальные ID: Всегда используйте уникальные UUID для VLESS/VMess и уникальные PrivateKey/ShortId для REALITY.
  • Логирование: Для отладки используйте loglevel: "debug", в продакшене — warning или error.
  • Управление через веб-панели: Для упрощения управления рассмотрите веб-панели, такие как 3X-UI или Marzban, но будьте внимательны к их безопасности.
  • Файервол: Настраивайте файервол на сервере, открывая только необходимые порты (например, 443 для REALITY/TLS, 22 для SSH).
  • Обновления безопасности: Регулярно обновляйте не только Xray-core, но и операционную систему сервера.

Вывод#

Xray-core — это мощный, гибкий и высокопроизводительный инструмент, предоставляющий беспрецедентные возможности для обхода интернет-цензуры и обеспечения приватности в сети. Для технически грамотных пользователей он является идеальным выбором для защиты своей цифровой свободы и конфиденциальности благодаря инновационным протоколам, таким как VLESS с REALITY и Vision.

Что читать дальше?#

Если проблема похожа на mismatch между оплатой, entitlement и реальным provider state, сначала фиксируйте симптомы клиента и только потом меняйте протокол или профиль.

Определение#

  • Xray-core - много протокольный proxy-инструмент для VLESS, REALITY, Trojan, Shadowsocks и маршрутизации трафика в нестабильных или фильтруемых сетях.

Comparison#

Вариант Когда использовать На что смотреть
VLESS + REALITY Нужен устойчивый доступ при фильтрации и есть совместимый клиент. Ошибки в server name, TLS и routing rules могут оставить заметные паттерны.
WireGuard VPN Вы контролируете обе стороны и сеть пропускает UDP. Некоторые мобильные и фильтруемые сети режут handshake.
Shadowsocks Нужен простой encrypted proxy для одного устройства или приложения. Это не полноценная модель изоляции всего трафика.

FAQ#

Xray-core полностью заменяет VPN?#

Xray-core может заменить VPN для выбранных proxy-маршрутов, но сам по себе не становится границей приватности для всего устройства. Нужны routing rules, DNS-настройки, leak checks и клиент, который отправляет нужные приложения в туннель.

Что настроить в первую очередь?#

Сначала настройте transport на сервере, routing rules на клиенте и DNS-поведение. Большинство реальных сбоев связано не с ядром proxy, а с несовпадением маршрутов, блокировкой handshake или DNS-утечками.