Skip to content

نقاط‌انتهایی

endpoints پشته‌های پروتکلی را نگه می‌دارد که هم‌زمان ورودی و خروجی‌اند: یک نمونهٔ WireGuard یا Tailscale هم اتصال‌های رسیده از تونل را می‌پذیرد و هم اتصال‌هایی به داخل تونل آغاز می‌کند. شکل مدخل همان پاکت تختِ ورودی‌ها و خروجی‌هاست — type / tag به‌علاوهٔ فیلدهای خود نوع انتخاب‌شده در همان سطح.

پاکت

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
typestringwireguard | tailscaleنوع نقطه‌انتهایی. تعیین می‌کند بقیهٔ شیء به کدام ساختار گزینه‌ها رمزگشایی شود.
tagstringنام یکتای این نقطه‌انتهایی. هر جا tag خروجی پذیرفته شود قابل استفاده است و در سمت ورودی هم توسط قواعد مسیر تطبیق‌پذیر است.

منبع: option/endpoint.go:16-20 · ثابت‌شده در v1.13.15 (3708fa1)

فیلدهای هر نوع در WireGuard و Tailscale مستند شده‌اند.

مثال حداقلی

json
{
  "endpoints": [
    {
      "type": "wireguard",
      "tag": "wg-ep",
      "address": ["10.0.0.2/32"],
      "private_key": "<base64-private-key>",
      "peers": [
        {
          "address": "wg.example.com",
          "port": 51820,
          "public_key": "<base64-public-key>",
          "allowed_ips": ["0.0.0.0/0"]
        }
      ]
    }
  ],
  "route": { "final": "wg-ep" }
}

نکات

  • نقاط‌انتهایی در 1.13.0 جایگزین خروجی حذف‌شدهٔ wireguard شدند — همان ساختار اکنون هر دو سوی تونل را پوشش می‌دهد.
  • wireguard به ساختی با برچسب with_wireguard و tailscale به with_tailscale نیاز دارد (باینری‌های انتشار رسمی هر دو را دارند).
  • قواعد مسیر می‌توانند ترافیکِ بیرون‌آمده از نقطه‌انتهایی را همان‌طور تطبیق دهند که tag ورودی را تطبیق می‌دهند.

نکات بین‌هسته‌ای

  • Xray-core ‏WireGuard را به‌صورت پروتکل عادی ورودی یا خروجی نگه می‌دارد (protocol: "wireguard" و IsClient بسته به جایگاه). WireGuard در Xray را ببینید.
  • mihomo ‏WireGuard را فقط به‌صورت پراکسی (خروجی) مدل می‌کند. WireGuard در mihomo را ببینید.

منبع: option/endpoint.go:16-20 · v1.13.15 (3708fa1)

Core Tutorial اثر Argsment