Hoe om die 3X-UI-paneel op 'n VPS te installeer
'n Volledige, produksiegerigte gids om die 3X-UI Xray-paneel op Ubuntu te installeer, die webkoppelvlak te sluit, TLS uit te reik, 'n VLESS Reality-inbound te skep, gebruikers te bestuur, en kliënte op lessenaar en selfoon te koppel.

3X-UI is 'n webpaneel vir Xray-core. Dit laat jou inbounds (VLESS, VMess, Trojan, Shadowsocks en ander) bestuur, intekeningskakels uitreik, verkeerslimiete en vervaldatums stel, en lewendige verbindings dophou sonder om JSON met die hand te redigeer. Vir mense wat reeds 'n VPS het, is dit een van die vinnigste maniere om 'n onderhoubare proxy-stapel te kry in plaas van 'n eenmalige konfig wat niemand ses maande later kan opdateer nie.
Hierdie gids is geskryf vir 'n vars Ubuntu 22.04- of 24.04-VPS, wat is hoe die meeste Hiddence Linux-beelde lyk na die eerste opstart. Ons installeer die wyd gebruikte MHSanaei 3X-UI-bou, verander elke verstekgeheim by die eerste aanmelding, sit die paneel agter HTTPS, maak slegs die poorte oop wat jy werklik nodig het, skep 'n VLESS + Reality-inbound, en loop dan deur kliënt-programme. As jy al ons Marzban-artikel gevolg het, is die idee soortgelyk — 'n paneel bo-op Xray — maar die installasiepad, lêeruitleg en daaglikse werkvloei verskil, so moenie die twee op dieselfde bediener meng nie tensy jy werklik weet hoe om poorte te verdeel.
Hoekom 3X-UI in plaas van 'n rou Xray-konfig
'n Rou Xray-konfig is reg vir een gebruiker en een inbound. Die oomblik wat jy vriende byvoeg, Reality-sleutels roteer, of 'n intekening-URL nodig het wat fone met een tik kan invoer, spaar 'n paneel ure. 3X-UI stoor gebruikers in 'n plaaslike databasis, kan Xray skoon herbegin na veranderinge, en bied 'n kompakte dashboard vir verkeer en aanlynstatus. Dit is nie op sigself 'n toweranonimiteitslaag nie: die VPS-ligging, TLS-vingerafdruk, inbound-tipe en jou eie bedryfshigiëne bepaal steeds hoe die opstelling op die netwerk gedra.
- Web-UI vir inbounds, kliënte, verkeer en verval in plaas van handgeredigeerde JSON
- Ingeboude intekeningskakels vir v2rayN, v2rayNG, Streisand, Happ en soortgelyke kliënte
- Een-opdrag-installasie plus 'n gedokumenteerde opdateringspad
- Werk goed op 'n klein VPS (1 vCPU / 1 GB RAM is genoeg vir persoonlike gebruik)
- Jy hou root op jou eie bediener — die paneel stuur nie konfigs na 'n derdeparty-wolk nie
Wat jy nodig het voordat jy begin
Moenie die domein- en firewall-dele oorslaan nie. 'n Paneel wat op HTTP by poort 2053 met die verstekwagwoord gelaat word, word binne ure deur bots geskandeer. Berei hierdie items voor, en koppel dan as root (of 'n sudo-gebruiker) oor SSH.
- 'n Linux-VPS met 'n publieke IPv4-adres (Ubuntu 22.04/24.04 word aanbeveel)
- Ten minste 1 GB RAM en 10 GB skyf; 2 GB RAM is gemakliker as jy ook ander dienste laat loop
- Root- of sudo-toegang oor SSH
- 'n Domein of subdomein wat 'n A-rekord na die VPS-IP wys (nodig vir 'n behoorlike paneelsertifikaat)
- Omtrent 20–30 minute, plus DNS-wagtyd as jy die A-rekord pas geskep het
Stap 1: Dateer die stelsel op en stel die tydsone
'n Splinternuwe VPS het dikwels hangende sekuriteitsopdaterings en UTC as die horlosie. Dateer eers pakkette op sodat die installeerder nie teen 'n verouderde OpenSSL of curl veg nie. Die tydsone is opsioneel vir Xray self, maar dit maak paneellogboeke en sertifikaatvervaldatums baie makliker om te lees.
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.comStap 2: Installeer 3X-UI
Die amptelike installasieskrip vir die MHSanaei 3X-UI-bou laai die nuutste vrystelling af, installeer Xray-core, skep 'n systemd-diens en druk die eerste-aanmelding-URL. Lees die uitvoer noukeurig: dit bevat 'n ewekansige pad en 'n gegenereerde gebruikersnaam/wagwoord. Kopieer hulle dadelik na 'n wagwoordbestuurder. As die skrip vra oor die paneelpoort, hou 2053 of kies 'n ongebruikte hoë poort; onthou dit net vir die firewall-stap.
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 onStap 3: Eerste aanmelding en onmiddellike verharding
Maak die URL oop wat die installeerder gedruk het, gewoonlik http://YOUR_IP:2053/<ewekansige-pad>. Meld aan met die gegenereerde bewysstukke, en gaan dan na Paneelinstellings (of Konfigurasie). Verander die gebruikersnaam en wagwoord na unieke waardes. As die paneel jou toelaat om die web-baspad te verander, doen dit — 'n lang ewekansige pad sny 'n enorme hoeveelheid drive-by-skanderings. Stel die luisterpoort as jy iets anders as 2053 wil hê. Stoor en herbegin die paneel vanuit die UI of met systemctl restart x-ui, en meld dan weer aan op die nuwe URL.
Skakel daarna twee-faktor-verifikasie aan as jou bou dit bied, en deaktiveer ongebruikte inbound-sjablone wat jy nooit sal gebruik nie. Onder Xray-instellings, laat die kernweergawe wat saam met die paneel gekom het, tensy jy 'n spesifieke rede het om 'n ander bou te pin. Moenie die paneel nog op poort 80/443 blootstel as daardie poorte later deur Reality of 'n reverse proxy gebruik gaan word nie — kies een strategie en hou daarby.
- Vervang die gegenereerde admin-aanmelding onmiddellik
- Hou die geheime webpad; moenie die paneel na / skuif nie
- Verkies 'n nie-verstek paneelpoort en teken dit aan
- Hergebruik nooit hierdie wagwoord op ander dienste nie
Stap 4: TLS-sertifikaat vir die paneel
Blaaiers sal waarsku op HTTP, en om die admin-wagwoord in duidelike teks op 'n publieke netwerk te stuur is 'n slegte idee. 3X-UI kan 'n Let's Encrypt-sertifikaat aanvra as poort 80 vry is en die domein na hierdie VPS wys. In die paneel, maak die sertifikaat- / SSL-afdeling oop, voer panel.example.com in, en vra die sertifikaat aan. As poort 80 al geneem is, gebruik 'n DNS-01-vloei of sit Caddy/Nginx voor en reverse-proxy na 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
# }Stap 5: Skep 'n VLESS Reality-inbound
In Inbounds, skep 'n nuwe inbound. 'n Soliede verstek vir baie netwerke is VLESS met Reality en TCP. Kies 'n poort wat nie die paneelpoort is nie — 443 is algemeen as niks anders daar gebind is nie; anders gebruik 'n hoë TCP-poort en wees konsekwent in die firewall. Genereer 'n UUID vir die eerste kliënt, genereer Reality-sleutelpare in die UI, en stel dest / serverNames na 'n wettige teiken wat jy mag naboots ('n bekende werf wat TLS 1.3 ondersteun). Stoor die inbound en bevestig dat Xray sonder foute in die paneellogboeke herlaai.
Voeg dan ekstra kliënte op daardie inbound by as jy hulle nodig het: elke gebruiker kry 'n UUID, opsionele e-pos-etiket, en opsionele verkeer- of tydlimiet. Kopieer die verbindingskakel of die intekening-URL uit die gebruiker-ry. Moenie daardie skakels in openbare kletsgroepe plaas nie; hulle is gelykstaande aan 'n wagwoord.
# 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 -fStap 6: Firewall — slegs die poorte wat jy nodig het
UFW op Ubuntu is genoeg. Laat eers SSH toe sodat jy jouself nie kan uitsluit nie, dan die paneelpoort en die inbound-poort. As jy 'n Let's Encrypt-sertifikaat vanaf die paneel aangevra het, laat ook 80/tcp toe tydens uitreiking. Reality-inbound op 443 benodig 443/tcp (en nie die paneel op dieselfde poort nie).
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 verboseKoppel kliënte
Op Windows kan v2rayN 'n VLESS-skakel vanaf die knipbord invoer. Op Android doen v2rayNG of soortgelyke Xray-kliënte dieselfde vanaf 'n QR-kode. Op iOS, gebruik 'n kliënt wat VLESS Reality ondersteun (byvoorbeeld Streisand of Happ, afhangend van wat tans in jou streek beskikbaar is). Na invoer, aktiveer die profiel en kyk na die paneel se aanlynlys. As die kliënt vanlyn bly, is die gewone oorsake 'n verkeerde poort, UDP aangelos vir 'n slegs-TCP-inbound, 'n Reality serverName wat nie by dest pas nie, of 'n plaaslike firewall op die skootrekenaar.
- Windows: v2rayN — voer VLESS-skakel in, stel routing soos jy nodig het (globaal vs reëlgebaseerd)
- Android: v2rayNG — skandeer QR vanaf die paneel se gebruikersblad
- macOS / iOS: 'n kliënt met VLESS + Reality-ondersteuning; plak dieselfde skakel
- Intekening-URL: voeg dit in die kliënt by sodat UUID-rotasies nie 'n handmatige herinvoer vereis nie
Opdaterings, rugsteun en herinstallasie-veiligheid
Voor elke paneelopdatering, laai 'n rugsteun van die UI af (databasis + konfig). Stoor dit van die VPS af. Opdaterings is tipies x-ui en dan die opdateringsopsie in die kieslys, of dieselfde installasieskrip wat 'n bestaande installasie opspoor. Na 'n opdatering, bevestig dat die systemd-diens aktief is en dat inbounds steeds luister. As jy die bedryfstelsel herinstalleer, herstel die rugsteun in die paneel in plaas daarvan om elke UUID met die hand weer te skep.
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)/Foutopsporing
Die meeste eerste-dag-mislukkings is DNS, poorte of Reality-velde. Werk hierdie lys deur voordat jy die paneel herinstalleer. Herinstalleer sonder 'n rugsteun is hoe mense elke kliënt-UUID verloor.
- Kan nie die web-UI oopmaak nie: kyk systemctl status x-ui, ss -tulpn, en UFW. Bevestig dat jy die geheime pad in die URL ingesluit het.
- Admin-wagwoord vergeet: laat x-ui op die bediener loop en gebruik die terugstelopsie.
- Kliënt koppel dan hang: inbound-poort geblokkeer, of jy het UDP aangeskakel op 'n TCP Reality-inbound.
- TLS-foute op die paneel: domein A-rekord wys nog nie hierheen nie, of poort 80 is besig tydens ACME.
- Reality-handdruk misluk: dest/serverNames-wanpassing, of 'n ander diens is al aan 443 gebind.
- Hoë SVE: te veel inbounds op 'n 1 vCPU-plan, of 'n skandering/vloed op 'n oop poort — kyk ss en die paneel se aanlyntelling.
Sekuriteitsnotas wat werklik saak maak
Behandel die paneel soos produksie-admingereedskap. Dit kan nuwe gebruikers mint en elke UUID lees. Beperk wie die webpoort kan bereik: as jy 'n stabiele kantoor-IP het, laat slegs daardie IP in UFW vir 2053/tcp toe. Hou SSH op sleutels, nie wagwoorde nie. Moenie onverwante publieke webwerwe op dieselfde IP laat loop as jy Reality op 443 gebruik nie — mededingende TLS-stapels op een poort is 'n klassieke bron van onderbrekings. Roteer die admin-wagwoord as 'n skermkiekie van die paneel ooit in 'n klets groeplek uitgelek het.
- Slegs SSH-sleutels; deaktiveer wagwoordaanmelding nadat sleutels werk
- Beperk die paneelpoort in die firewall wanneer jy kan
- Rugsteun /etc/x-ui van die bediener af op 'n skedule
- Moenie intekening-URL's in openbare Telegram-groepe deel nie
- Dop die skyf: logboeke en verkeerstatistieke groei op 'n besige inbound
Praktiese wenke
- Een inbound met baie kliënte is makliker om te bedryf as tien byna identiese inbounds
- Noem kliënte volgens toestel (laptop-anna, phone-ben) sodat verkeersgrafieke iets beteken
- As jy ook 'n reverse proxy vir 'n webwerf nodig het, sit die werf op 'n ander IP of 'n ander poort — moenie met Reality om 443 veg nie
- Na enige x-ui-herbegin, toets een kliënt voordat jy die SSH-sessie verlaat
- Lees die veranderingslog voor jy opdateer; slaan 'latest'-spronge op 'n Vrydagaand oor
Jy het nou 3X-UI geïnstalleer as 'n systemd-diens, 'n toegeslote admin-URL, TLS op die paneel, 'n VLESS Reality-inbound, firewall-reëls wat by daardie poorte pas, en 'n rugsteungewoonte. Voeg kliënte vanaf die inbound-blad by, voer die skakel op elke toestel in, en dateer die paneel slegs na 'n rugsteun op. As iets breek, is die x-ui-kieslys op die VPS die herstelpad — nie 'n volle herinstallasie nie.