VPS पर 3X-UI पैनल कैसे इंस्टॉल करें
Ubuntu पर 3X-UI Xray पैनल इंस्टॉल करने, वेब इंटरफ़ेस को बंद करने, TLS जारी करने, VLESS Reality inbound बनाने, उपयोगकर्ता प्रबंधित करने और डेस्कटॉप व मोबाइल पर क्लाइंट जोड़ने की उत्पादन-उन्मुख पूरी गाइड।

3X-UI, Xray-core के लिए एक वेब पैनल है। इससे inbound (VLESS, VMess, Trojan, Shadowsocks और अन्य) प्रबंधित कर सकते हैं, सब्सक्रिप्शन लिंक जारी कर सकते हैं, ट्रैफ़िक सीमा और समाप्ति तिथि तय कर सकते हैं, और JSON हाथ से संपादित किए बिना लाइव कनेक्शन देख सकते हैं। जो लोग पहले से VPS चलाते हैं, उनके लिए छह महीने बाद कोई अपडेट न कर सके ऐसा एकबारगी कॉन्फ़िग की जगह रखरखाव योग्य प्रॉक्सी स्टैक पाने के सबसे तेज़ तरीकों में से एक है।
यह गाइड ताज़ा Ubuntu 22.04 या 24.04 VPS के लिए लिखी गई है, जैसा कि ज्यादातर Hiddence Linux इमेज पहली बूट के बाद दिखती हैं। हम व्यापक रूप से इस्तेमाल होने वाला MHSanaei 3X-UI बिल्ड इंस्टॉल करेंगे, पहली लॉगिन पर हर डिफ़ॉल्ट सीक्रेट बदलेंगे, पैनल को HTTPS के पीछे रखेंगे, केवल वही पोर्ट खोलेंगे जिनकी वास्तव में ज़रूरत है, VLESS + Reality inbound बनाएंगे, फिर क्लाइंट ऐप चलाएँगे। अगर आपने हमारी Marzban लेख पहले पढ़ी है तो विचार समान है — Xray के ऊपर पैनल — लेकिन इंस्टॉल पथ, फ़ाइल लेआउट और रोज़ का वर्कफ़्लो अलग हैं, इसलिए जब तक पोर्ट बाँटना सचमुच न आता हो एक ही सर्वर पर दोनों न मिलाएँ।
कच्चे Xray कॉन्फ़िग की जगह 3X-UI क्यों
कच्चा Xray कॉन्फ़िग एक उपयोगकर्ता और एक inbound के लिए ठीक है। जिस क्षण आप दोस्त जोड़ते हैं, Reality कुंजियाँ घुमाते हैं, या ऐसा सब्सक्रिप्शन URL चाहिए जिसे फ़ोन एक टैप में इंपोर्ट करे, पैनल घंटे बचाता है। 3X-UI उपयोगकर्ताओं को स्थानीय डेटाबेस में रखता है, बदलाव के बाद Xray को साफ़ रीस्टार्ट कर सकता है, और ट्रैफ़िक व ऑनलाइन स्थिति के लिए संक्षिप्त डैशबोर्ड देता है। यह अपने आप जादुई गुमनामी परत नहीं है: VPS स्थान, TLS फिंगरप्रिंट, inbound प्रकार और आपकी परिचालन स्वच्छता अभी भी तय करती है कि सेटअप नेटवर्क पर कैसे व्यवहार करता है।
- हाथ से संपादित JSON की जगह inbound, क्लाइंट, ट्रैफ़िक और समाप्ति के लिए वेब UI
- v2rayN, v2rayNG, Streisand, Happ और समान क्लाइंट के लिए अंतर्निहित सब्सक्रिप्शन लिंक
- एक कमांड इंस्टॉल प्लस दस्तावेज़ीकृत अपडेट पथ
- छोटे VPS पर अच्छा काम करता है (व्यक्तिगत उपयोग के लिए 1 vCPU / 1 GB RAM काफ़ी है)
- root आपके अपने सर्वर पर रहता है — पैनल कॉन्फ़िग किसी तीसरे पक्ष के क्लाउड पर नहीं भेजता
शुरू करने से पहले क्या चाहिए
डोमेन और फ़ायरवॉल भाग न छोड़ें। पोर्ट 2053 पर HTTP और डिफ़ॉल्ट पासवर्ड वाला पैनल बॉट कुछ घंटों में स्कैन कर लेते हैं। ये चीजें तैयार करें, फिर SSH पर root (या sudo उपयोगकर्ता) से जुड़ें।
- सार्वजनिक IPv4 पते वाला Linux VPS (Ubuntu 22.04/24.04 सुझाया गया)
- कम से कम 1 GB RAM और 10 GB डिस्क; अन्य सेवाएँ भी चल रही हों तो 2 GB RAM अधिक आरामदायक
- SSH पर root या sudo पहुँच
- VPS IP पर A रिकॉर्ड वाला डोमेन या सबडोमेन (उचित पैनल प्रमाणपत्र के लिए ज़रूरी)
- लगभग 20–30 मिनट, प्लस A रिकॉर्ड अभी बनाया हो तो 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/<random-path>। जनरेट क्रेडेंशियल से लॉगिन करें, फिर Panel Settings (या Configuration) पर जाएँ। उपयोगकर्ता नाम और पासवर्ड अद्वितीय मानों में बदलें। अगर पैनल वेब बेस पथ बदलने दे तो करें — लंबा यादृच्छिक पथ ड्राइव-बाय स्कैन का बड़ा हिस्सा काटता है। 2053 के अलावा कुछ चाहिए तो लिस्न पोर्ट सेट करें। सहेजें और UI से या systemctl restart x-ui से पैनल रीस्टार्ट करें, फिर नए URL पर फिर लॉगिन करें।
फिर अगर आपका बिल्ड देता है तो दो-कारक प्रमाणीकरण चालू करें, और कभी न इस्तेमाल होने वाले inbound टेम्पलेट बंद करें। Xray सेटिंग में पैनल के साथ आए कोर संस्करण को छोड़ दें जब तक किसी अन्य बिल्ड को पिन करने का खास कारण न हो। अगर बाद में Reality या रिवर्स प्रॉक्सी उन पोर्ट का उपयोग करेगा तो पैनल को अभी 80/443 पर न खोलें — एक रणनीति चुनें और उसी पर रहें।
- जनरेट एडमिन लॉगिन तुरंत बदलें
- गुप्त वेब पथ रखें; पैनल को / पर न ले जाएँ
- गैर-डिफ़ॉल्ट पैनल पोर्ट चुनें और लिख लें
- यह पासवर्ड अन्य सेवाओं पर कभी दोबारा न इस्तेमाल करें
चरण 4: पैनल के लिए TLS प्रमाणपत्र
ब्राउज़र HTTP पर चेतावनी देंगे, और सार्वजनिक नेटवर्क पर एडमिन पासवर्ड सादे पाठ में भेजना बुरा विचार है। पोर्ट 80 खाली हो और डोमेन इस VPS की ओर हो तो 3X-UI Let's Encrypt प्रमाणपत्र माँग सकता है। पैनल में प्रमाणपत्र / SSL खंड खोलें, panel.example.com दर्ज करें, और प्रमाणपत्र अनुरोध करें। पोर्ट 80 पहले से भरा हो तो DNS-01 प्रवाह इस्तेमाल करें या आगे 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 inbound बनाएँ
Inbounds में नया inbound बनाएँ। कई नेटवर्क के लिए मज़बूत डिफ़ॉल्ट Reality और TCP के साथ VLESS है। पैनल पोर्ट न हो ऐसा पोर्ट चुनें — वहाँ और कुछ बंधा न हो तो 443 आम है; वरना उच्च TCP पोर्ट इस्तेमाल करें और फ़ायरवॉल में सुसंगत रहें। पहले क्लाइंट के लिए UUID जनरेट करें, UI में Reality कुंजी जोड़े बनाएँ, और dest / serverNames को उस वैध लक्ष्य पर सेट करें जिसका अनुकरण करने की अनुमति हो (TLS 1.3 समर्थित प्रसिद्ध साइट)। inbound सहेजें और पैनल लॉग में पुष्टि करें कि Xray बिना त्रुटि रीलोड हुआ।
फिर ज़रूरत हो तो उसी inbound पर अतिरिक्त क्लाइंट जोड़ें: हर उपयोगकर्ता को UUID, वैकल्पिक ईमेल टैग, और वैकल्पिक ट्रैफ़िक या समय सीमा मिलती है। उपयोगकर्ता पंक्ति से कनेक्शन लिंक या सब्सक्रिप्शन 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 अनुमति दें, फिर पैनल पोर्ट और inbound पोर्ट। पैनल से Let's Encrypt प्रमाणपत्र माँगा हो तो जारी करते समय 80/tcp भी अनुमति दें। 443 पर Reality inbound को 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, क्षेत्र में अभी क्या उपलब्ध है उस पर निर्भर)। इंपोर्ट के बाद प्रोफ़ाइल चालू करें और पैनल की ऑनलाइन सूची जाँचें। क्लाइंट ऑफ़लाइन रहे तो आम कारण गलत पोर्ट, केवल-TCP inbound पर UDP चालू रहना, dest से न मिलता Reality serverName, या लैपटॉप पर स्थानीय फ़ायरवॉल हैं।
- Windows: v2rayN — VLESS लिंक इंपोर्ट करें, रूटिंग ज़रूरत अनुसार सेट करें (वैश्विक बनाम नियम-आधारित)
- Android: v2rayNG — पैनल उपयोगकर्ता पृष्ठ से QR स्कैन करें
- macOS / iOS: VLESS + Reality समर्थन वाला क्लाइंट; वही लिंक चिपकाएँ
- सब्सक्रिप्शन URL: क्लाइंट में जोड़ें ताकि UUID घुमाने पर मैन्युअल री-इंपोर्ट न लगे
अपडेट, बैकअप और रीइंस्टॉल सुरक्षा
हर पैनल अपडेट से पहले UI से बैकअप डाउनलोड करें (डेटाबेस + कॉन्फ़िग)। VPS के बाहर रखें। अपडेट आमतौर पर x-ui फिर मेनू में अपडेट विकल्प, या वही इंस्टॉल स्क्रिप्ट जो मौजूदा इंस्टॉल पहचानती है। अपडेट के बाद पुष्टि करें कि systemd सेवा सक्रिय है और inbound अभी भी सुन रहे हैं। OS रीइंस्टॉल करें तो हर 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 खोने का तरीका है।
- वेब UI नहीं खुलता: systemctl status x-ui, ss -tulpn और UFW जाँचें। URL में गुप्त पथ शामिल किया हो इसकी पुष्टि करें।
- एडमिन पासवर्ड भूल गए: सर्वर पर x-ui चलाएँ और रीसेट विकल्प इस्तेमाल करें।
- क्लाइंट जुड़ता है फिर अटकता है: inbound पोर्ट अवरुद्ध, या TCP Reality inbound पर UDP चालू किया।
- पैनल पर TLS त्रुटियाँ: डोमेन A रिकॉर्ड अभी यहाँ नहीं दिखता, या ACME के दौरान पोर्ट 80 व्यस्त।
- Reality हैंडशेक विफल: dest/serverNames बेमेल, या 443 पर पहले से दूसरी सेवा बंधी।
- उच्च CPU: 1 vCPU प्लान पर बहुत inbound, या खुले पोर्ट पर स्कैन/बाढ़ — ss और पैनल ऑनलाइन संख्या जाँचें।
सुरक्षा नोट जो सच में मायने रखते हैं
पैनल को उत्पादन एडमिन सॉफ़्टवेयर की तरह मानें। यह नए उपयोगकर्ता बना सकता है और हर UUID पढ़ सकता है। वेब पोर्ट तक कौन पहुँचे सीमित करें: स्थिर कार्यालय IP हो तो UFW में 2053/tcp के लिए केवल वही IP अनुमति दें। SSH कुंजियों पर रखें, पासवर्ड पर नहीं। 443 पर Reality इस्तेमाल कर रहे हों तो उसी IP पर असंबंधित सार्वजनिक वेबसाइट न चलाएँ — एक पोर्ट पर प्रतिस्पर्धी TLS स्टैक आउटेज का क्लासिक स्रोत हैं। पैनल का स्क्रीनशॉट कभी चैट में लीक हुआ हो तो एडमिन पासवर्ड घुमाएँ।
- केवल SSH कुंजियाँ; कुंजियाँ काम करने के बाद पासवर्ड लॉगिन बंद करें
- जब संभव हो फ़ायरवॉल में पैनल पोर्ट सीमित करें
- /etc/x-ui को सर्वर से बाहर निर्धारित समय पर कॉपी करें
- सार्वजनिक Telegram समूहों में सब्सक्रिप्शन URL साझा न करें
- डिस्क देखें: व्यस्त inbound पर लॉग और ट्रैफ़िक आँकड़े बढ़ते हैं
व्यावहारिक सुझाव
- कई क्लाइंट वाला एक inbound दस लगभग समान inbound से चलाना आसान है
- क्लाइंट को डिवाइस से नाम दें (laptop-anna, phone-ben) ताकि ट्रैफ़िक चार्ट का अर्थ हो
- वेबसाइट के लिए भी रिवर्स प्रॉक्सी चाहिए तो साइट दूसरे IP या पोर्ट पर रखें — Reality से 443 के लिए न लड़ें
- किसी भी x-ui रीस्टार्ट के बाद SSH सत्र छोड़ने से पहले एक क्लाइंट जाँचें
- अपडेट से पहले चेंजलॉग पढ़ें; शुक्रवार रात ‘latest’ छलाँगें छोड़ दें
अब 3X-UI systemd सेवा के रूप में इंस्टॉल है, बंद एडमिन URL, पैनल पर TLS, VLESS Reality inbound, उन पोर्ट से मेल खाते फ़ायरवॉल नियम, और बैकअप की आदत। inbound पृष्ठ से क्लाइंट जोड़ें, हर डिवाइस पर लिंक इंपोर्ट करें, और पैनल केवल बैकअप के बाद अपडेट करें। कुछ टूटे तो पुनर्प्राप्ति पथ VPS पर x-ui मेनू है — पूरा रीइंस्टॉल नहीं।