mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-30 19:22:10 +03:00
159 lines
8.2 KiB
Plaintext
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>
|