איך להתקין את לוח 3X-UI על VPS
מדריך מלא מכוון ייצור להתקנת לוח 3X-UI של Xray על Ubuntu, נעילת ממשק הווב, הנפקת TLS, יצירת inbound של VLESS Reality, ניהול משתמשים וחיבור לקוחות במחשב ובנייד.

3X-UI הוא לוח ווב עבור Xray-core. הוא מאפשר לנהל inbound-ים (VLESS, VMess, Trojan, Shadowsocks ואחרים), להנפיק קישורי מנוי, להגדיר מגבלות תעבורה ותאריכי תפוגה, ולצפות בחיבורים חיים בלי לערוך JSON ידנית. למי שכבר מריץ VPS זו אחת הדרכים המהירות ביותר לקבל מחסנית פרוקסי שאפשר לתחזק במקום קונפיגורציה חד-פעמית שאף אחד לא יעז לעדכן אחרי חצי שנה.
המדריך נכתב עבור VPS טרי עם Ubuntu 22.04 או 24.04, כמו שנראות רוב תמונות לינוקס של Hiddence אחרי האתחול הראשון. נתקין את בניית MHSanaei 3X-UI הנפוצה, נחליף כל סוד ברירת מחדל בכניסה הראשונה, נשים את הלוח מאחורי HTTPS, נפתח רק את הפורטים שבאמת צריך, ניצור inbound של VLESS + Reality ואז נעבור על אפליקציות לקוח. אם כבר עקבתם אחרי מאמר Marzban שלנו הרעיון דומה — לוח מעל Xray — אבל נתיב ההתקנה, פריסת הקבצים וזרימת העבודה היומית שונים, אז אל תערבבו את השניים על אותו שרת אלא אם אתם באמת יודעים לפצל פורטים.
למה 3X-UI במקום קונפיגורציית Xray גולמית
קונפיגורציית Xray גולמית מספיקה למשתמש אחד ול-inbound אחד. ברגע שמוסיפים חברים, מסובבים מפתחות Reality או צריכים כתובת מנוי שהטלפון מייבא בנגיעה אחת, הלוח חוסך שעות. 3X-UI שומר משתמשים במסד מקומי, יכול להפעיל מחדש את Xray בצורה נקייה אחרי שינויים, ומציג לוח מחוונים קומפקטי לתעבורה ולסטטוס מקוון. זה לא שכבת אנונימיות קסומה בפני עצמה: מיקום ה-VPS, טביעת TLS, סוג ה-inbound וההיגיינה התפעולית שלכם עדיין קובעים איך ההתקנה מתנהגת ברשת.
- ממשק ווב ל-inbound-ים, לקוחות, תעבורה ותפוגה במקום JSON שנערך ביד
- קישורי מנוי מובנים ל-v2rayN, v2rayNG, Streisand, Happ ולקוחות דומים
- התקנה בפקודה אחת ועוד נתיב עדכון מתועד
- עובד היטב על VPS קטן (1 vCPU / 1 GB RAM מספיק לשימוש אישי)
- root נשאר אצלכם בשרת — הלוח לא שולח קונפיגורציות לענן של צד שלישי
מה צריך לפני שמתחילים
אל תדלגו על חלקי הדומיין וחומת האש. לוח שנשאר על HTTP בפורט 2053 עם סיסמת ברירת המחדל נסרק על ידי בוטים תוך שעות. הכינו את הפריטים האלה ואז התחברו כ-root (או משתמש sudo) דרך SSH.
- Linux VPS עם כתובת IPv4 ציבורית (מומלץ Ubuntu 22.04/24.04)
- לפחות 1 GB RAM ו-10 GB דיסק; 2 GB RAM נוח יותר אם רצים גם שירותים אחרים
- גישת root או sudo דרך SSH
- דומיין או תת-דומיין עם רשומת A לכתובת ה-IP של ה-VPS (נחוץ לתעודת לוח תקינה)
- כ-20–30 דקות, ועוד זמן המתנה ל-DNS אם רק יצרתם את רשומת A
שלב 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 ומדפיס את כתובת הכניסה הראשונה. קראו את הפלט בעיון: יש בו נתיב אקראי ושם משתמש/סיסמה שנוצרו. העתיקו אותם מיד למנהל סיסמאות. אם הסקריפט שואל על פורט הלוח, השאירו 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: כניסה ראשונה והקשחה מיידית
פתחו את הכתובת שהמתקין הדפיס, בדרך כלל http://YOUR_IP:2053/<random-path>. היכנסו עם הפרטים שנוצרו ואז לכו להגדרות הלוח (או Configuration). שנו את שם המשתמש והסיסמה לערכים ייחודיים. אם הלוח מאפשר לשנות את נתיב הבסיס של הווב, עשו זאת — נתיב אקראי ארוך חותך כמות עצומה של סריקות חולפות. הגדירו את פורט ההאזנה אם אתם רוצים משהו שאינו 2053. שמרו והפעילו מחדש את הלוח מהממשק או עם systemctl restart x-ui, ואז היכנסו שוב בכתובת החדשה.
לאחר מכן הפעילו אימות דו-שלבי אם הבנייה מציעה אותו, וכבו תבניות inbound שלא תשתמשו בהן לעולם. בהגדרות Xray השאירו את גרסת הליבה שהגיעה עם הלוח אלא אם יש סיבה ספציפית לנעוץ בנייה אחרת. אל תחשפו את הלוח על פורט 80/443 עדיין אם הפורטים האלה ישמשו אחר כך את Reality או פרוקסי הפוך — בחרו אסטרטגיה אחת והישארו איתה.
- החליפו מיד את כניסת המנהל שנוצרה
- שמרו על נתיב הווב הסודי; אל תעבירו את הלוח ל-/
- העדיפו פורט לוח שאינו ברירת מחדל ורשמו אותו
- לעולם אל תשתמשו בסיסמה הזו שוב בשירותים אחרים
שלב 4: תעודת TLS ללוח
דפדפנים יזהירו על HTTP, ושליחת סיסמת המנהל בטקסט גלוי ברשת ציבורית היא רעיון רע. 3X-UI יכול לבקש תעודת Let's Encrypt אם פורט 80 פנוי והדומיין מצביע ל-VPS הזה. בלוח פתחו את מדור התעודה / 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: צרו inbound של VLESS Reality
ב-Inbounds צרו inbound חדש. ברירת מחדל מוצקה לרשתות רבות היא VLESS עם Reality ו-TCP. בחרו פורט שאינו פורט הלוח — 443 נפוץ אם שום דבר אחר לא קשור שם; אחרת השתמשו בפורט TCP גבוה והיו עקביים בחומת האש. צרו UUID ללקוח הראשון, צרו זוגות מפתחות Reality בממשק, והגדירו dest / serverNames ליעד לגיטימי שמותר לכם לחקות (אתר מוכר שתומך ב-TLS 1.3). שמרו את ה-inbound ואשרו ש-Xray נטען מחדש בלי שגיאות ביומני הלוח.
ואז הוסיפו לקוחות נוספים על אותו inbound אם צריך: כל משתמש מקבל UUID, תג דוא״ל אופציונלי ומגבלת תעבורה או זמן אופציונלית. העתיקו את קישור החיבור או כתובת המנוי משורת המשתמש. אל תפרסמו את הקישורים בצ'אטים ציבוריים; הם שקולים לסיסמה.
# 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: חומת אש — רק הפורטים שצריך
UFW ב-Ubuntu מספיק. אפשרו SSH קודם כדי לא לנעול את עצמכם בחוץ, אחר כך פורט הלוח ופורט ה-inbound. אם ביקשתם תעודת Let's Encrypt מהלוח, אפשרו גם 80/tcp בזמן ההנפקה. inbound של 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 מהלוח. באנדרואיד v2rayNG או לקוחות Xray דומים עושים אותו דבר מקוד QR. ב-iOS השתמשו בלקוח שתומך ב-VLESS Reality (למשל Streisand או Happ, לפי מה שזמין כרגע באזור שלכם). אחרי הייבוא הפעילו את הפרופיל ובדקו את רשימת המקוונים בלוח. אם הלקוח נשאר לא מקוון הסיבות הרגילות הן פורט שגוי, UDP שנשאר דלוק ב-inbound של TCP בלבד, serverName של Reality שלא תואם ל-dest, או חומת אש מקומית במחשב הנייד.
- Windows: v2rayN — ייבאו קישור VLESS, הגדירו ניתוב לפי הצורך (גלובלי מול מבוסס כללים)
- אנדרואיד: v2rayNG — סרקו QR מדף המשתמש בלוח
- macOS / iOS: לקוח עם תמיכה ב-VLESS + Reality; הדביקו את אותו קישור
- כתובת מנוי: הוסיפו אותה בלקוח כדי שסיבובי UUID לא ידרשו ייבוא ידני מחדש
עדכונים, גיבוי ובטיחות התקנה מחדש
לפני כל עדכון לוח הורידו גיבוי מהממשק (מסד + קונפיגורציה). שמרו אותו מחוץ ל-VPS. עדכונים בדרך כלל הם x-ui ואז אפשרות העדכון בתפריט, או אותו סקריפט התקנה שמזהה התקנה קיימת. אחרי עדכון אשרו ששירות systemd פעיל ושה-inbound-ים עדיין מאזינים. אם מתקינים מחדש את מערכת ההפעלה שחזרו את הגיבוי בלוח במקום ליצור מחדש כל 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. אשרו שכללתם את הנתיב הסודי בכתובת.
- שכחתם סיסמת מנהל: הריצו x-ui בשרת והשתמשו באפשרות האיפוס.
- הלקוח מתחבר ואז נתקע: פורט ה-inbound חסום, או הפעלתם UDP על inbound Reality של TCP בלבד.
- שגיאות TLS בלוח: רשומת A של הדומיין עדיין לא מצביעה לכאן, או פורט 80 עסוק בזמן ACME.
- לחיצת היד של Reality נכשלת: אי-התאמה של dest/serverNames, או שירות אחר כבר קשור ל-443.
- מעבד גבוה: יותר מדי inbound-ים בתוכנית 1 vCPU, או סריקה/הצפה על פורט פתוח — בדקו ss וספירת המקוונים בלוח.
הערות אבטחה שבאמת חשובות
התייחסו ללוח כמו לתוכנת ניהול ייצור. הוא יכול להנפיק משתמשים חדשים ולקרוא כל UUID. הגבילו מי יכול להגיע לפורט הווב: אם יש לכם IP משרדי יציב, אפשרו רק את ה-IP הזה ב-UFW עבור 2053/tcp. השאירו SSH על מפתחות, לא סיסמאות. אל תריצו אתרים ציבוריים לא קשורים על אותו IP אם אתם משתמשים ב-Reality על 443 — מחסניות TLS מתחרות על פורט אחד הן מקור קלאסי להפסקות. סובבו את סיסמת המנהל אם צילום מסך של הלוח אי פעם דלף לצ'אט.
- מפתחות SSH בלבד; כבו כניסת סיסמה אחרי שהמפתחות עובדים
- הגבילו את פורט הלוח בחומת האש כשאפשר
- גבו את /etc/x-ui מחוץ לשרת לפי לוח זמנים
- אל תשתפו כתובות מנוי בקבוצות טלגרם ציבוריות
- עקבו אחרי הדיסק: יומנים וסטטיסטיקות תעבורה גדלים ב-inbound עמוס
טיפים מעשיים
- inbound אחד עם הרבה לקוחות קל יותר להפעלה מעשרה inbound-ים כמעט זהים
- תנו ללקוחות שמות לפי מכשיר (laptop-anna, phone-ben) כדי שתרשימי תעבורה יגידו משהו
- אם צריך גם פרוקסי הפוך לאתר, שימו את האתר ב-IP אחר או בפורט אחר — אל תילחמו ב-Reality על 443
- אחרי כל הפעלה מחדש של x-ui בדקו לקוח אחד לפני שעוזבים את הפעלת SSH
- קראו את יומן השינויים לפני עדכון; דלגו על קפיצות 'latest' בליל שישי
יש לכם עכשיו 3X-UI מותקן כשירות systemd, כתובת מנהל נעולה, TLS על הלוח, inbound של VLESS Reality, כללי חומת אש שמתאימים לפורטים האלה והרגל גיבוי. הוסיפו לקוחות מדף ה-inbound, ייבאו את הקישור בכל מכשיר, ועדכנו את הלוח רק אחרי גיבוי. אם משהו נשבר, נתיב השחזור הוא תפריט x-ui ב-VPS — לא התקנה מלאה מחדש.