پرش به محتویات

مسیرهای دلخواه gRPC

همهٔ قابلیت‌های هیدیفای

service_name در ترنسپورت gRPC می‌تواند مثل Xray یک مسیر کامل دلخواه باشد. نامی که با / شروع شود به شکل /<service>/<stream> خوانده می‌شود؛ پس /my/path/Tun درخواست‌ها را به مسیر /my/path/Tun می‌فرستد. هر نام دیگری مثل قبل کار می‌کند و مسیر /<service_name>/Tun را می‌دهد. این همان فیلد service_name در ترنسپورت "type": "grpc"، در کلاینت و سرور است.

چرا از آن استفاده کنیم

  • برای اتصال به سرورهای Xray که مسیر gRPC دلخواه دارند. پیش‌تر sing-box همیشه /<service_name>/Tun را می‌فرستاد و به آن‌ها نمی‌رسید.
  • تا کلاینت‌های Xray با مسیر دلخواه به سرور sing-box وصل شوند.
  • برای انتخاب مسیری که با سایت پشت CDN یا پراکسی معکوس جور باشد، به جای مسیری که به /Tun ختم می‌شود.

چطور از فیلترینگ عبور می‌کند

شکل gRPC را عوض نمی‌کند؛ فقط اجازه می‌دهد مسیر درخواست را انتخاب کنید. مسیری که با سایت پوششی جور باشد ترافیک را برای فیلتری که ترافیک رمزگشایی‌شده را می‌بیند (CDN یا پراکسی معکوسی که بر اساس مسیر مسیریابی می‌کند) کمتر متمایز می‌کند. در برابر فیلتری که درون TLS را نمی‌بیند تفاوتی ایجاد نمی‌کند.

چطور کار می‌کند

  • /<service>/<stream>: هر چه میان اولین / و آخرین / باشد service است و بخش پس از آخرین / stream. /my/path/Tun یعنی service برابر my/path و stream برابر Tun.
  • شکل سروری Xray، /<service>/<stream>|<multi stream>، نام stream حالت multi در Xray را هم می‌دهد که sing-box از آن استفاده نمی‌کند؛ بخش پس از | نادیده گرفته می‌شود. پس سرور می‌تواند همان مقدار سرور Xray را داشته باشد، مثل /my/path/Tun|TunMulti.
  • هر بخش مسیر مثل Xray با URL-escape کدگذاری می‌شود.
  • نامی که با / شروع نشود service است و stream برابر Tun، مثل قبل.
  • هر دو پیاده‌سازی gRPC نام را یکسان می‌خوانند: gRPC کامل (در بیلدهای دارای تگ with_grpc) و gRPC-lite داخلی.

پیکربندی

{
  "outbounds": [
    {
      "type": "vless",
      "server": "example.com",
      "server_port": 443,
      "uuid": "bf000d23-0752-40b4-affe-68f7707a9661",
      "tls": { "enabled": true, "server_name": "example.com", "alpn": ["h2"] },
      "transport": { "type": "grpc", "service_name": "/my/path/Tun" }
    }
  ]
}
فیلد نوع پیش‌فرض معنا
service_name string "" یک نام ساده (مسیر /<name>/Tun می‌شود)، یا مسیر دلخواه /<service>/<stream> که می‌تواند \|<multi stream> (نادیده گرفته می‌شود) به دنبال داشته باشد.

کلاینت و سرور باید مسیر یکسان داشته باشند. در هر دو جهت، با هر دو پیاده‌سازی، در برابر Xray 26.10.21 و 26.3.27 آزموده شده است.

همچنین ببینید


اخرین بروزرسانی: 26 فوریهٔ 2026

نظرات