Назад до блогу
Серпень 19, 2026Посібники

Як встановити панель 3X-UI на VPS

Повний посібник для продакшену: встановлення панелі 3X-UI (Xray) на Ubuntu, захист вебінтерфейсу, сертифікат TLS, вхідний VLESS Reality, користувачі та підключення клієнтів на комп’ютері й телефоні.

Як встановити панель 3X-UI на VPS

3X-UI — вебпанель для Xray-core. Через неї можна керувати вхідними (VLESS, VMess, Trojan, Shadowsocks та іншими), видавати посилання підписки, ставити ліміти трафіку й терміну дії та дивитися живі з’єднання, не редагуючи JSON вручну. Якщо у вас уже є VPS, це один із найшвидших способів отримати супроводжуваний проксі-стек замість конфігурації «на один вечір», яку через пів року ніхто не наважиться чіпати.

Посібник розрахований на чистий Ubuntu 22.04 або 24.04 — типовий Linux-образ Hiddence після першого завантаження. Встановимо поширену збірку MHSanaei 3X-UI, одразу змінимо всі заводські секрети, закриємо панель HTTPS, відкриємо в брандмауері лише потрібні порти, створимо вхідний VLESS + Reality і розберемо клієнтські програми. Якщо ви вже ставили Marzban за нашою статтею, ідея схожа — панель поверх Xray — але шлях встановлення, розміщення файлів і щоденна робота інші. Не ставте обидві панелі на один сервер, доки не вмієте розвести порти.

Навіщо 3X-UI замість сирого конфігу Xray

Сирий конфіг Xray нормальний для одного користувача й одного вхідного. Щойно з’являються друзі, ротація ключів Reality або URL підписки, який телефон імпортує одним дотиком, панель заощаджує години. 3X-UI зберігає користувачів у локальній базі, коректно перезапускає Xray після змін і дає компактну панель трафіку та статусу онлайн. Сама по собі вона не робить вас «невидимими»: важливі локація VPS, відбиток TLS, тип вхідного та те, як ви самі поводитеся з посиланнями й паролями.

  • Вебінтерфейс для вхідних, клієнтів, трафіку й термінів замість ручного JSON
  • Готові посилання підписки для v2rayN, v2rayNG, Streisand, Happ і подібних клієнтів
  • Встановлення однією командою та зрозумілий шлях оновлення
  • Вистачає невеликого VPS (1 vCPU / 1 ГБ RAM для особистого використання)
  • Root залишається у вас: панель не надсилає конфіги в чужу хмару

Що потрібно перед стартом

Не пропускайте домен і брандмауер. Панель на HTTP з портом 2053 і паролем за замовчуванням боти знаходять за години. Підготуйте пункти нижче й підключіться по SSH як root (або користувач із sudo).

  • Linux VPS із публічною IPv4-адресою (рекомендовано Ubuntu 22.04/24.04)
  • Щонайменше 1 ГБ RAM і 10 ГБ диска; 2 ГБ зручніше, якщо на сервері крутиться ще щось
  • Доступ root або sudo по SSH
  • Домен або піддомен з A-записом на IP сервера (для нормального сертифіката панелі)
  • 20–30 хвилин плюс очікування DNS, якщо запис щойно створили

Крок 1. Оновіть систему й встановіть часовий пояс

На новому VPS часто висять оновлення безпеки, а годинник стоїть у UTC. Спочатку пакети, щоб інсталятор не сперечався зі старим OpenSSL або curl. Часовий пояс для самого Xray не критичний, але за логами панелі й терміном сертифікатів орієнтуватися простіше.

bash
ssh root@YOUR_VPS_IP

apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip

timedatectl set-timezone UTC
hostnamectl set-hostname panel

# Confirm DNS for your subdomain (should print your VPS IP):
dig +short panel.example.com

Крок 2. Встановіть 3X-UI

Офіційний скрипт збірки MHSanaei 3X-UI завантажує свіжий випуск, ставить Xray-core, створює службу systemd і друкує URL першого входу. Уважно скопіюйте випадковий шлях, логін і пароль у менеджер паролів. Якщо запитають порт панелі, залиште 2053 або оберіть вільний високий порт — його ж потім вкажете в брандмауері.

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

# After install, useful commands:
x-ui                    # interactive menu (start/stop/restart, reset, update)
systemctl status x-ui    # confirm the service is active
ss -tulpn | grep x-ui    # see which port the panel listens on
Не закривайте цю SSH-сесію. Якщо вилетите з панелі, меню x-ui на сервері скине пароль адміністратора без перевстановлення.

Крок 3. Перший вхід і одразу посилення захисту

Відкрийте URL з виводу інсталятора, зазвичай http://YOUR_IP:2053/<випадковий-шлях>. Увійдіть із виданими даними й відкрийте налаштування панелі (Panel Settings або Configuration). Змініть логін і пароль на свої унікальні. Якщо можна змінити базовий шлях вебінтерфейсу — змініть: довгий випадковий шлях відсікає масу сканерів. За потреби змініть порт прослуховування. Збережіть, перезапустіть панель з інтерфейсу або через systemctl restart x-ui і увійдіть уже за новим URL.

Увімкніть двофакторну перевірку, якщо збірка її пропонує, і вимкніть шаблони вхідних, якими не користуєтесь. Ядро Xray краще залишити тим, що прийшло з панеллю, доки немає причини фіксувати іншу збірку. Не вішайте панель на 80/443, якщо ці порти потім займе Reality або зворотний проксі — оберіть одну схему й дотримуйтеся її.

  • Одразу замініть виданий логін адміністратора
  • Секретний шлях в URL залиште, не переносьте панель у корінь сайту
  • Нестандартний порт панелі запишіть собі
  • Цей пароль ніде більше не використовуйте

Крок 4. Сертифікат TLS для панелі

Браузер лається на HTTP, а пароль адміністратора відкритою мережею краще не ганяти. 3X-UI вміє запросити сертифікат Let's Encrypt, якщо порт 80 вільний і домен дивиться на цей VPS. У розділі сертифікатів / SSL вкажіть panel.example.com і запросіть випуск. Якщо 80 уже зайнятий, використайте перевірку через DNS або поставте Caddy/Nginx спереду й проксуйте на 127.0.0.1:2053.

bash
# Quick check that port 80 is free before the panel ACME challenge:
ss -tulpn | grep ':80'

# If you terminate TLS on Caddy instead of inside 3X-UI:
# Caddyfile example (panel stays on 127.0.0.1:2053):
# panel.example.com {
#     reverse_proxy 127.0.0.1:2053
# }
Сертифікат панелі — лише для вебінтерфейсу. У VLESS Reality інша схема TLS (маскування під чужий сайт), цей файл Let's Encrypt до клієнтського трафіку не стосується.

Крок 5. Створіть вхідний VLESS Reality

У розділі Inbounds створіть новий вхідний. Для багатьох мереж стійкий варіант — VLESS, Reality і TCP. Порт не повинен збігатися з портом панелі: 443, якщо нічого іншого на ньому немає, інакше високий TCP-порт — і той самий номер у брандмауері. Згенеруйте UUID першого клієнта й пару ключів Reality в інтерфейсі. У dest / serverNames вкажіть легітимну ціль, яку вам допустимо імітувати (відомий сайт із TLS 1.3). Збережіть вхідний і переконайтеся, що Xray перезавантажився без помилок у логах панелі.

Додаткових клієнтів додавайте на той самий вхідний: у кожного свій UUID, за бажанням мітка-email і ліміт за трафіком або часом. Посилання підключення або URL підписки копіюйте з рядка користувача. Не кидайте їх у публічні чати — це той самий пароль.

bash
# On the server, confirm Xray is listening on the inbound port (example: 443):
ss -tulpn | grep -E ':443|:2053'

# Follow Xray logs if a client cannot connect:
journalctl -u x-ui -f

Крок 6. Брандмауер: лише потрібні порти

На Ubuntu достатньо UFW. Спочатку дозвольте SSH, щоб не закрити собі вхід, потім порт панелі й порт вхідного. Якщо сертифікат панелі випускається через ACME з цього ж сервера, на час випуску потрібен 80/tcp. Reality на 443 вимагає 443/tcp, і панель на цей самий порт вішати не можна.

bash
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verbose

Підключення клієнтів

У Windows v2rayN імпортує посилання VLESS з буфера. На Android те саме робить v2rayNG або інший клієнт Xray за QR. На iOS потрібен клієнт із підтримкою VLESS Reality (наприклад Streisand або Happ — дивіться, що доступно у вашому регіоні). Після імпорту ввімкніть профіль і перевірте список «онлайн» у панелі. Якщо клієнт мовчить, найчастіше винні порт, UDP на TCP-only Reality, незбіг serverName і dest або локальний брандмауер ноутбука.

  • Windows: v2rayN — імпорт посилання VLESS, маршрутизація глобально або за правилами
  • Android: v2rayNG — QR зі сторінки користувача в панелі
  • macOS / iOS: клієнт із VLESS + Reality, те саме посилання
  • URL підписки: додайте в клієнт, щоб зміна UUID не вимагала ручного імпорту

Оновлення, резервна копія та безпечне перевстановлення

Перед кожним оновленням панелі завантажте резервну копію з інтерфейсу (база і конфіг) і приберіть її з VPS. Оновлення зазвичай через меню x-ui або тим самим скриптом встановлення, якщо він бачить уже поставлену панель. Після оновлення перевірте, що служба systemd активна й вхідні слухають порти. Якщо перевстановлюєте ОС, відновіть копію в панелі, а не збирайте UUID знову.

bash
x-ui   # choose update when prompted, or:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# Backup files commonly live under /etc/x-ui/ — copy them off-box:
ls -la /etc/x-ui/
# Example offsite copy:
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/

Якщо щось не працює

У перший день майже завжди винні DNS, порти або поля Reality. Пройдіть список нижче, перш ніж перевстановлювати панель. Перевстановлення без копії — спосіб втратити всі UUID клієнтів.

  • Не відкривається вебінтерфейс: systemctl status x-ui, ss -tulpn і UFW. У URL має бути секретний шлях.
  • Забули пароль адміністратора: на сервері x-ui і пункт скидання.
  • Клієнт чіпляється і зависає: закритий порт вхідного або ввімкнено UDP на TCP Reality.
  • Помилки TLS панелі: A-запис ще не дивиться сюди або порт 80 зайнятий під час ACME.
  • Не проходить рукостискання Reality: dest/serverNames не збігаються або 443 уже зайнятий іншою службою.
  • Високе навантаження на CPU: забагато вхідних на 1 vCPU або сканування відкритого порту — перевірте ss і кількість онлайн у панелі.

Захист, який справді важливий

Панель — це адмінка: з неї видають користувачів і читають UUID. Обмежте, хто достукається до вебпорту: якщо IP офісу постійний, в UFW для 2053/tcp залиште лише його. SSH — за ключами, не за паролем. Не крутіть сторонні публічні сайти на тому ж IP, якщо Reality сидить на 443: два стеки TLS на одному порту — класика раптових падінь. Змініть пароль адміністратора, якщо скрін панелі коли-небудь витік у чат.

  • Лише SSH-ключі; парольний вхід вимкніть, коли ключі перевірені
  • Порт панелі в брандмауері звузьте, якщо можете
  • Каталог /etc/x-ui регулярно копіюйте з сервера
  • Посилання підписки не публікуйте у відкритих групах Telegram
  • Слідкуйте за диском: логи й статистика трафіку ростуть

Практичні поради

  • Один вхідний на багато клієнтів простіший, ніж десять майже однакових
  • Називайте клієнтів за пристроями (ноутбук-анна, телефон-бен), інакше графіки безглузді
  • Сайт зі зворотним проксі краще на інший IP або порт — не сперечайтеся з Reality за 443
  • Після будь-якого перезапуску x-ui перевірте одного клієнта, поки SSH ще відкритий
  • Перед оновленням читайте список змін, не стрибайте на latest у п’ятницю ввечері

У підсумку 3X-UI стоїть як служба systemd, адмінський URL закритий, у панелі є TLS, вхідний VLESS Reality створено, брандмауер збігається з портами, резервна копія лежить не лише на цьому VPS. Клієнтів додавайте на сторінці вхідного, імпортуйте посилання на кожному пристрої, панель оновлюйте лише після копії. Якщо все зламалося, шлях відновлення — меню x-ui на сервері, а не повне перевстановлення.