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.
Что читать дальше?#
- Откройте VPN-гайды GigaTap, чтобы пройти маршрут от настройки до диагностики.
- Используйте помощник VPN start, если нужно выбрать между настройкой, клиентом, docs или профилем.
- Для device-specific импорта откройте VPN client setup hub.
- Сверьте продуктовые шаги в официальных docs GigaTap перед изменением клиентского профиля.
- Для соседнего сценария посмотрите гайд по Remnawave automation.
Если проблема похожа на 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-утечками.