Files
3x-ui/docs/content/docs/fa/config/reality.mdx
T

159 lines
8.2 KiB
Plaintext

---
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
```
## راه‌اندازی در پنل
<Steps>
<Step>
### ساخت یک ورودی VLESS
یک ورودی جدید اضافه کنید، پروتکل **VLESS** را انتخاب کنید و **Security** را روی
**reality** تنظیم کنید.
</Step>
<Step>
### انتخاب مقصد (dest) و SNI
سایتی معتبر که از TLS 1.3 و HTTP/2 پشتیبانی می‌کند و هم از سرور و هم از کلاینت‌های
شما در دسترس است انتخاب کنید (برای مثال `www.microsoft.com:443`). نام سرورها / SNI
را طوری تنظیم کنید که با گواهی آن سایت بخواند.
</Step>
<Step>
### تولید کلیدها و short IDها
جفت‌کلید x25519 و یک یا چند short ID تولید کنید. **کلید خصوصی** را محرمانه نگه
دارید؛ کلاینت‌ها فقط **کلید عمومی** را دریافت می‌کنند.
</Step>
<Step>
### تنظیم جریان و اثرانگشت
از جریان `xtls-rprx-vision` و یک اثرانگشت رایج uTLS مانند `chrome` استفاده کنید.
</Step>
<Step>
### افزودن کلاینت و اشتراک‌گذاری لینک
یک کلاینت بسازید، سپس از لینک اشتراک‌گذاری یا کد QR آن در یک برنامه‌ی سازگار
(v2rayNG، Hiddify، Mihomo و دیگران) استفاده کنید.
</Step>
</Steps>
## پیکربندی چه شکلی است
روی سرور، `streamSettings` یک ورودی REALITY تقریباً به این شکل است:
```json title="server inbound (excerpt)"
{
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "<x25519 private key>",
"shortIds": ["<hex short id>"],
"fingerprint": "chrome"
}
}
```
لینک اشتراک‌گذاری متناظر کلاینت، پارامترهای **عمومی** را حمل می‌کند:
```text title="vless:// (excerpt)"
vless://<uuid>@<server>:443?security=reality&pbk=<public-key>&sid=<short-id>&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`
## اشتباهات رایج
<Callout type="warn">
- **مقصد نامناسب.** مقدار `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://`
این گزینه را منتقل نمی‌کند و هنگام ورود مستقیم، بازنویسی پایدار در کلاینت لازم است.
برای سرورهای بسیار قدیمی که ML-KEM را رد می‌کنند، گزینه را برای همان گره در کلاینت روی
`false`
بگذارید یا سرور را ارتقا دهید. حذف محدودیت نسخه به‌تنهایی دست‌دهی را اصلاح نمی‌کند.
</Callout>
## تولید یک پیکربندی
از تولیدکننده‌ی زیر برای ساخت یک جفت‌کلید تازه‌ی X25519، UUID و short ID استفاده
کنید، سپس JSON ورودی سرور و لینک اشتراک‌گذاری کلاینت را کپی کنید. همه‌چیز **در
مرورگر شما** محاسبه می‌شود — هیچ کلید یا لینکی به جایی ارسال نمی‌شود.
<RealityConfigGenerator />
<Callout type="info">
**کلید خصوصی** فقط به سرور شما تعلق دارد. لینک تولیدشده‌ی `vless://` (که حاوی
**کلید عمومی** است) را با کلاینت‌ها به اشتراک بگذارید.
</Callout>