psj-notes
~/home ~/series ~/archive

10. x-ui + Xray: VPN-туннель

20.07.2026 Серия: Настройка VDS сервера с VPN "x-ui" "xray" "vpn"

Зачем ещё один VPN

WireGuard хорош, но его трафик легко детектируется глубокой инспекцией пакетов (DPI). Xray с протоколом VLESS + XTLS имитирует обычный HTTPS-трафик, что делает его неотличимым от браузерных запросов.

x-ui — это веб-панель для управления Xray. С ней можно добавлять пользователей, менять протоколы и смотреть статистику через браузер.

Установка x-ui

Есть несколько скриптов установки. Рекомендую версию от FranzKafkaYu:

bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)

Во время установки:

  • Выберите порт для панели (лучше нестандартный, например 2053 или 8443)
  • Задайте логин и пароль для входа
  • Укажите путь (/panel или другой)

После установки откройте в браузере http://<IP-сервера>:<порт>/<путь>.

Настройка Xray через панель

В веб-интерфейсе:

  1. Xray Settings → выберите версию Xray (оставьте последнюю)
  2. Xray Config → отредактируем шаблон

Добавим входящее подключение с VLESS + XTLS:

{
    "api": {
        "services": ["HandlerService", "LoggerService", "StatsService"],
        "tag": "api"
    },
    "inbounds": [
        {
            "listen": "0.0.0.0",
            "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "UUID-ГЕНЕРИРУЕТ-ПАНЕЛЬ",
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "dest": "www.microsoft.com:443",
                    "serverNames": [
                        "www.microsoft.com"
                    ],
                    "privateKey": "...",
                    "shortIds": ["6ba85179e30d4fc2"]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": ["http", "tls"]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        }
    ]
}

Панель сгенерирует UUID, приватный ключ и shortId. Скопируйте их — они понадобятся для клиента.

Открытие портов в UFW

sudo ufw allow 443/tcp
sudo ufw reload

Если выбрали другой порт для панели — откройте и его:

sudo ufw allow 2053/tcp

Настройка клиента

На компьютере или телефоне установите Xray-клиент:

  • Windows: v2rayN или Nekoray
  • macOS: V2rayU или FoXray
  • Android: V2RayNG
  • iOS: Shadowrocket или Stash

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

{
    "inbounds": [
        {
            "port": 10808,
            "listen": "127.0.0.1",
            "protocol": "socks",
            "settings": {
                "auth": "noauth"
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "vless",
            "settings": {
                "vnext": [
                    {
                        "address": "vds.example.com",
                        "port": 443,
                        "users": [
                            {
                                "id": "ТОТ-САМЫЙ-UUID",
                                "flow": "xtls-rprx-vision",
                                "encryption": "none"
                            }
                        ]
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "serverName": "www.microsoft.com",
                    "fingerprint": "chrome",
                    "publicKey": "...",
                    "shortId": "6ba85179e30d4fc2"
                }
            }
        }
    ]
}

Подставьте свои UUID, publicKey и shortId (publicKey — это открытый ключ, соответствующий privateKey из панели).

Проверка подключения

Подключитесь через клиент и проверьте, что внешний IP изменился:

curl --socks5 127.0.0.1:10808 http://ip-api.com/json

В ответе должен быть IP вашего сервера, а не ваш реальный. Если IP не изменился — проверьте настройки клиента и логи Xray:

sudo journalctl -u x-ui --no-pager -n 30

Перезапуск x-ui

Если меняли конфиг:

sudo systemctl restart x-ui

Панель также позволяет перезапускать Xray через веб-интерфейс (кнопка Restart Xray).

Итог

x-ui с Xray и VLESS+XTLS даёт обход блокировок и имитацию HTTPS. Трафик неотличим от обычного веб-сёрфинга, а управлять пользователями можно через удобную панель. В заключительной части настроим автоматические бэкапы.

Комментарии

Комментарии пока не подключены.