Як усталяваць панэль 3X-UI на VPS
Поўнае кіраўніцтва для продакшэну: усталёўка панэлі 3X-UI (Xray) на Ubuntu, абарона вэб-інтэрфейсу, сертыфікат TLS, уваходны VLESS Reality, карыстальнікі і падключэнне кліентаў на камп’ютары і тэлефоне.

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 не крытычны, але па логах панэлі і тэрміне сертыфікатаў арыентавацца прасцей.
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 <(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Крок 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.
# 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
# }Крок 5. Стварыце ўваходны VLESS Reality
У раздзеле Inbounds стварыце новы ўваходны. Для многіх сетак устойлівы варыянт — VLESS, Reality і TCP. Порт не павінен супадаць з портам панэлі: 443, калі нічога іншага на ім няма, інакш высокі TCP-порт — і той самы нумар у фаерволе. Згенеруйце UUID першага кліента і пару ключоў Reality у інтэрфейсе. У dest / serverNames укажыце легітымную мэту, якую вам дапушчальна імітаваць (вядомы сайт з TLS 1.3). Захавайце ўваходны і пераканайцеся, што Xray перазагрузіўся без памылак у логах панэлі.
Дадатковых кліентаў дадавайце на той самы ўваходны: у кожнага свой UUID, пры жаданні метка-email і ліміт па трафіку або часе. Спасылку падключэння або URL падпіскі капіюйце з радка карыстальніка. Не кідайце іх у публічныя чаты — гэта той самы пароль.
# 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, і панэль на гэты самы порт вешаць нельга.
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 зноў.
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 на серверы, а не поўная пераўсталёўка.