Что такое 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 — это открытая дверь для ботнетов, которые постоянно сканируют порты. Выполните три обязательных шага:
- Смена логина и пароля: Перейдите в
Panel Settings→User. Установите надёжный пароль (минимум 16 символов). Можно сгенерировать его командойopenssl rand -base64 24.
- Смена порта панели: В
Panel Settings→Panel Portизмените порт 2053 на любой нестандартный, например 38521. После сохранения панель переедет на новый порт, не забудьте открыть его в файрволе (ufw allow 38521/tcp).
- Смена URL-пути панели: В
Panel Settings→Panel Pathдобавьте случайный префикс, например/xui-secret-path/. Теперь панель будет доступна только по адресуhttp://IP:38521/xui-secret-path/, и сканеры, ищущие корневой путь, ничего не найдут.
Эти простые меры значительно повысят безопасность вашей панели и защитят её от несанкционированного доступа.
Настройка SSL-сертификата
SSL-сертификат необходим для шифрования трафика между клиентом и сервером, а также для работы некоторых протоколов, таких как VLESS+REALITY. Существует несколько способов настройки SSL в 3X-UI.
Встроенный ACME-клиент
3X-UI имеет встроенную поддержку ACME для автоматического получения сертификатов Let's Encrypt. Для этого:
- Убедитесь, что ваш домен корректно указывает на сервер (A-запись в DNS).
- Запустите команду
x-uiв терминале и выберите пункт «Управление SSL-сертификатами» (пункт 19). - Выберите «Получить SSL (Домен)» и следуйте инструкциям.
Также можно получить сертификат для IP-адреса, но это поддерживается не всеми центрами сертификации.
Использование Certbot
Альтернативный способ — установить Certbot и получить сертификат вручную:
apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.comПосле получения сертификата укажите пути к файлам в панели: в Panel Settings → Panel 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
- Перейдите на страницу «Inbounds».
- Нажмите кнопку «Add Inbound».
- Укажите название (Remark), выберите протокол и порт.
- Настройте параметры в зависимости от протокола.
Настройка 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)
Для подключения:
- В веб-панели 3X-UI нажмите на QR-код нужного пользователя или скопируйте ссылку на подписку/подключение.
- Установите клиент и импортируйте конфигурацию (через QR-код или ссылку).
- Совершите подключение.
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 сохраняются, поэтому конфигурации и клиенты не теряются.
Частые проблемы и их решение
- Панель не открывается после установки
- Проверьте, что порт открыт в файрволе (
ufw allow 2053/tcp). - Убедитесь, что контейнер запущен (
docker compose logs 3x-ui). - Проверьте, что вы используете
http://, а неhttps://.
- Ошибки SSL
- Убедитесь, что домен правильно указывает на сервер.
- Проверьте пути к сертификатам в настройках панели.
- Перезапустите панель после обновления сертификата.
- Конфликты портов
- Проверьте, что порт не занят другим процессом:
ss -tlnp | grep 2053. - Измените порт в настройках панели.
- Низкая скорость или нестабильное соединение
- Попробуйте сменить протокол или 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-соединение и не требует выделенного домена, что делает его эффективным в условиях цензуры.