--- title: REALITY description: راه‌اندازی یک ورودی VLESS + REALITY همراه با XTLS-Vision در 3x-ui — کلیدها، short IDها، SNI، اثرانگشت‌ها و اشتباهات رایج. icon: ShieldCheck --- **REALITY** یک لایه‌ی امنیتی انتقال در Xray است که پروکسی شما را به‌شکل ترافیک عادی به یک وب‌سایت واقعی و پرطرفدار جلوه می‌دهد. برخلاف TLS کلاسیک، سرور شما به **هیچ گواهی اختصاصی** نیاز ندارد — دست‌دهی (handshake) TLS سایت مقصد (`dest`) را قرض می‌گیرد. در ترکیب با جریان **XTLS-Vision**، سریع است و در برابر بازرسی عمیق بسته‌ها (DPI) مقاومت می‌کند. REALITY همراه با **VLESS** (و Trojan) به‌کار می‌رود. جریان توصیه‌شده `xtls-rprx-vision` است. ## تنظیمات کلیدی وقتی **REALITY** را به‌عنوان حالت امنیتی روی یک ورودی VLESS انتخاب می‌کنید، 3x-ui این فیلدها را نمایش می‌دهد: | فیلد | چیست | | ------------------------ | ------------------------------------------------------------------ | | **Dest (target)** | یک سایت TLS واقعی برای جعل هویت، برای مثال `www.microsoft.com:443`. | | **SNI / Server Names** | نام میزبانی که کلاینت‌ها ارسال می‌کنند؛ باید با گواهی مقصد بخواند. | | **Public / Private key** | یک جفت‌کلید **x25519**. کلید خصوصی روی سرور باقی می‌ماند. | | **Short IDs** | رشته‌های Hex برای احراز هویت کلاینت‌ها (می‌توانید چندتا داشته باشید).| | **Flow** | روی `xtls-rprx-vision` تنظیم شود. | | **Fingerprint (uTLS)** | اثرانگشت TLS کلاینت برای تقلید، برای مثال `chrome`. | کلید خصوصی با ابزار `x25519` از Xray تولید می‌شود (پنل می‌تواند این جفت‌کلید را برای شما بسازد): ```bash title="generate an x25519 keypair" xray x25519 ``` ## راه‌اندازی در پنل ### ساخت یک ورودی VLESS یک ورودی جدید اضافه کنید، پروتکل **VLESS** را انتخاب کنید و **Security** را روی **reality** تنظیم کنید. ### انتخاب مقصد (dest) و SNI سایتی معتبر که از TLS 1.3 و HTTP/2 پشتیبانی می‌کند و هم از سرور و هم از کلاینت‌های شما در دسترس است انتخاب کنید (برای مثال `www.microsoft.com:443`). نام سرورها / SNI را طوری تنظیم کنید که با گواهی آن سایت بخواند. ### تولید کلیدها و short IDها جفت‌کلید x25519 و یک یا چند short ID تولید کنید. **کلید خصوصی** را محرمانه نگه دارید؛ کلاینت‌ها فقط **کلید عمومی** را دریافت می‌کنند. ### تنظیم جریان و اثرانگشت از جریان `xtls-rprx-vision` و یک اثرانگشت رایج uTLS مانند `chrome` استفاده کنید. ### افزودن کلاینت و اشتراک‌گذاری لینک یک کلاینت بسازید، سپس از لینک اشتراک‌گذاری یا کد QR آن در یک برنامه‌ی سازگار (v2rayNG، Hiddify، Mihomo و دیگران) استفاده کنید. ## پیکربندی چه شکلی است روی سرور، `streamSettings` یک ورودی REALITY تقریباً به این شکل است: ```json title="server inbound (excerpt)" { "network": "tcp", "security": "reality", "realitySettings": { "dest": "www.microsoft.com:443", "serverNames": ["www.microsoft.com"], "privateKey": "", "shortIds": [""], "fingerprint": "chrome" } } ``` لینک اشتراک‌گذاری متناظر کلاینت، پارامترهای **عمومی** را حمل می‌کند: ```text title="vless:// (excerpt)" vless://@:443?security=reality&pbk=&sid=&sni=www.microsoft.com&fp=chrome&spx=%2F&flow=xtls-rprx-vision#my-reality ``` - `pbk` — کلید **عمومی** REALITY - `sid` — short ID (با یکی از موارد روی سرور می‌خواند) - `sni` — نام سرور (با گواهی مقصد می‌خواند) - `fp` — اثرانگشت کلاینت - `spx` — مسیر spiderX - `flow` — `xtls-rprx-vision` ## اشتباهات رایج - **مقصد نامناسب.** مقدار `dest` باید یک سایت واقعی باشد که از **TLS 1.3** و **HTTP/2** پشتیبانی می‌کند، در دسترس است و در منطقه‌ی شما مسدود نیست. سایتی را انتخاب کنید که مالک آن نیستید و ترافیک زیادی دارد. - **عدم تطابق SNI.** مقدار SNI / نام سرورها باید با گواهی واقعی مقصد بخواند، وگرنه دست‌دهی، استتار را لو می‌دهد. - **نشت کلید خصوصی.** فقط و فقط **کلید عمومی** را میان کلاینت‌ها توزیع کنید. - **جریان نادرست.** REALITY + XTLS-Vision به `flow = xtls-rprx-vision` هم در ورودیِ مدخل کلاینت و هم در لینک اشتراک‌گذاری نیاز دارد. - **محدودیت نسخهٔ کلاینت.** از نسخهٔ `Xray-core v26.9.8` به بعد، خالی بودن **حداقل نسخه کلاینت** حد پایین پیش‌فرض ایجاد نمی‌کند؛ مقدار ذخیره‌شده همچنان اعمال می‌شود. نسخه‌های قدیمی‌تر ممکن است حد داخلی مانند `26.3.27` داشته باشند. ابتدا نسخهٔ هستهٔ در حال اجرا را بررسی کنید؛ کاهش حد، اثر انگشت‌های قدیمی را نیز مجاز می‌کند. - **Mihomo و ML-KEM.** هستهٔ جدید مستقل از محدودیت نسخه، وجود `X25519MLKEM768` را پیش از کلید اختیاری `X25519` لازم می‌داند. اشتراک YAML برای REALITY، از جمله لینک‌های خارجی، گزینهٔ `reality-opts.support-x25519mlkem768` را فعال می‌کند و در نبود اثر انگشت از `chrome` استفاده می‌کند. انتخاب صریح حفظ می‌شود و باید از ML-KEM پشتیبانی کند؛ برای `uTLS v1.8.7` در Mihomo از Chrome استفاده کنید. فعال کردن گزینه، اثر انگشت قدیمی را ارتقا نمی‌دهد. لینک خام `vless://` راهنمای معادل `support-x25519mlkem768=true` را منتقل می‌کند؛ کلاینت‌هایی که این افزونهٔ URI را پشتیبانی می‌کنند، از جمله نسخه‌های فعلی Mihomo، آن را هنگام ورود اعمال می‌کنند. سرورهای Xray-core قدیمی‌تر از 26.9.8 دست‌دهی سادهٔ `X25519` را می‌پذیرند و سرورهای بسیار قدیمی ML-KEM را رد می‌کنند. برای آن‌ها، یا اگر شبکه ClientHello بزرگ‌تر ML-KEM را حذف می‌کند، گزینهٔ **Mihomo X25519** را در میزبان (Host) فعال کنید: پروکسی Clash آن مقدار `support-x25519mlkem768: false` را می‌گیرد و لینک `vless://` آن راهنما را ندارد. حذف محدودیت نسخه به‌تنهایی دست‌دهی را اصلاح نمی‌کند. ## تولید یک پیکربندی از تولیدکننده‌ی زیر برای ساخت یک جفت‌کلید تازه‌ی X25519، UUID و short ID استفاده کنید، سپس JSON ورودی سرور و لینک اشتراک‌گذاری کلاینت را کپی کنید. همه‌چیز **در مرورگر شما** محاسبه می‌شود — هیچ کلید یا لینکی به جایی ارسال نمی‌شود. **کلید خصوصی** فقط به سرور شما تعلق دارد. لینک تولیدشده‌ی `vless://` (که حاوی **کلید عمومی** است) را با کلاینت‌ها به اشتراک بگذارید.