مسیرهای دلخواه 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 آزموده شده است.