3X-UI VPN установка: пошаговый гайд по развертыванию панели на VPS

Подробное руководство по установке и настройке 3X-UI VPN на VPS: требования, способы установки, безопасность, SSL, создание подключений и клиентов, решение проблем.

Что такое 3X-UI и зачем он нужен

3X-UI — это веб-панель с открытым исходным кодом для управления VPN-сервером, основанная на проекте X-UI и работающая поверх Xray-core. Она предоставляет удобный графический интерфейс для настройки и администрирования прокси-серверов, поддерживая несколько современных протоколов: VMess, VLESS, Trojan, Shadowsocks и WireGuard. Благодаря этому 3X-UI позволяет создавать собственный VPN-сервис без необходимости вручную редактировать JSON-конфигурации Xray.

Основное преимущество 3X-UI — сочетание гибкости и простоты. Вместо работы с командной строкой и сложными конфигурационными файлами вы получаете интуитивно понятную панель, где можно создавать inbound-подключения, управлять клиентами, устанавливать лимиты трафика и сроки действия, а также отслеживать статистику использования. Это делает панель идеальным выбором для тех, кто хочет развернуть собственный VPN для личного пользования, для семьи или даже для небольшого коммерческого сервиса.

3X-UI активно развивается сообществом, регулярно получает обновления и поддерживает такие продвинутые технологии, как REALITY, которая помогает обходить блокировки и цензуру. Панель переведена на множество языков, включая русский, что делает её доступной для широкой аудитории.

Требования к серверу и выбор VPS

Для установки 3X-UI вам потребуется виртуальный сервер (VPS) с минимальными характеристиками. Согласно официальным рекомендациям и опыту пользователей, минимальные требования включают:

  • Операционная система: Debian 12, Ubuntu 20.04 или 22.04 LTS (рекомендуется)
  • Оперативная память: от 512 МБ (комфортно — 1–2 ГБ)
  • Процессор: 1 vCPU (для активного использования лучше 2 vCPU)
  • Дисковое пространство: от 5 ГБ
  • Виртуализация: KVM (обязательно, так как требуется поддержка TUN для Xray)
  • Сеть: белый IPv4-адрес, желательно не из заблокированных диапазонов

При выборе VPS важно убедиться, что провайдер предоставляет KVM-виртуализацию, а не OpenVZ старого поколения, так как это критично для работы Xray. Также обратите внимание на географическое расположение сервера: для пользователей из России оптимальным выбором будут европейские дата-центры (например, Германия, Нидерланды), которые обеспечивают приемлемые задержки и не находятся в блок-листах.

Среди популярных провайдеров можно выделить netcup (хорошее соотношение цены и стабильности, минимальный тариф около 4 евро в месяц), Hetzner (надёжный API и чуть более высокая цена) и Contabo (много ресурсов за небольшие деньги). Перед покупкой проверьте, что в тариф включён белый IPv4-адрес.

Подготовка сервера к установке

Перед установкой 3X-UI необходимо подготовить сервер: обновить систему, установить необходимые пакеты и настроить файрвол. Эти шаги помогут избежать многих проблем в дальнейшем.

Обновление системы

Подключитесь к серверу по SSH и выполните следующие команды:

apt update && apt upgrade -y

Это обновит список пакетов и установит последние версии системных компонентов. После обновления рекомендуется перезагрузить сервер, чтобы изменения вступили в силу.

Установка curl и других утилит

Для загрузки скрипта установки понадобится curl. Установите его вместе с wget:

apt install wget curl -y

Настройка файрвола

Если вы используете UFW (Uncomplicated Firewall), откройте порты, которые будут использоваться панелью и клиентами. По умолчанию панель работает на порту 2053, а для inbound-подключений часто используется порт 443. Выполните:

ufw allow OpenSSH
ufw allow 2053/tcp
ufw allow 443/tcp
ufw allow 443/udp
ufw enable

Важно: перед включением файрвола убедитесь, что правило для SSH уже добавлено, иначе вы можете потерять доступ к серверу. Если вы планируете использовать другие порты для inbound, откройте и их.

Установка 3X-UI: стандартный способ и через Docker

Существует два основных способа установки 3X-UI: с помощью официального скрипта и через Docker. Оба варианта имеют свои преимущества, и выбор зависит от ваших предпочтений.

Стандартная установка через скрипт

Самый простой способ — выполнить команду:

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

В процессе установки скрипт задаст несколько вопросов:

  • Выбор типа базы данных (для личного использования рекомендуется SQLite)
  • Настройка порта панели (рекомендуется ответить «y» и указать нестандартный порт)
  • Создание SSL-сертификата (рекомендуется создать хотя бы для IP-адреса)

После завершения установки вы получите данные для входа в панель: адрес, логин и пароль. Сохраните их в надёжном месте.

Установка через Docker Compose

Docker-вариант считается более удобным для обновлений и изоляции. Сначала установите Docker:

curl -fsSL https://get.docker.com | sh

Затем создайте директорию и файл docker-compose.yml:

mkdir -p ~/3x-ui && cd ~/3x-ui
nano docker-compose.yml

Вставьте следующее содержимое:

services:
  3x-ui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3x-ui
    hostname: yourhostname
    volumes:
      - $PWD/db/:/etc/x-ui/
      - $PWD/cert/:/root/cert/
    environment:
      XRAY_VMESS_AEAD_FORCED: "false"
    tty: true
    network_mode: host
    restart: unless-stopped

Запустите панель:

docker compose up -d

Проверьте логи, чтобы убедиться, что всё работает:

docker compose logs -f 3x-ui

Через 10–15 секунд вы должны увидеть сообщение о запуске и порт, на котором слушает панель.

Первый вход в панель и базовая настройка безопасности

После установки панель будет доступна по адресу http://ВАШ_IP:2053 (или другому порту, если вы его изменили). Важно использовать именно http://, а не https://, так как SSL ещё не настроен. Логин и пароль по умолчанию — admin / admin.

Немедленно смените учётные данные! Панель с дефолтным паролем на публичном IP — это открытая дверь для ботнетов, которые постоянно сканируют порты. Выполните три обязательных шага:

  1. Смена логина и пароля: Перейдите в Panel SettingsUser. Установите надёжный пароль (минимум 16 символов). Можно сгенерировать его командой openssl rand -base64 24.
  1. Смена порта панели: В Panel SettingsPanel Port измените порт 2053 на любой нестандартный, например 38521. После сохранения панель переедет на новый порт, не забудьте открыть его в файрволе (ufw allow 38521/tcp).
  1. Смена URL-пути панели: В Panel SettingsPanel Path добавьте случайный префикс, например /xui-secret-path/. Теперь панель будет доступна только по адресу http://IP:38521/xui-secret-path/, и сканеры, ищущие корневой путь, ничего не найдут.

Эти простые меры значительно повысят безопасность вашей панели и защитят её от несанкционированного доступа.

Настройка SSL-сертификата

SSL-сертификат необходим для шифрования трафика между клиентом и сервером, а также для работы некоторых протоколов, таких как VLESS+REALITY. Существует несколько способов настройки SSL в 3X-UI.

Встроенный ACME-клиент

3X-UI имеет встроенную поддержку ACME для автоматического получения сертификатов Let's Encrypt. Для этого:

  1. Убедитесь, что ваш домен корректно указывает на сервер (A-запись в DNS).
  2. Запустите команду x-ui в терминале и выберите пункт «Управление SSL-сертификатами» (пункт 19).
  3. Выберите «Получить SSL (Домен)» и следуйте инструкциям.

Также можно получить сертификат для IP-адреса, но это поддерживается не всеми центрами сертификации.

Использование Certbot

Альтернативный способ — установить Certbot и получить сертификат вручную:

apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com

После получения сертификата укажите пути к файлам в панели: в Panel SettingsPanel Certificate Path и Panel Key Path введите /etc/letsencrypt/live/ВАШ_ДОМЕН/fullchain.pem и /etc/letsencrypt/live/ВАШ_ДОМЕН/privkey.pem соответственно.

Автообновление сертификата

Certbot добавляет таймер в systemd для автоматического обновления, но после обновления нужно перезапустить 3X-UI. Добавьте в crontab:

0 3 * * * docker compose -f /root/3x-ui/docker-compose.yml restart

Это будет перезапускать панель раз в сутки в 3 часа ночи, обеспечивая актуальность сертификата.

Создание подключений (Inbounds) и настройка протоколов

После базовой настройки панели можно приступать к созданию inbound-подключений — это точки входа для клиентов. В 3X-UI поддерживаются протоколы VMess, VLESS, Trojan, Shadowsocks и WireGuard. Для обхода блокировок рекомендуется использовать VLESS+REALITY.

Создание inbound

  1. Перейдите на страницу «Inbounds».
  2. Нажмите кнопку «Add Inbound».
  3. Укажите название (Remark), выберите протокол и порт.
  4. Настройте параметры в зависимости от протокола.

Настройка VLESS+REALITY

Этот протокол считается одним из самых эффективных для обхода DPI и блокировок. Для его настройки:

  • Выберите тип безопасности — Reality.
  • Установите uTLS — firefox (в некоторых случаях может потребоваться другой вариант).
  • В поле Target укажите, например, dl.google.com:443.
  • В поле SNI укажите dl.google.com.
  • Нажмите «Get New Cert» и «Get New Seed» для автоматической генерации ключей.
  • Нажмите «Create» для сохранения.

В новых версиях панель сама предлагает пару Target+SNI, которую можно изменить кнопкой справа от поля ввода.

Создание клиентов

После создания inbound перейдите на страницу «Clients» и нажмите «Add Clients». Панель автоматически предложит все необходимые данные (UUID, ключи), но вы можете их изменить. Для каждого клиента можно настроить:

  • Лимит трафика (в гигабайтах)
  • Срок действия (в днях)
  • Включение/отключение клиента
  • Лимит одновременных IP-адресов

Также можно привязать клиента к нескольким inbound через поле «Attached inbounds».

Подключение клиентов на разных устройствах

3X-UI поддерживает подключение с различных устройств через QR-коды и ссылки. Для каждого клиента в панели доступен QR-код и ссылка на конфигурацию, которые можно импортировать в VPN-клиент.

Windows, macOS, Linux

Рекомендуемые клиенты:

  • Hiddify (Windows, Linux, macOS)
  • NekoRay (Windows, Linux)

Для подключения:

  1. В веб-панели 3X-UI нажмите на QR-код нужного пользователя или скопируйте ссылку на подписку/подключение.
  2. Установите клиент и импортируйте конфигурацию (через QR-код или ссылку).
  3. Совершите подключение.

Android

Рекомендуемые клиенты:

  • Hiddify
  • v2rayNG

Процесс аналогичен: установите клиент из Google Play, отсканируйте QR-код или импортируйте конфигурацию, затем подключитесь.

iOS

Рекомендуемые клиенты:

  • FoXray
  • v2box
  • ShadowRocket

Установите клиент из App Store, отсканируйте QR-код или импортируйте конфигурацию и подключитесь.

Важно: убедитесь, что выбранный клиент поддерживает используемый протокол (например, VLESS+REALITY). Не все клиенты поддерживают все протоколы.

Мониторинг, статистика и дополнительные настройки

3X-UI предоставляет развитые возможности мониторинга и управления трафиком. В панели вы можете отслеживать:

  • Общее потребление трафика
  • Использование трафика по каждому пользователю
  • Статус подключений
  • Срок действия подписок
  • Использование IP-адресов

Это особенно полезно, если вы раздаёте доступ нескольким людям или планируете небольшой коммерческий сервис.

Дополнительные настройки Xray

В разделе «Xray Configs» можно настроить:

  • Блокировку рекламы
  • Блокировку IP-адресов определённых стран
  • Блокировку доменов
  • Маршрутизацию трафика для Google, Netflix, Spotify, OpenAI (ChatGPT) через WARP

Настройка WARP

Для версий v2.1.0 и выше WARP встроен в панель и не требует дополнительной установки. Просто включите нужную конфигурацию, создайте аккаунт и Outbound.

Маршрутизация через IPv6

Некоторые хостинг-провайдеры предоставляют IPv6-подсети, которые позволяют обходить блокировки и рекламу. Для настройки маршрутизации, например, YouTube через IPv6, нужно создать Outbound с протоколом freedom и тегом ipv6-freedom, а затем добавить Routing Rule для доменов geosite:youtube и domain:googlevideo.com.

Обновление и решение распространённых проблем

Регулярное обновление 3X-UI важно для безопасности и стабильности. Обновление через скрипт выполняется той же командой, что и установка:

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

Для Docker:

cd ~/3x-ui
docker compose pull
docker compose up -d

Данные в volume сохраняются, поэтому конфигурации и клиенты не теряются.

Частые проблемы и их решение

  1. Панель не открывается после установки
  • Проверьте, что порт открыт в файрволе (ufw allow 2053/tcp).
  • Убедитесь, что контейнер запущен (docker compose logs 3x-ui).
  • Проверьте, что вы используете http://, а не https://.
  1. Ошибки SSL
  • Убедитесь, что домен правильно указывает на сервер.
  • Проверьте пути к сертификатам в настройках панели.
  • Перезапустите панель после обновления сертификата.
  1. Конфликты портов
  • Проверьте, что порт не занят другим процессом: ss -tlnp | grep 2053.
  • Измените порт в настройках панели.
  1. Низкая скорость или нестабильное соединение
  • Попробуйте сменить протокол или uTLS.
  • Проверьте качество VPS и задержку до сервера.

Если проблема не решается, обратитесь к документации или сообществу проекта.

Вопросы и ответы

На каком порту открывается 3X-UI по умолчанию?

По умолчанию 3X-UI открывается на порту 2053. Логин и пароль по умолчанию — admin/admin. После первого входа обязательно смените их в разделе Panel Settings → User, а также рекомендуется изменить порт и URL-путь для повышения безопасности.

Можно ли установить 3X-UI без Docker?

Да, есть официальный bash-скрипт: bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh). Однако Docker-вариант удобнее: он проще в обновлении (docker compose pull), изолирует данные и позволяет легко просматривать логи через docker compose logs.

Сколько RAM нужно для 3X-UI?

Минимально достаточно 512 МБ ОЗУ. Комфортная работа обеспечивается на 1–2 ГБ. Учтите, что Xray-core внутри панели также потребляет память, и её объём пропорционален числу активных клиентов и объёму трафика.

Почему панель не открывается после установки?

Три основные причины: (1) порт 2053 закрыт файрволом — проверьте ufw allow 2053/tcp; (2) контейнер не запустился — проверьте docker compose logs 3x-ui; (3) вы забыли указать http:// в адресной строке, и браузер пытается открыть HTTPS, что вызывает ошибку.

Как обновить 3X-UI до новой версии?

Для Docker-установки выполните cd ~/3x-ui && docker compose pull && docker compose up -d. Данные в volume сохраняются, поэтому конфигурации и клиенты не теряются. Для установки через скрипт повторно запустите команду установки.

Можно ли запустить несколько инстансов 3X-UI на одном сервере?

Да, но каждому инстансу нужен отдельный порт для панели и отдельные порты для inbound. Проще держать один инстанс и создавать в нём несколько inbound с разными портами и протоколами.

Какой протокол лучше всего подходит для обхода блокировок?

Для обхода блокировок и DPI рекомендуется использовать VLESS+REALITY. Этот протокол маскирует трафик под обычное HTTPS-соединение и не требует выделенного домена, что делает его эффективным в условиях цензуры.