This guide walks through every protocol supported by the 3X-UI panel — from basic VLESS to advanced CDN-routed configurations. Each section is self-contained: pick the protocols you need, skip the ones you don't.
Table of Contents
- Prerequisites & Installation
- VLESS + WebSocket (Port 443)
- VMess + TCP on High Port
- Shadowsocks (Port 8388)
- VLESS + Reality + XTLS-Vision (Port 8443)
- Trojan + TCP on High Port
- VLESS + WebSocket + CDN (Cloudflare & AWS)
- Subscription Server
- Log Rotation
- Quick Reference & Testing Order
Prerequisites & Installation
Before configuring any protocols, install the 3X-UI panel on your VPS.
Install 3X-UI
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
After installation:
- Panel URL:
http://YOUR_SERVER_IP:2053 - Default login:
admin / admin
Change your credentials immediately after the first login.
1. VLESS + WebSocket (Port 443)
This is the most basic configuration. WebSocket transport makes it compatible with CDN routing later.
Panel Settings
Navigate to Inbound List → Add Inbound and configure:
| Field | Value |
|---|
| Remark | VLESS-WS |
| Protocol | vless |
| Port | 443 |
Client: Email=user1, UUID=auto, Flow=empty. Transport: Network=ws, Path=/. Security: None, Sniffing=Enabled.
Why: Straightforward setup. WebSocket gives CDN compatibility later.
2. VMess + TCP on High Port
Panel Settings
| Field | Value |
|---|
| Remark | VMess-TCP |
| Protocol | vmess |
| Port | 10410-10417 |
Client: Email=user1-vmess, UUID=same, AlterID=0. Transport: Network=tcp, Header=none. Security: None, Sniffing=Enabled.
Why: High ports get less DPI scrutiny. VMess has built-in encryption.
3. Shadowsocks (Port 8388)
Panel Settings
| Field | Value |
|---|
| Remark | Shadowsocks |
| Protocol | shadowsocks |
| Port | 8388 |
| Encryption | 2022-blake3-aes-128-gcm |
Important Notes on Shadowsocks 2022
The 2022-blake3 cipher requires a base64-encoded 16-byte key:
openssl rand -base64 16
4. VLESS + Reality + XTLS-Vision (Port 8443)
Reality is the most advanced stealth protocol.
Step 1: Generate x25519 Keypair
/usr/local/x-ui/bin/xray-linux-amd64 x25519
Step 2: Generate a Short ID
openssl rand -hex 8
Step 3: Add Inbound in Panel
| Field | Value |
|---|
| Protocol | vless |
| Port | 8443 |
| Flow | xtls-rprx-vision |
| Security | reality |
| Dest | yahoo.com:443 |
| SNI | yahoo.com, www.yahoo.com |
| Fingerprint | chrome |
Why: Reality makes TLS indistinguishable from a genuine connection to yahoo.com.
vless://UUID@IP:8443?type=tcp&security=reality&pbk=PUBLIC_KEY&fp=chrome&sni=yahoo.com&sid=SHORT_ID&spx=/&flow=xtls-rprx-vision&encryption=none#Name
5. Trojan + TCP on High Port (No TLS)
Panel Settings
| Field | Value |
|---|
| Protocol | trojan |
| Port | 10420-10427 |
| Security | None |
Why: Trojan serves as fallback when VLESS/VMess are blocked.
6. VLESS + WebSocket + CDN
The most resilient configuration. Traffic flows through a CDN — filters only see CDN IPs. Your server IP stays hidden.
6-A: Cloudflare Setup
Add domain to Cloudflare, create DNS A record with orange cloud ON, set SSL mode (Flexible for HTTP ports, Full for HTTPS ports), disable Security Level, enable WebSockets.
6-B: AWS CloudFront Setup
Create distribution with origin=your server, HTTP only, port 443, caching disabled, AllViewer request policy.
6-C: X-UI Inbound Settings for CDN
HTTP ports (2082, 8880): VLESS-WS, Security=None, Host header=your CDN domain.
HTTPS ports (2083, 2087): VLESS-WS, Security=TLS with cert/key files.
6-D: CDN Troubleshooting
525 SSL Error → SSL mode mismatch. 403 Forbidden → WAF blocking. Timeout → check port, WebSocket, orange cloud, Host header.
7. Subscription Server
apt install nginx -y
Create /etc/nginx/sites-available/subscription with raw and base64 endpoints on port 8080.
8. Log Rotation
sed -i 's/#SystemMaxUse=.*/SystemMaxUse=100M/' /etc/systemd/journald.conf
systemctl restart systemd-journald
journalctl --vacuum-size=100M
9. Quick Reference — All Ports
| Port | Protocol | Purpose |
|---|
| 443 | VLESS-WS | Basic WebSocket |
| 8388 | Shadowsocks | SS 2022-blake3 |
| 8443 | VLESS-Reality | Stealth TLS |
| 10410-10417 | VMess-TCP | High port VMess |
| 10420-10427 | Trojan-TCP | High port Trojan |
| 2082, 8880 | VLESS-WS-CDN | Cloudflare HTTP |
| 2083, 2087 | VLESS-WS-CDN-TLS | Cloudflare HTTPS |
| 2053 | 3X-UI Panel | Management |
| 8080 | Nginx | Subscription |
10. Recommended Testing Order
- CDN configs (2082/8880 or 2083/2087) — Most reliable
- Reality (8443) — Looks like real TLS
- Trojan/VMess on high ports — Less DPI scrutiny
- Shadowsocks (8388) — Good fallback
- VLESS-WS on 443 — May be filtered
این راهنما همه پروتکلهای پشتیبانیشده توسط پنل 3X-UI رو پوشش میده — از VLESS ساده تا تنظیمات CDN پیشرفته. هر بخش مستقله: پروتکلهایی که نیاز داری رو انتخاب کن، بقیه رو رد کن.
فهرست مطالب
- پیشنیازها و نصب
- VLESS + WebSocket (پورت 443)
- VMess + TCP روی پورت بالا
- Shadowsocks (پورت 8388)
- VLESS + Reality + XTLS-Vision (پورت 8443)
- Trojan + TCP روی پورت بالا
- VLESS + WebSocket + CDN (Cloudflare و AWS)
- سرور سابسکریپشن
- چرخش لاگ
- مرجع سریع و ترتیب تست
پیشنیازها و نصب
قبل از تنظیم هر پروتکلی، پنل 3X-UI رو روی VPS نصب کن.
نصب 3X-UI
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
بعد از نصب:
- آدرس پنل:
http://YOUR_SERVER_IP:2053 - ورود پیشفرض:
admin / admin
فوری بعد از اولین ورود، نام کاربری و رمز رو عوض کن. پنل از اینترنت قابل دسترسه — از رمز قوی استفاده کن.
۱. VLESS + WebSocket (پورت 443)
سادهترین تنظیم. ترنسپورت WebSocket بهت اجازه میده بعداً از CDN استفاده کنی.
تنظیمات پنل
برو به Inbound List → Add Inbound:
| فیلد | مقدار |
|---|
| Remark | VLESS-WS |
| Protocol | vless |
| Port | 443 |
کلاینت: Email=user1، UUID=خودکار، Flow=خالی. ترنسپورت: Network=ws، Path=/. امنیت: None، Sniffing=فعال.
چرا کار میکنه: تنظیم ساده. WebSocket بعداً سازگاری CDN میده.
۲. VMess + TCP روی پورت بالا
تنظیمات پنل
| فیلد | مقدار |
|---|
| Remark | VMess-TCP |
| Protocol | vmess |
| Port | 10410-10417 |
کلاینت: Email=user1-vmess، UUID=یکسان، AlterID=0. ترنسپورت: Network=tcp، Header=none. امنیت: None، Sniffing=فعال.
چرا کار میکنه: پورتهای بالا (10000+) کمتر توسط DPI بررسی میشن. VMess رمزنگاری داخلی داره.
۳. Shadowsocks (پورت 8388)
تنظیمات پنل
| فیلد | مقدار |
|---|
| Remark | Shadowsocks |
| Protocol | shadowsocks |
| Port | 8388 |
| Encryption | 2022-blake3-aes-128-gcm |
نکات مهم Shadowsocks 2022
رمز 2022-blake3 به یه کلید 16 بایتی base64 نیاز داره:
openssl rand -base64 16
۴. VLESS + Reality + XTLS-Vision (پورت 8443)
Reality پیشرفتهترین پروتکل مخفیکاریه. اتصال رو مثل ترافیک TLS واقعی به یه سایت قانونی نشون میده.
مرحله ۱: ساخت کلید x25519
/usr/local/x-ui/bin/xray-linux-amd64 x25519
مرحله ۲: ساخت Short ID
openssl rand -hex 8
مرحله ۳: اضافه کردن اینباند توی پنل
| فیلد | مقدار |
|---|
| Protocol | vless |
| Port | 8443 |
| Flow | xtls-rprx-vision |
| Security | reality |
| Dest | yahoo.com:443 |
| SNI | yahoo.com, www.yahoo.com |
| Fingerprint | chrome |
چرا کار میکنه: Reality هندشیک TLS رو غیرقابل تشخیص از اتصال واقعی به yahoo.com میکنه. حتی DPI پیشرفته یه سشن TLS معتبر به یه سایت واقعی میبینه.
vless://UUID@IP:8443?type=tcp&security=reality&pbk=PUBLIC_KEY&fp=chrome&sni=yahoo.com&sid=SHORT_ID&spx=/&flow=xtls-rprx-vision&encryption=none#Name
۵. Trojan + TCP روی پورت بالا (بدون TLS)
تنظیمات پنل
| فیلد | مقدار |
|---|
| Protocol | trojan |
| Port | 10420-10427 |
| Security | None |
چرا کار میکنه: Trojan به عنوان فالبک عمل میکنه وقتی VLESS یا VMess شناسایی و بلاک بشن.
trojan://PASSWORD@IP:PORT?type=tcp&security=none#Name
۶. VLESS + WebSocket + CDN
مقاومترین تنظیم. ترافیک از CDN رد میشه — فیلترها فقط آیپی CDN رو میبینن. آیپی واقعی سرورت کاملاً مخفی میمونه.
۶-A: تنظیم Cloudflare
دامنه رو به Cloudflare اضافه کن، رکورد DNS A بساز با ابر نارنجی روشن، حالت SSL رو تنظیم کن (Flexible برای پورتهای HTTP، Full برای HTTPS)، Security Level رو غیرفعال کن، WebSockets رو فعال کن.
ابر نارنجی باید روشن باشه. اگه خاکستریه، ترافیک مستقیم به آیپی سرورت میره و حفاظت CDN بیفایدهست.
۶-B: تنظیم AWS CloudFront
یه Distribution بساز با origin=سرورت، HTTP only، پورت 443، کشینگ غیرفعال.
۶-C: تنظیمات اینباند X-UI برای CDN
پورتهای HTTP (2082, 8880): VLESS-WS، Security=None، هدر Host=دامنه CDN.
پورتهای HTTPS (2083, 2087): VLESS-WS، Security=TLS با فایلهای گواهی.
پورتهای سازگار HTTP کلادفلر: 80، 8080، 8880، 2052، 2082، 2086، 2095
پورتهای سازگار HTTPS کلادفلر: 443، 2053، 2083، 2087، 2096، 8443
۶-D: عیبیابی CDN
خطای 525 SSL: حالت SSL کلادفلر با تنظیمات سرور مچ نیست → Flexible برای HTTP، Full برای HTTPS.
خطای 403: فایروال کلادفلر بلاک میکنه → Security Level رو روی "Essentially Off" بذار.
تایماوت: پورت روی سرور گوش میده؟ WebSocket فعاله؟ ابر نارنجی روشنه؟ هدر Host درسته؟
۷. سرور سابسکریپشن
سرور سابسکریپشن به کلاینتها اجازه میده با فچ کردن یه URL تنظیماتشون رو خودکار آپدیت کنن.
apt install nginx -y
فایل /etc/nginx/sites-available/subscription رو بساز با endpoint خام و base64 روی پورت 8080.
ln -sf /etc/nginx/sites-available/subscription /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl restart nginx
۸. چرخش لاگ
sed -i 's/#SystemMaxUse=.*/SystemMaxUse=100M/' /etc/systemd/journald.conf
sed -i 's/#SystemMaxFileSize=.*/SystemMaxFileSize=50M/' /etc/systemd/journald.conf
systemctl restart systemd-journald
journalctl --vacuum-size=100M
۹. مرجع سریع — همه پورتها
| پورت | پروتکل | کاربرد |
|---|
| 443 | VLESS-WS | WebSocket ساده |
| 8388 | Shadowsocks | SS 2022-blake3 |
| 8443 | VLESS-Reality | TLS مخفی |
| 10410-10417 | VMess-TCP | VMess پورت بالا |
| 10420-10427 | Trojan-TCP | Trojan پورت بالا |
| 2082, 8880 | VLESS-WS-CDN | پشت Cloudflare HTTP |
| 2083, 2087 | VLESS-WS-CDN-TLS | پشت Cloudflare HTTPS |
| 2053 | پنل 3X-UI | مدیریت |
| 8080 | Nginx | سابسکریپشن |
۱۰. ترتیب تست پیشنهادی
وقتی از یه شبکه محدود تست میکنی، از مقاومترین پروتکل شروع کن:
- تنظیمات CDN (2082/8880 یا 2083/2087) — قابل اعتمادترین؛ آیپیت پشت Cloudflare مخفیه
- Reality (8443) — مثل ترافیک TLS واقعی به نظر میرسه
- Trojan/VMess روی پورتهای بالا — کمتر بررسی DPI
- Shadowsocks (8388) — فالبک خوب
- VLESS-WS روی 443 — ممکنه توی شبکههای خیلی محدود فیلتر بشه