mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-28 05:57:19 +00:00
a2774bf212
* fix(ui): explain the REALITY client version gate and drop the impossible placeholder An empty Min Client Ver looks unrestricted, but Xray-core silently falls back to a built-in minimum (currently 26.3.27) that rejects third-party cores such as Mihomo and sing-box with a bare REALITY verification failure, and nothing in the panel points at the field. Add tooltips to both version fields explaining the fallback and its TLS-fingerprint-freshness rationale. The Max Client Ver placeholder (25.9.11) sat below the built-in minimum, so filling in both placeholders produced a range that rejects every client. Remove it; empty genuinely means no upper limit for that field. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs(reality): warn that an empty min client version rejects old cores Common pitfalls covered bad targets, SNI mismatches, leaked keys and wrong flow, but not the client version gate that currently bites Mihomo and sing-box users. Add it to all four doc languages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ui): word the version hints against the effective minimum Address the automated review: the Max Client Ver hint said only 'not lower than Min Client Ver', which re-establishes the empty-means-unset mental model when the effective floor is the core's built-in minimum. Both hints now name the effective minimum and tie the quoted 26.3.27 to the core build the panel runs, since operators can install any Xray-core version. Also from review: full-width quotes and a missing verb in the zh doc bullet, the idiomatic Arabic opening, and a format-only x.y.z placeholder on Max Client Ver so the field still conveys its shape. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
143 lines
7.4 KiB
Plaintext
143 lines
7.4 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 به حداقل داخلیِ
|
|
نسخهٔ هستهای که اجرا میکنید (در نسخههای فعلی 26.3.27) بازمیگردد تا اثر انگشتهای TLS کلاینتها تازه
|
|
بمانند؛ در نتیجه هستههای شخص ثالث مانند Mihomo و sing-box حتی با پیکربندی
|
|
کاملاً درست در تأیید REALITY شکست میخورند — کلاینتها تایماوت میبینند و فقط
|
|
اپلیکیشنهای مبتنی بر Xray-core وصل میشوند. تنها در صورت نیاز به پشتیبانی از
|
|
آنها مقدار `1.0.0` را تنظیم کنید؛ این کار اثر انگشتهای قدیمی را هم میپذیرد.
|
|
|
|
</Callout>
|
|
|
|
## تولید یک پیکربندی
|
|
|
|
از تولیدکنندهی زیر برای ساخت یک جفتکلید تازهی X25519، UUID و short ID استفاده
|
|
کنید، سپس JSON ورودی سرور و لینک اشتراکگذاری کلاینت را کپی کنید. همهچیز **در
|
|
مرورگر شما** محاسبه میشود — هیچ کلید یا لینکی به جایی ارسال نمیشود.
|
|
|
|
<RealityConfigGenerator />
|
|
|
|
<Callout type="info">
|
|
**کلید خصوصی** فقط به سرور شما تعلق دارد. لینک تولیدشدهی `vless://` (که حاوی
|
|
**کلید عمومی** است) را با کلاینتها به اشتراک بگذارید.
|
|
</Callout>
|