3X-UI VPN: установка, настройка и использование панели для безопасного интернета

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

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

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

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

Панель также включает автоматическое управление SSL-сертификатами, встроенную статистику использования трафика и возможность маршрутизации через WARP для обхода блокировок. Благодаря многоязычному интерфейсу (русский, английский, китайский и другие) она подходит как для новичков, так и для опытных администраторов.

Системные требования и подготовка сервера

Для установки 3X-UI вам потребуется виртуальный сервер (VPS) с минимальными характеристиками: операционная система Ubuntu 24.04 (или другой дистрибутив Linux), не менее 2 ГБ оперативной памяти, виртуализация KVM и доступ к IPv4. Эти требования обеспечивают стабильную работу панели и достаточную производительность для нескольких одновременных подключений.

Перед установкой убедитесь, что на сервере установлена утилита curl — она необходима для загрузки скрипта установки. Если curl отсутствует, выполните команду apt install curl. Также рекомендуется обновить систему до актуального состояния, чтобы избежать конфликтов с зависимостями.

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

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

Стандартная установка выполняется одной командой:

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

В процессе установки вам будет предложено:

  • выбрать тип базы данных (для личного использования рекомендуется SQLite);
  • изменить настройки панели для повышения безопасности (рекомендуется ответить y);
  • указать порт для веб-интерфейса (лучше использовать нестандартный порт, например 22468);
  • создать SSL-сертификат для домена или IP-адреса.

Если вам нужна конкретная версия панели, укажите её в переменной VERSION. Например, для версии v1.7.9:

VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION

Альтернативный способ — установка через Docker. Это удобно для изоляции окружения и упрощения обновлений. Сначала установите Docker, затем склонируйте репозиторий и запустите контейнер:

git clone https://github.com/mhsanaei/3x-ui.git
cd 3x-ui
docker compose up -d

Или используйте готовый образ:

docker run -itd \
  -e XRAY_VMESS_AEAD_FORCED=false \
  -v $PWD/db/:/etc/x-ui/ \
  -v $PWD/cert/:/root/cert/ \
  --network=host \
  --restart=unless-stopped \
  --name 3x-ui \
  ghcr.io/mhsanaei/3x-ui:latest

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

Настройка SSL-сертификатов: ACME и Certbot

SSL-сертификаты обеспечивают шифрование трафика между клиентом и сервером, что критически важно для безопасности. 3X-UI поддерживает два основных способа настройки: через встроенный ACME-клиент и через внешний инструмент Certbot.

Способ 1: ACME в панели 3X-UI

Убедитесь, что ваш домен (если вы его используете) корректно указывает на сервер — настройте A-запись в DNS. Затем выполните в терминале команду x-ui и выберите пункт «Управление SSL-сертификатами». Вам будут доступны опции:

  • получить SSL-сертификат для домена;
  • отозвать существующий сертификат;
  • принудительно продлить сертификат;
  • показать список доменов с сертификатами;
  • указать пути к сертификатам для панели;
  • получить SSL-сертификат для IP-адреса.

Способ 2: Certbot

Certbot — это классический инструмент от Let's Encrypt. Установите его и получите сертификат для домена:

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

Обратите внимание: Certbot поддерживает только домены, для IP-адресов он не работает. Если у вас нет домена, используйте встроенный ACME-механизм 3X-UI для генерации сертификата на IP.

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

После входа в веб-панель перейдите в раздел «Inbounds» и нажмите «Add Inbound». В открывшемся окне укажите произвольное название (Remark), выберите тип протокола — VMess, VLESS, Trojan, ShadowSocks или WireGuard. Для большинства случаев рекомендуется VLESS, так как он лёгкий и эффективный.

Для настройки VLESS + Reality (рекомендуется для обхода блокировок):

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

В новых версиях панель сама предлагает пару Target+SNI, которую можно изменить кнопкой справа. Также можно указать порт (например, 443) и оставить поле «Порт IP» пустым. После создания подключения вы увидите его в списке, а рядом с ID появится кнопка «+» для управления клиентами.

Управление пользователями и ограничениями

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

Для каждого клиента настраиваются ограничения:

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

Эти параметры позволяют гибко управлять доступом: например, вы можете выдать другу доступ на месяц с лимитом 50 ГБ и запретить использование более чем с одного устройства. Статистика по каждому клиенту отображается в реальном времени: общий трафик, использование по пользователям, статус подключений и срок действия подписок.

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

3X-UI поддерживает подключение с Windows, macOS, Linux, Android и iOS. Для каждого устройства есть рекомендуемые клиентские приложения.

Windows, macOS, Linux:

  • Hiddify (кроссплатформенный);
  • NekoRay (Windows, Linux).

Android:

  • Hiddify;
  • v2rayNG.

iOS:

  • FoXray;
  • v2box;
  • ShadowRocket.

Процесс подключения одинаков для всех платформ:

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

Для iOS приложения можно установить из App Store, для Android — из Google Play. Убедитесь, что клиент поддерживает выбранный протокол (например, VLESS + Reality).

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

Веб-панель 3X-UI предоставляет подробную статистику: общее потребление трафика, использование по пользователям, статус подключений, сроки действия подписок и IP-адреса подключений. Эти данные помогают отслеживать активность и выявлять аномалии.

Дополнительные возможности включают:

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

Для настройки WARP в версиях v2.1.0 и новее он встроен — достаточно включить нужную конфигурацию в панели, создать аккаунт и Outbound. Также можно настроить маршрутизацию через IPv6 для отдельных сервисов, например YouTube, создав специальный Outbound с протоколом freedom и стратегией ForceIPv6, а затем добавив 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 down
docker compose pull 3x-ui
docker compose up -d

Типичные проблемы и их решения:

  • Проверка версии панели: выполните /usr/local/x-ui/x-ui -v. Рекомендуется использовать версию 3.4.2, так как на версии 3.5.0 в настройках подключения обязательно указание минимальной версии клиента 1.0.0.
  • Блокировка SNI: некоторые SNI (например, microsoft.com или yandex.ru) могут блокироваться на транзитных узлах. Рабочим вариантом является использование www.apple.com в настройках подключения. Установите значение www.apple.com:443 в поле «Цель» и нажмите «Сканировать». После этого обновите QR-код или ссылку в клиенте.
  • Стандартные параметры: порт по умолчанию — 2053, путь к базе данных — /etc/x-ui/x-ui.db, конфигурация Xray — /usr/local/x-ui/bin/config.json.

Безопасность и рекомендации по эксплуатации

При использовании 3X-UI важно соблюдать базовые меры безопасности:

  • всегда меняйте стандартный порт веб-панели на нестандартный;
  • используйте сложные пароли и храните их в менеджере паролей;
  • регулярно обновляйте панель до актуальных версий;
  • настройте резервное копирование базы данных и конфигураций.

Также рекомендуется использовать протокол VLESS + Reality, так как он обеспечивает лучшую маскировку трафика и устойчивость к блокировкам. Для дополнительной защиты можно включить блокировку рекламы и ограничить доступ по IP-адресам.

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

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

Какие протоколы поддерживает 3X-UI?

3X-UI поддерживает VMess, VLESS, Trojan, ShadowSocks и WireGuard. Также есть поддержка SOCKS и HTTP. Для обхода блокировок рекомендуется VLESS + Reality.

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

Выполните команду bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh). Убедитесь, что установлен curl. Альтернативно можно использовать Docker: git clone https://github.com/mhsanaei/3x-ui.git, затем cd 3x-ui и docker compose up -d.

Как настроить SSL-сертификат для 3X-UI?

Используйте встроенный ACME-клиент: выполните x-ui в терминале, выберите пункт «Управление SSL-сертификатами» и следуйте инструкциям. Для домена также можно использовать Certbot: certbot certonly --standalone -d yourdomain.com.

Какие клиенты подходят для подключения к 3X-UI?

Для Windows, macOS и Linux — Hiddify или NekoRay. Для Android — Hiddify или v2rayNG. Для iOS — FoXray, v2box или ShadowRocket. Импортируйте конфигурацию через QR-код или ссылку.

Что делать, если подключение не работает?

Проверьте версию панели (/usr/local/x-ui/x-ui -v), убедитесь, что используется рекомендуемая версия 3.4.2. Если SNI блокируется, измените Target и SNI на www.apple.com:443 и нажмите «Сканировать». Также обновите QR-код или ссылку в клиенте.

Как ограничить трафик для пользователя в 3X-UI?

В разделе «Clients» при создании или редактировании пользователя укажите лимит трафика в гигабайтах, срок действия в днях и лимит IP-адресов. Панель автоматически отключит клиента при превышении лимита.

Можно ли использовать 3X-UI для обхода блокировок?

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