Skip to content

تنظیمات Core

از آن جایی که پنل مرزبان بر پایه هسته Xray هست، در این داکیومنت سعی می‌کنیم موارد کاربردی Xray را که می‌توانید در قسمت Core Settings پنل مورد استفاده قرار بدید را توضیح بدیم تا با بخش‌های کاربردی آن آشنایی داشته باشید.

DNS

  • برای تعیین DNS در قسمت Core Settings مرزبان کافیه قسمت زیر را در ابتدای آن قرار دهید.
json
{
  "log": {
    "loglevel": "info"
  },
  "dns": {
    "servers": [
      "1.1.1.1"
    ],
    "queryStrategy": "UseIPv4"
  },
  "inbounds": [
  • در نمونه بالا ما از DNS کلودفلر استفاده کردیم، انواع DNS های مختلف و کاربرد آن‌ها به شرح زیر است.
انواع DNSسرویس دهندهکاربرد
1.1.1.1Cloudflareسرعت، حریم خصوصی، و امنیت
1.1.1.3Cloudflareمسدود کردن محتوای بزرگسالان و مناسب برای استفاده خانوادگی
1.1.1.2Cloudflareمسدود کردن بدافزارها
1.0.0.2Cloudflareمسدود کردن بدافزارها و محتوای بزرگسالان
8.8.8.8Googleقابل اطمینان به علت خدمات جهانی گسترده گوگل
8.8.4.4Googleپشتیبان DNS اول گوگل
9.9.9.9Quad9متمرکز بر امنیت و مسدود کردن دسترسی به دامنه‌های مخرب
208.67.222.222OpenDNSحفاظت در برابر فیشینگ، و تنظیمات قابل شخصی‌سازی
208.67.222.123OpenDNSمسدود کردن محتوای بزرگسالان و مناسب برای استفاده خانوادگی

Inbounds

بخش Inbounds در هسته Xray مشخص می‌کند که سرویس پروکسی چگونه اتصالات ورودی را دریافت کند. هر Inbound یک شنونده (listener) را تعریف می‌کند که اتصالات را روی پورت مشخصی دریافت کرده و پروتکل‌ها یا قوانین خاصی را برای مدیریت آن‌ها به کار می‌برد.

اینباندهایی که در Core Settings قرار می‌دهیم پروکسی‌های مارو در پنل مرزبان تعیین می‌کنند و کانکشن‌های ورودی ما مربوط به همین بخش است که لیست اینباندهای کاربردی در این داکیومنت اینباندهای Xray قرار داده شده‌اند.

  • در ادامه بخش‌های مختلف یک اینباند را با هم بررسی می‌کنیم.
VLESS TCP REALITY
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"
    ]
  }
}

tag

json
"tag": "VLESS TCP REALITY"

برچسب (Tag) برای شناسایی این اینباند خاص استفاده می‌شود. این برچسب به شما کمک می‌کند تا در پیکربندی‌های پیچیده و در مواقعی که چندین اینباند مختلف دارید، راحت‌تر آنها را شناسایی کنید.

listen

json
"listen": "0.0.0.0"

آدرس IP که Xray-Core باید به آن گوش دهد. 0.0.0.0 به معنای این است که Xray-Core به تمامی آدرس‌های IP موجود بر روی سرور گوش می‌دهد.

port

json
"port": 443

پورت شبکه‌ای که Xray-Core باید بر روی آن گوش دهد. پورت 443 به طور معمول برای ترافیک HTTPS استفاده می‌شود و در اینجا به عنوان ورودی برای پروتکل VLESS تنظیم شده است.

protocol

json
"protocol": "vless"

پروتکل مورد استفاده برای اینباند در اینجا، پروتکل vless است که یکی از پروتکل‌های مدرن و امن برای انتقال داده‌ها است.

settings

json
"settings": {
  "clients": [],
  "decryption": "none"
}

این بخش تنظیمات خاص پروتکل vless هست.

  • قسمت clients لیستی از کاربران مجاز برای اتصال

  • قسمت decryption روش رمزگشایی

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 را در پروکسی شما ایجاد خواهد کرد و صرفا برای توضیح بخش‌‌های مختلف این اینباند آن را قرار دادیم.

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 با یک برچسب منحصر به فرد شناسایی می‌شود.


freedom

پروتکل freedom یا همان پروتکل آزادی برای دور زدن سانسور یا محدودیت‌های مسیریابی در محیط‌های شبکه خاص طراحی شده است، ابزار مفیدی در Xray-core است که با اجازه دادن به جریان آزاد ترافیک بدون مداخله لایه‌های میانی شبکه به اطمینان از دسترسی بدون محدودیت به اینترنت کمک می‌کند.

json
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "DIRECT"
    },

blackhole

پروتکل blackhole در واقع به‌عنوان یک "سیاه‌چاله" برای پکت‌ها عمل می‌کند که به‌طور مؤثر ترافیک را بدون پردازش یا پاسخ حذف می‌کند، که می‌توانید برای مقاصد خاص از آن استفاده کنید.

json
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "BLOCK"
    },

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"
},

منتشر شده تحت لایسنس AGPL-3.0