mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-22 00:25:24 +08:00
xray-core v26.10.10 serves MASQUE: CONNECT-IP over HTTP/3 or HTTP/2, always behind TLS, as an inbound and an outbound protocol riding a dedicated "masque" transport. The panel could not create either. Inbound: MASQUE is a multi-user protocol whose users log in with their email and password over Basic auth. The panel keeps the client's "password" like trojan and GenXrayInboundConfig hands it to the core as "pass", so the full-config path, the live AddInbound path and node pushes all emit what the core reads; one user with an empty pass makes the core refuse the whole inbound. Live user adds build a masque.Account from either key, client-only changes diff per user so a new client does not drop every connected tunnel, and client creation, copy, validation and edits key on the password. The address pool and MTU get form fields, TLS is mandatory, and the port check follows the core's listener choice: HTTP/2 on TCP when the ALPN offers h2, HTTP/3 on UDP when it offers h3 or not h2. Nodes may host MASQUE from v3.9.1, the first panel release that knows to rename the password. MASQUE has no share-link format, so links and Clash skip it; the JSON subscription builds the client's masque outbound with its email and password, and the subscription allowlist now lets a subId see MASQUE inbounds at all. The IP-limit job, client pages and traffic tracking list the protocol. Outbound: the form edits the server, remote DNS, and the transport's host, path, Basic credentials, headers and WARP block (enrolled key, endpoint public key, tunnel addresses), which xray-core refuses next to user/pass. The outbound test probes it through the core, since its default HTTP/3 dial is UDP.
56 lines
4.4 KiB
Plaintext
56 lines
4.4 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
|
|
|
|
**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` قرار دهید.
|