mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-14 09:55:01 +03:00
04cccef311
xray-core's masque transport reaches Cloudflare WARP with an enrolled ECDSA P-256 key, the endpoint's public key and the assigned tunnel addresses, which only a WARP enrollment hands out. A new regMasque action on /panel/api/xray/warp/:action registers a separate WARP device and enrolls a secp256r1 key for the masque tunnel (the API revision and client version the WARP apps enroll MASQUE keys with). Enrolling replaces a device's WireGuard key, so it never touches the stored WireGuard registration. It returns the PEM key pair, the addresses and the endpoint, and the WARP modal turns them into a warp-masque outbound (HTTP/3, Cloudflare's MASQUE SNI), or refreshes the one already there.
61 lines
4.9 KiB
Plaintext
61 lines
4.9 KiB
Plaintext
---
|
|
title: MASQUE
|
|
description: راهاندازی inbound از نوع MASQUE (CONNECT-IP) در 3x-ui، اتصال outbound به سرورهای MASQUE و دسترسی به Cloudflare WARP از طریق MASQUE.
|
|
icon: Waypoints
|
|
---
|
|
|
|
**MASQUE** بستههای IP را با روش CONNECT-IP روی HTTP/3 (یا HTTP/2) حمل میکند، بنابراین
|
|
کلاینت یک تونل کامل لایهٔ ۳ میگیرد که شبیه ترافیک معمولی HTTPS است. xray-core آن را بهصورت
|
|
بومی ارائه میکند؛ 3x-ui آن را بهعنوان پروتکل inbound، پروتکل outbound و transport متناظر
|
|
`masque` که هر دو روی آن سوار میشوند در اختیار میگذارد.
|
|
|
|
## Inbound
|
|
|
|
| فیلد | توضیح |
|
|
| ---------------- | ----- |
|
|
| **کلاینتها** | هر کلاینت با **ایمیل** و **رمز عبور** خود وارد میشود (HTTP Basic auth). ترافیک، سهمیه، محدودیت IP و انقضا مانند هر پروتکل چندکاربرهٔ دیگر کار میکند. |
|
|
| **مخزن آدرس** | پیشوندهایی که آدرسهای تونل از آنها تخصیص داده میشوند — حداکثر یک IPv4 و یک IPv6 (پیشفرض `10.14.0.1/24` و `fd14::1/64`). اندازهٔ مخزن سقف کلاینتهای همزمان متصل را تعیین میکند. |
|
|
| **MTU** | MTU تونل، بین 1280 تا 65535؛ برای پیشفرض هسته خالی بگذارید. |
|
|
| **Path** | مسیر درخواستی که سرور به آن پاسخ میدهد (پیشفرض `/.well-known/masque/ip/*/*/`). |
|
|
| **امنیت** | همیشه TLS. ALPN شنوندهها را تعیین میکند: `h3` روی UDP پروتکل HTTP/3 و `h2` روی TCP پروتکل HTTP/2 را سرو میکند و هر دو با هم، هر دو را. |
|
|
|
|
<Callout type="info">
|
|
MASQUE فرمت لینک اشتراکگذاری ندارد، بنابراین inboundهای MASQUE لینک، کد QR یا ورودی
|
|
Clash ندارند. کلاینتها کانفیگ آمادهٔ import را از **اشتراک JSON** میگیرند: یک outbound
|
|
از نوع `masque` که با ایمیل و رمز عبور کلاینت احراز هویت میکند.
|
|
</Callout>
|
|
|
|
## Outbound
|
|
|
|
**masque** را بهعنوان پروتکل outbound انتخاب کنید و سپس تنظیم کنید:
|
|
|
|
| فیلد | توضیح |
|
|
| -------------------------- | ----- |
|
|
| **آدرس / پورت** | سرور MASQUE. |
|
|
| **Remote DNS** | IPهای اختیاری سرور DNS که داخل تونل پرسوجو میشوند. |
|
|
| **Host / Path** | authority و مسیر درخواست CONNECT-IP؛ مسیر باید با مسیر سرور یکسان باشد. |
|
|
| **نام کاربری / رمز عبور** | اعتبارنامهٔ HTTP Basic — روی سرور 3x-ui، همان ایمیل و رمز عبور کلاینت. |
|
|
| **Headers** | هدرهای اضافی درخواست. |
|
|
| **TLS** | الزامی. ALPN فقط `h2` اتصال را به HTTP/2 روی TCP میبرد؛ در غیر این صورت HTTP/3 استفاده میشود. |
|
|
|
|
## WARP از طریق MASQUE
|
|
|
|
سادهترین راه **Xray ← Outbounds ← WARP ← افزودن outbound برای WARP روی MASQUE** است: پنل یک
|
|
دستگاه WARP جداگانه ثبت میکند، برای آن کلید MASQUE ثبت میکند و یک outbound آمادهٔ `warp-masque`
|
|
اضافه میکند (یا outbound موجود را تازه میکند). ثبت WARP وایرگارد شما دست نمیخورد.
|
|
برای راهاندازی دستی:
|
|
|
|
**WARP** را در transport مربوط به masque روشن کنید تا بهجای WireGuard از طریق endpoint
|
|
مخصوص MASQUE به Cloudflare WARP برسید. این کار به یک ثبتنام WARP نیاز دارد که برای MASQUE
|
|
ثبت شده باشد:
|
|
|
|
| فیلد | توضیح |
|
|
| ------------------------ | ----- |
|
|
| **کلید خصوصی** | کلید خصوصی ECDSA P-256 ثبتشده (PEM یا DER با base64). |
|
|
| **کلید عمومی endpoint** | کلید عمومی endpoint کلودفلر که در ثبتنام برگردانده میشود. |
|
|
| **آدرسهای تونل** | آدرسهای IPv4 و IPv6 که کلودفلر به این ثبتنام اختصاص داده است. |
|
|
|
|
در این حالت host و path بهطور پیشفرض endpoint کلودفلر هستند و WARP را نمیتوان با نام
|
|
کاربری یا رمز عبور ترکیب کرد. outbound را به آدرس endpoint حاصل از ثبتنام خود هدایت کنید و
|
|
نام سرور TLS را `consumer-masque.cloudflareclient.com` قرار دهید.
|