| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- ---
- title: انتقالها و امنیت
- description: هر انتقالی که 3x-ui ارائه میدهد — TCP، mKCP، WebSocket، gRPC، HTTPUpgrade، XHTTP، Hysteria — بههمراه تنظیماتشان، و نیز مبهمسازی FinalMask، sockopt، TLS/REALITY، XTLS-Vision و رمزنگاری VLESS.
- icon: Network
- ---
- یک **انتقال** تعیین میکند که بستهها چگونه میان کلاینت و سرور حمل شوند، یک
- لایه **امنیتی** تعیین میکند که چگونه رمزنگاری و استتار شوند، و **FinalMask**
- میتواند آنچه باقی مانده را مبهم کند. پنل تنها ترکیبهای معتبر را ارائه میدهد؛ این
- صفحه تنظیمات هر انتقال و قواعدی را که پنل اعمال میکند فهرست میکند.
- ## انتقالها
- انتقال (مقدار `network` مربوط به inbound) را در فرم inbound/outbound انتخاب کنید. هر
- شبکه کلید تنظیمات خود را روی سیم مینویسد (`tcpSettings`، `kcpSettings`، …).
- | انتقال | کلید تنظیمات | چه زمانی از آن استفاده کنید |
- | --------------- | --------------------- | ---------------------------------------------------------------------- |
- | **TCP (Raw)** | `tcpSettings` | کمترین سربار. پایهای برای REALITY + XTLS-Vision و fallbackها؛ استتار اختیاری هدر HTTP/1.1. |
- | **mKCP** | `kcpSettings` | پروتکل قابلاعتماد روی **UDP** — پهنای باند را با تأخیر کمتر روی لینکهای پُرافت معاوضه میکند. هیچ TLS/REALITY حمل نمیکند. |
- | **WebSocket** | `wsSettings` | از طریق CDNها و پراکسیهای معکوس HTTP کار میکند؛ بسیار سازگار است. |
- | **gRPC** | `grpcSettings` | مبتنی بر HTTP/2؛ مالتیپلکس خوبی دارد و بهخوبی از طریق Nginx پراکسی میشود. |
- | **HTTPUpgrade** | `httpupgradeSettings` | `Upgrade` مربوط به HTTP/1.1 و سازگار با CDN؛ سبکتر از WebSocket کامل. |
- | **XHTTP** | `xhttpSettings` | انتقال HTTP مدرن با مالتیپلکس جریانی؛ سازگار با CDN و توانمند برای REALITY. |
- | **Hysteria** | `hysteriaSettings` | انتقال مبتنی بر QUIC — تنها برای پروتکل **Hysteria2**. |
- <Callout type="info">
- inboundهای **WireGuard** و **Tunnel** (dokodemo-door) هیچ انتخابگر انتقالی
- نمایش نمیدهند — جریان آنها تنها security/sockopt را حمل میکند. پنلهای قدیمیتر
- یک انتقال خام **HTTP/2 (`http`)** نیز نمایش میدادند؛ این انتقال جای خود را به
- **XHTTP** داده و دیگر قابل انتخاب نیست.
- </Callout>
- ### TCP (Raw) — `tcpSettings`
- | فیلد | پیشفرض | معنی |
- | ------------------------------ | ------- | ----------------------------------------------------------------------- |
- | `acceptProxyProtocol` | `false` | پذیرش پروتکل PROXY از یک پراکسی بالادست تا IP واقعی کلاینت حفظ شود. |
- | `header.type` | `none` | `none`، یا `http` برای استتار HTTP/1.1. |
- | `header.request` / `response` | — | هنگام `type: http`: متد، مسیر، نسخه و یک نگاشت هدر که یک تبادل HTTP معمولی را تقلید میکنند. |
- ### mKCP — `kcpSettings`
- | فیلد | پیشفرض | معنی |
- | ------------------ | ----------- | ---------------------------------------------------------------- |
- | `mtu` | `1350` | بیشینه واحد انتقال، بر حسب بایت (576–1460). |
- | `tti` | `20` | بازه زمانی انتقال، بر حسب میلیثانیه (10–100). کمتر = پاسخگوتر، سربار بیشتر. |
- | `uplinkCapacity` | `5` | بودجه پهنای باند آپلود، بر حسب **MB/s**. |
- | `downlinkCapacity` | `20` | بودجه پهنای باند دانلود، بر حسب **MB/s**. |
- | `cwndMultiplier` | `1` | ضریب پنجره ازدحام؛ برای فشار بیشتر روی لینکهای خوب آن را بالا ببرید. |
- | `maxSendingWindow` | `2097152` | کران بالای بستههای در حال پرواز. |
- <Callout type="info">
- mKCP نمیتواند TLS یا REALITY حمل کند. برای استتار آن، یک ماسک UDP از نوع
- **FinalMask** اضافه کنید — ماسک `mkcp-legacy` همان مبهمسازی کلاسیک هدر را
- بازتولید میکند که Xray قدیمیتر در `kcpSettings.header`/`seed` ذخیره میکرد
- (آن فیلدها دیگر اینجا وجود ندارند).
- </Callout>
- ### WebSocket — `wsSettings`
- | فیلد | پیشفرض | معنی |
- | --------------------- | ------- | ---------------------------------------------------------------- |
- | `path` | `/` | مسیر درخواست — وقتی چند سرویس یک میزبان را به اشتراک میگذارند، بر اساس آن مسیریابی کنید. |
- | `host` | _(none)_| بازنویسی هدر `Host` (پشت یک CDN مفید است). |
- | `headers` | `{}` | هدرهای درخواست اضافی. |
- | `heartbeatPeriod` | `0` | ثانیههای بین پینگهای keepalive؛ `0` آنها را غیرفعال میکند. |
- | `acceptProxyProtocol` | `false` | پذیرش پروتکل PROXY از یک بالادست. |
- ### gRPC — `grpcSettings`
- | فیلد | پیشفرض | معنی |
- | ------------- | ------- | --------------------------------------------------------- |
- | `serviceName` | _(none)_| مسیر سرویس gRPC؛ مانند یک مسیر مخفی عمل میکند. |
- | `authority` | _(none)_| بازنویسی شبههدر `:authority`. |
- | `multiMode` | `false` | مالتیپلکس چند جریان روی یک اتصال. |
- ### HTTPUpgrade — `httpupgradeSettings`
- | فیلد | پیشفرض | معنی |
- | --------------------- | ------- | --------------------------------------------- |
- | `path` | `/` | مسیر درخواست. |
- | `host` | _(none)_| بازنویسی هدر `Host`. |
- | `headers` | `{}` | هدرهای درخواست اضافی. |
- | `acceptProxyProtocol` | `false` | پذیرش پروتکل PROXY از یک بالادست. |
- HTTPUpgrade یک `Upgrade` تکمرحلهای HTTP/1.1 بدون قاببندی WebSocket است — هیچ
- فیلد heartbeat ندارد.
- ### XHTTP — `xhttpSettings`
- XHTTP (SplitHTTP) مجموعه فیلد بزرگی دارد؛ پنل پیشفرضهای معقولی را پر میکند.
- آنهایی که معمولاً سراغشان میروید:
- | فیلد | پیشفرض | معنی |
- | ---------------------- | ----------- | ---------------------------------------------------------------------- |
- | `path` | `/` | مسیر درخواست. |
- | `host` | _(none)_ | بازنویسی هدر `Host`. |
- | `mode` | `auto` | `auto`، `packet-up`، `stream-up` یا `stream-one`. `packet-up` بیشترین سازگاری با CDN را دارد؛ `stream-*` تأخیر کمتری دارند. |
- | `xPaddingBytes` | `100-1000` | بازه padding تصادفی که اندازه بستهها را محو میکند. |
- | `scMaxBufferedPosts` | `30` | بافر سمت سرور برای POSTهای آپلودشده. |
- | `scStreamUpServerSecs` | `20-80` | پنجره stream-up سمت سرور (بازه با خط تیره). |
- | `xmux` (`enableXmux`) | _(off)_ | مالتیپلکس اتصال — `maxConcurrency` `16-32`، `maxConnections` `6`، … برای همزمانی بالا روشن کنید. |
- فیلدهای Session-ID (`sessionIDPlacement`، `sessionIDKey`، `sessionIDTable`،
- `sessionIDLength`) و کلیدهای `scMin/MaxEachPostBytes` پیشرفتهاند؛ آنها را خالی
- بگذارید مگر آنکه با یک بالادست مشخص هماهنگ میشوید.
- ### Hysteria — `hysteriaSettings`
- تنها زمانی معتبر است که پروتکل **Hysteria2** باشد.
- | فیلد | پیشفرض | معنی |
- | ---------------- | ------- | ----------------------------------------------------------------------- |
- | `version` | `2` | نسخه پروتکل Hysteria. |
- | `auth` | _(none)_| رشته احراز هویت مشترک. |
- | `udpIdleTimeout` | `60` | ثانیه (2–600) پیش از حذف نشستهای بیکار UDP. |
- | `masquerade` | — | استتار بهعنوان یک سرور HTTP/3: `type` با مقدار `proxy`/`file`/`string` و `url`/`dir`/`content`، بهعلاوه `headers` و `statusCode`. |
- ## FinalMask — مبهمسازی لایه پایانی
- **FinalMask** ترافیک را **پس از** لایههای انتقال و امنیت میپیچد، بنابراین میتواند
- انتقالهایی را که TLS حمل نمیکنند (مانند mKCP) استتار کند یا پوستهای دوم روی TLS
- بیفزاید. ماسکها برای هر جهت پیکربندی میشوند:
- - **ماسکهای TCP** — `fragment`، `sudoku`، `header-custom`، `xmc` (ترافیک را به شکل
- پروتکل Minecraft استتار میکند؛ گذرواژه الزامی است و نام میزبان و نامهای بازیکن
- اختیاریاند).
- - **ماسکهای UDP** — `salamander`، `mkcp-legacy`، `header-custom`، `xdns`، `xicmp`،
- `noise`، `sudoku`، `realm`. (`mkcp-legacy` همان مبهمسازی قدیمی هدر mKCP را
- بازتولید میکند.)
- - **پارامترهای QUIC** — کنترل ازدحام (`reno`، `bbr`، `brutal`، `force-brutal`)،
- نرخهای آپلود/دانلود Brutal، `udpHop` (چرخاندن پورت QUIC در یک بازه برای دور زدن
- مسدودسازی پورت)، و تنظیم پنجره دریافت.
- FinalMask جایگزین مبهمسازی `header`/`seed` بهازای هر انتقال میشود که بیلدهای
- قدیمیتر Xray نمایش میدادند.
- ## sockopt — گزینههای سطح پایین سوکت
- `sockopt` در کنار هر انتقالی سوار میشود و سوکت زیرین را تنظیم میکند. مفیدترین
- فیلدها:
- | فیلد | پیشفرض | معنی |
- | --------------------- | ------- | ---------------------------------------------------------------- |
- | `tcpFastOpen` | `false` | فعالسازی TCP Fast Open. |
- | `tcpcongestion` | `bbr` | کنترل ازدحام: `bbr`، `cubic` یا `reno`. |
- | `tproxy` | `off` | حالت پراکسی شفاف: `off`، `redirect` یا `tproxy`. |
- | `domainStrategy` | `AsIs` | نحوه تفکیک نشانیها (`UseIP`، `ForceIPv4`، …). |
- | `dialerProxy` | _(none)_| زنجیر کردن شمارهگیری این outbound از طریق یک تگ outbound دیگر. |
- | `interface` | _(none)_| اتصال به یک رابط شبکه مشخص. |
- | `mark` | `0` | SO_MARK برای مسیریابی سیاستی (`0` = تنظیمنشده). |
- فیلدهای عددی که روی `0` رها شوند روی سیم حذف میشوند تا Xray پیشفرضهای سیستمعامل
- را حفظ کند. ورودیهای پیشرفته (`happyEyeballs`، `customSockopt[]`، تایمرهای
- keepalive) برای موارد خاص در دسترساند.
- ## امنیت
- لایه امنیتی یکی از **`none`**، **`tls`** یا **`reality`** است، با این
- قواعد واجد شرایط بودن:
- | امنیت | انتقالهای واجد شرایط | پروتکلهای واجد شرایط |
- | ----------- | -------------------------------------------- | --------------------------------------------------- |
- | **TLS** | `tcp`، `ws`، `grpc`، `httpupgrade`، `xhttp` | VLESS، VMess، Trojan، Shadowsocks (Hysteria2 همیشه TLS است) |
- | **REALITY** | `tcp`، `grpc`، `xhttp` | VLESS، Trojan |
- mKCP و Hysteria لایه TLS/REALITY جداگانهای نمیگیرند — mKCP بهصورت متن ساده اجرا
- میشود (با FinalMask استتارش کنید)، و Hysteria بهطور ذاتی QUIC/TLS است. REALITY
- سرور شما را بهعنوان یک سایت واقعی TLS استتار میکند و به هیچ گواهی نیازی ندارد — به
- [REALITY](/docs/config/reality) مراجعه کنید.
- ## جریان XTLS-Vision
- جریان `xtls-rprx-vision` سریع و مقاوم در برابر DPI است. این جریان برای
- **VLESS** در یکی از این دو حالت در دسترس است:
- - انتقال، **TCP** خام با امنیت **TLS** یا **REALITY** باشد (XTLS-Vision
- کلاسیک)، یا
- - انتقال، **XHTTP** با رمزنگاری VLESS فعال باشد (به ادامه مراجعه کنید).
- جریان را روی **کلاینت** VLESS تنظیم کنید، نه روی inbound. با Vision کلاسیک روی
- TCP، پنل میتواند پس از آنکه یک کلاینت از جریان استفاده کرد، یک **Vision seed** نیز
- ارائه دهد.
- ## رمزنگاری VLESS (ML-KEM)
- VLESS از **رمزنگاری** پساکوانتومی (ML-KEM / `mlkem768x25519`) پشتیبانی میکند که در
- `decryption` مربوط به inbound (سمت سرور) و `encryption` کلاینتها (برای تولید
- لینک) ذخیره میشود. وقتی فعال باشد، جریان Vision را روی XHTTP باز میکند. کلیدها
- را از تنظیمات VLESS در پنل تولید کنید.
- ## رمزهای Shadowsocks
- inboundهای Shadowsocks هم از رمزهای کلاسیک و هم از **Shadowsocks-2022**
- پشتیبانی میکنند (نام روشهایی که با `2022-blake3-` آغاز میشوند). بیشتر رمزها چندکاربره هستند؛
- `2022-blake3-chacha20-poly1305` تککاربره است.
- <Callout type="info">
- انتقالها و امنیت باید در هر دو سر یکسان باشند. لینک اشتراک کلاینت آنها را
- کدگذاری میکند (`type=ws`، `security=reality`، `flow=xtls-rprx-vision`، …) —
- هر لینکی را با [بازرس لینک اشتراک](/docs/config/share-links) رمزگشایی کنید.
- </Callout>
|