V2ray

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۲ دی ۱۴۰۱، ساعت ۱۴:۲۶ توسط Danialbehzadi (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «V2ray ابزار مرکزی پروژهٔ V است که شامل ابزارهایی برای ساخت محیط‌های شبکه‌ای مح...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به: ناوبری، جستجو

V2ray ابزار مرکزی پروژهٔ V است که شامل ابزارهایی برای ساخت محیط‌های شبکه‌ای محرمانه روی اینترنت است. این نرم‌افزار آزاد می‌تواند به صورت مستقل یا به همراه دیگر ابزارها استفاده شود.

نصب

لطفاً‌پیش از نصب، از درستی و همگام بودن زمان کارساز و کارخواه‌ها اطمینان حاصل کنید. سپس با دستور زیر بسته را نصب کنید:

$ sudo apt install v2ray

در دبیان و اوبونتو بستهٔ V2ray به صورت خودکار خدمت سیستم‌دی را نصب و به کار می‌اندازد.

پیکربندی

پیکربندی‌ها می‌توانند بسته به شیوه‌نامهٔ مورد نظر، متفاوت باشند. با این جال چند مورد مشترک وجود دارد. نخست این که تفاوتی بین کارساز و کارخواه در اجرای برنامه نیست. هر پیاده‌سازی به صورت یک جعبهٔ سیاه عمل می‌کند که ترافیک ورودی آن با نام inbound و ترافیک خروجی آن با نام outbound شناخته می‌شود.

در این‌‌جا چند نمونه آورده می‌شود:

Vmess

این شیوه‌نامه برای مبهم سازی ترافیک اینترنتی به منظور فرار از بازرسی بستهٔ عمیق استفاده می‌شود. شمای ارتباط این شیوه‌نامه به شکل زیر است:

{browser} <--(socks)--> {V2Ray client inbound  <->  V2Ray client outbound} <--(VMess)--> {V2Ray server inbound  <->  V2Ray server outbound} <--(Freedom)--> {Target site}

از این شیوه‌نامه می‌توان با افزودنی‌های متفاوتی استفاده کرد:

TLS

این افزودنی، نیاز به یک نام دامنه و گواهی مربوط به آن دارد که می‌توان از Lets Encrypt تهیه کرد. در این روش ترافیک اینترنتی به صورت ترافیک عادی HTTPS بین کارخواه و کارساز به نظر خواهد رسید.

سمت کارساز
/etc/v2ray/config.json
{
  "inbounds": [
    {
      "port": 443, // recommended port
      "protocol": "vmess", // Major incoming protocol
      "settings": {
        "clients": [
          {
            "id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297", // UUID, must to be kept the same between server and client.
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls", // set security to tls to enable tls feature
        "tlsSettings": {
          "certificates": [
            {
              "certificateFile": "/etc/v2ray/v2ray.crt", // certificate file
              "keyFile": "/etc/v2ray/v2ray.key" // corresponding private key file
            }
          ]
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

برای ایجاد UUID می‌توان از دستور زیر استفاده کرد:

v2ctl uuid
سمت کارخواه
/etc/v2ray/config.json
{
  "inbounds": [
    {
      "port": 1080, // Listening port
      "protocol": "socks", // Incoming protocol is SOCKS 5
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth" // Authorisation setting of socks protocol. Here, noauth means no authorisation, beacuse in general socks only used in client side, so no need to authorise.
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess", // Outcoming protocol
      "settings": {
        "vnext": [
          {
            "address": "mydomain.me", // tls needs domain, so fill in your own.
            "port": 443,  // Server listenning port.
            "users": [
              {
                "id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297", // UUID, must be as same as server side
                "alterId": 64 // AlterID should be as same as server side
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls" // set security to tls to enable tls feature.
      }
    }
  ]
}

سوکت وب

یکی از راحت‌ترین روش‌های پیکربندی

سمت کارساز
/etc/v2ray/config.json
{
  "inbounds": [
    {
      "port": 16823, // Listening port
      "protocol": "vmess", // Major incoming protocol
      "settings": {
        "clients": [
          {
            "id": "b831381d-6324-4d53-ad4f-8cda48b30811", // UUID, must to be kept the same between server and client.
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network":"ws"
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom", // Majoy outcoming protocol.
      "settings": {}
    }
  ]
}
سمت کارخواه
/etc/v2ray/config.json
{
  "inbounds": [
    {
      "port": 1080, // Listening port
      "protocol": "socks", // Incoming protocol is SOCKS 5
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth" // Authorisation setting of socks protocol. Here, noauth means no authorisation, beacuse in general socks only used in client side, so no need to authorise.
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "serveraddr.com",
            "port": 16823,
            "users": [
              {
                "id": "b831381d-6324-4d53-ad4f-8cda48b30811",
                "alterId": 64
              }
            ]
          }
        ]
      },
      "streamSettings":{
        "network":"ws"
      }
    }
  ]
}