-
Notifications
You must be signed in to change notification settings - Fork 110
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
268 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,268 @@ | ||
--- | ||
title: تنظیمات Core | ||
--- | ||
|
||
# تنظیمات Core | ||
|
||
از آن جایی که پنل مرزبان بر پایه هسته `Xray` هست، در این داکیومنت سعی میکنیم موارد کاربردی `Xray` را که میتوانید در قسمت `Core Settings` پنل مورد استفاده قرار بدید را توضیح بدیم تا با بخشهای کاربردی آن آشنایی داشته باشید. | ||
|
||
## DNS | ||
|
||
- برای تعیین `DNS` در قسمت `Core Settings` مرزبان کافیه قسمت زیر را در ابتدای آن قرار دهید. | ||
|
||
```json{5-10} [xray-config.json] | ||
{ | ||
"log": { | ||
"loglevel": "info" | ||
}, | ||
"dns": { | ||
"servers": [ | ||
"1.1.1.1" | ||
], | ||
"queryStrategy": "UseIPv4" | ||
}, | ||
"inbounds": [ | ||
``` | ||
|
||
- در نمونه بالا ما از `DNS` کلودفلر استفاده کردیم، انواع `DNS` های مختلف و کاربرد آنها به شرح زیر است. | ||
|
||
| انواع `DNS` | سرویس دهنده | کاربرد | | ||
| ---------------- | ---------------- | ------------------------------------------------ | | ||
| `1.1.1.1` | `Cloudflare` | سرعت، حریم خصوصی، و امنیت | | ||
| `1.1.1.3` | `Cloudflare` | مسدود کردن محتوای بزرگسالان و مناسب برای استفاده خانوادگی | | ||
| `8.8.8.8` | `Google` | قابل اطمینان به علت خدمات جهانی گسترده گوگل | | ||
| `8.8.4.4` | `Google` | پشتیبان `DNS` اول گوگل | | ||
| `9.9.9.9` | `Quad9` | متمرکز بر امنیت و مسدود کردن دسترسی به دامنههای مخرب | | ||
| `208.67.222.222` | `OpenDNS` | حفاظت در برابر فیشینگ، و تنظیمات قابل شخصیسازی | | ||
| `208.67.222.123` | `OpenDNS` | مسدود کردن محتوای بزرگسالان و مناسب برای استفاده خانوادگی | | ||
|
||
|
||
## Inbounds | ||
|
||
بخش `Inbounds` در هسته `Xray` مشخص میکند که سرویس پروکسی چگونه اتصالات ورودی را دریافت کند. هر `Inbound` یک شنونده (listener) را تعریف میکند که اتصالات را روی پورت مشخصی دریافت کرده و پروتکلها یا قوانین خاصی را برای مدیریت آنها به کار میبرد. | ||
|
||
اینباندهایی که در `Core Settings` قرار میدهیم پروکسیهای مارو در پنل مرزبان تعیین میکنند و کانکشنهای ورودی ما مربوط به همین بخش است که لیست اینباندهای کاربردی در این داکیومنت [اینباندهای Xray](https://gozargah.github.io/marzban/fa/docs/xray-inbounds) قرار داده شدهاند. | ||
|
||
- در ادامه بخشهای مختلف یک اینباند را با هم بررسی میکنیم. | ||
|
||
::: details VLESS TCP REALITY | ||
::: code-group | ||
```json | ||
{ | ||
"tag": "VLESS TCP REALITY", | ||
"listen": "0.0.0.0", | ||
"port": 443, | ||
"protocol": "vless", | ||
"settings": { | ||
"clients": [], | ||
"decryption": "none" | ||
}, | ||
"streamSettings": { | ||
"network": "tcp", | ||
"tcpSettings": {}, | ||
"security": "reality", | ||
"realitySettings": { | ||
"show": false, | ||
"dest": "google.com:443", | ||
"xver": 0, | ||
"serverNames": [ | ||
"example.com", | ||
"" | ||
], | ||
"privateKey": "oNDJxLaAiXojgAcdW5gzwuQB_gMYL0DXfRnqswUKvTE", | ||
"publicKey": "oVRY8h7Njgw25j3CNhaJVMUys378tTvecrSRbrB3gyo" | ||
"shortIds": [ | ||
"2ebd6e17dec6a5d9" | ||
] | ||
} | ||
}, | ||
"sniffing": { | ||
"enabled": true, | ||
"destOverride": [ | ||
"http", | ||
"tls", | ||
"quic" | ||
] | ||
} | ||
} | ||
``` | ||
::: | ||
|
||
::: tip tag | ||
```json | ||
"tag": "VLESS TCP REALITY" | ||
``` | ||
برچسب (Tag) برای شناسایی این اینباند خاص استفاده میشود. این برچسب به شما کمک میکند تا در پیکربندیهای پیچیده و در مواقعی که چندین اینباند مختلف دارید، راحتتر آنها را شناسایی کنید. | ||
::: | ||
|
||
::: tip listen | ||
```json | ||
"listen": "0.0.0.0" | ||
``` | ||
آدرس IP که `Xray-Core` باید به آن گوش دهد. `0.0.0.0` به معنای این است که `Xray-Core` به تمامی آدرسهای IP موجود بر روی سرور گوش میدهد. | ||
::: | ||
|
||
::: tip port | ||
```json | ||
"port": 443 | ||
``` | ||
پورت شبکهای که `Xray-Core` باید بر روی آن گوش دهد. پورت `443` به طور معمول برای ترافیک `HTTPS` استفاده میشود و در اینجا به عنوان ورودی برای پروتکل `VLESS` تنظیم شده است. | ||
::: | ||
|
||
::: tip protocol | ||
```json | ||
"protocol": "vless" | ||
``` | ||
پروتکل مورد استفاده برای اینباند در اینجا، پروتکل `vless` است که یکی از پروتکلهای مدرن و امن برای انتقال دادهها است. | ||
::: | ||
|
||
::: tip settings | ||
```json | ||
"settings": { | ||
"clients": [], | ||
"decryption": "none" | ||
} | ||
``` | ||
این بخش تنظیمات خاص پروتکل `vless` هست. | ||
|
||
قسمت `clients` لیستی از کاربران مجاز برای اتصال | ||
|
||
قسمت `decryption` روش رمزگشایی | ||
::: | ||
|
||
::: tip streamSettings | ||
```json | ||
"streamSettings": { | ||
"network": "tcp", | ||
"tcpSettings": {}, | ||
"security": "reality", | ||
"realitySettings": { | ||
"show": false, | ||
"dest": "google.com:443", | ||
"xver": 0, | ||
"serverNames": [ | ||
"example.com", | ||
"" | ||
], | ||
"privateKey": "oNDJxLaAiXojgAcdW5gzwuQB_gMYL0DXfRnqswUKvTE", | ||
"publicKey": "oVRY8h7Njgw25j3CNhaJVMUys378tTvecrSRbrB3gyo", | ||
"shortIds": [ | ||
"2ebd6e17dec6a5d9" | ||
] | ||
} | ||
} | ||
|
||
``` | ||
تنظیمات مربوط به استریم و پروتکلهای شبکه | ||
|
||
بخش `network` نوع شبکهای که برای انتقال دادهها استفاده میشود. در اینجا `tcp` انتخاب شده است. | ||
|
||
بخش `tcpSettings` تنظیمات خاص `TCP` در اینجا خالی است که به معنای استفاده از تنظیمات پیشفرض است. | ||
|
||
بخش `security` نوع امنیتی که برای این اتصال استفاده میشود که `Reality` به معنای استفاده از تکنولوژی `Reality` برای افزایش امنیت است. | ||
|
||
بخش `realitySettings` تنظیمات خاص برای تکنولوژی `Reality` است. | ||
|
||
بخش `show` مشخص میکند که آیا اطلاعات مربوط به این اتصال باید نمایش داده شود یا خیر `false` به معنای عدم نمایش است. | ||
|
||
بخش `dest` مقصد نهایی که برای شبیهسازی یا پنهانسازی استفاده میشود که در اینجا `google.com:443` تنظیم شده است. | ||
|
||
بخش `xver` نسخه پروتکل که 0 به معنای نسخه ابتدایی است. | ||
|
||
بخش `serverNames` لیستی از نامهای سرور که باید دامنه مورد نطرتون قرار داده شود | ||
|
||
بخش `privateKey` کلید خصوصی برای رمزنگاری و تأمین امنیت که یک کلید طولانی و تصادفی است. | ||
|
||
بخش `publicKey` کلید عمومی برای رمزنگاری اطلاعات استفاده میشود که این کلید به صورت عمومی در دسترس است و میتواند برای رمزنگاری دادهها استفاده شود. | ||
|
||
بخش `shortIds` شناسههای کوتاه برای شناسایی منحصر به فرد که شامل یک شناسه تصادفی است. | ||
|
||
در خصوص بخش `publickey` در نظر داشته باشین که بودن آن در اینباند لازم نیست و فقط با گذاشتن `privatekey` مرزبان خودش `publickey` را در پروکسی شما ایجاد خواهد کرد و صرفا برای توضیح بخشهای مختلف این اینباند آن را قرار دادیم. | ||
::: | ||
|
||
::: tip sniffing | ||
```json | ||
"sniffing": { | ||
"enabled": true, | ||
"destOverride": [ | ||
"http", | ||
"tls", | ||
"quic" | ||
] | ||
} | ||
``` | ||
تنظیمات مربوط به شناسایی ترافیک (sniffing) | ||
|
||
بخش `enabled` فعال یا غیرفعال بودن شناسایی ترافیک `true` به معنای فعال بودن است. | ||
|
||
بخش `destOverride` پروتکلهایی که در شناسایی ترافیک نادیده گرفته میشوند شامل `http`، `tls`، `quic`. | ||
|
||
در بخش `destOverride` نادیده گرفتن پروتکلها به این معناست که `Xray-Core` به جای تحلیل عمیق و شبیهسازی ترافیک این پروتکلها، مستقیماً آنها را پردازش میکند. این عمل میتواند به بهبود کارایی و سادگی در مدیریت ترافیک کمک کند و در عین حال نیاز به پردازش پیچیدهتر برای برخی پروتکلها را کاهش دهد تا منبع سیستم کمتر مصرف شود. | ||
::: | ||
|
||
|
||
## Outbounds | ||
|
||
بخشهای `Outbounds` و `Routing` بهطور نزدیک به هم متصل هستند تا نحوه مدیریت و هدایت ترافیک را تعریف کنند. بخش `Routing` با استفاده از `Rules` یا همان قوانین، تعیین میکند که انواع مختلف ترافیک چگونه باید مدیریت شود، در حالی که بخش `Outbounds` مقصدها یا پروکسیهای واقعی که ترافیک به آنها هدایت میشود را مشخص میکند. | ||
|
||
این رویکرد یکپارچه به شما امکان مدیریت ترافیک بهصورت انعطافپذیر و پویا را میدهد و کنترل دقیق بر نحوه و محل هدایت ترافیک را فراهم میآورد. بخش `Outbounds` مقاصد یا پروکسیهای موجود را تعریف میکند که شامل جزئیات پروتکل و پیکربندی آنها است، هر `Outbound` با یک برچسب منحصر به فرد شناسایی میشود. | ||
|
||
<br> | ||
|
||
::: tip freedom | ||
پروتکل `freedom` یا همان پروتکل آزادی برای دور زدن سانسور یا محدودیتهای مسیریابی در محیطهای شبکه خاص طراحی شده است، ابزار مفیدی در Xray-core است که با اجازه دادن به جریان آزاد ترافیک بدون مداخله لایههای میانی شبکه به اطمینان از دسترسی بدون محدودیت به اینترنت کمک میکند. | ||
::: | ||
|
||
```json | ||
{ | ||
"protocol": "freedom", | ||
"settings": {}, | ||
"tag": "DIRECT" | ||
}, | ||
``` | ||
<br> | ||
|
||
::: tip blackhole | ||
پروتکل `blackhole` در واقع بهعنوان یک "سیاهچاله" برای پکتها عمل میکند که بهطور مؤثر ترافیک را بدون پردازش یا پاسخ حذف میکند، که میتوانید برای مقاصد خاص از آن استفاده کنید. | ||
::: | ||
|
||
```json | ||
{ | ||
"protocol": "blackhole", | ||
"settings": {}, | ||
"tag": "BLOCK" | ||
}, | ||
``` | ||
<br> | ||
|
||
::: tip IPv4 | ||
به عنوان مثال با قرار دادن `Outbound` زیر میتوانید استفاده از `IPv4` را در اولیت قرار بدین تا از ارور `403` در پلتفرمهای مختلف جلوگیری کنید. احتمالا پروتکل `freedom` از قبل در اوتباند شما قرار دارد، در این صورت فقط قسمت `settings` را به آن اضافه کنید. | ||
::: | ||
|
||
```json | ||
"outbounds": [ | ||
{ | ||
"protocol": "freedom", | ||
"settings": { | ||
"domainStrategy": "ForceIPv4" | ||
}, | ||
"tag": "direct" | ||
}, | ||
``` | ||
|
||
## Routing & Rules | ||
|
||
همان طور که قبلا گفته شد، در هسته `Xray`، بخش `Routing` یا همان مسیریابی و قوانین شامل تنظیمات مختلفی است که تعیین میکند چگونه ترافیک ورودی باید مدیریت شود و به کدام مقصد ارسال شود. | ||
|
||
- اگر به نمونه زیر دقت کنید، با استفاده از `Routing` دامنههای دلخواه را به اوتباند با تگ `BLOCK` فرستادیم که این اوتباند پروتکل `blackhole` داره و در نهایت درخواستها به این سایتها به مقصد نخواهند رسید. | ||
|
||
```json | ||
{ | ||
"domain": [ | ||
"www.speedtest.net", | ||
"fast.com" | ||
], | ||
"outboundTag": "BLOCK", | ||
"type": "field" | ||
}, | ||
``` |