Observatory
بلوک observatory تأخیر را برای مجموعهای از خروجیها با ارسال دورهای یک درخواست HTTP پروب از طریق هر یک اندازهگیری میکند. نتایج به strategy: leastPing متعادلکنندهٔ بار خورانده میشوند تا همیشه از سریعترین خروجی قابل دسترسی استفاده کند.
گزینهها
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
subjectSelector | []string | [] | <outbound tag prefix> | برچسبهای خروجی برای پروب. هر مدخل یک پیشوند است؛ هر خروجی که برچسب آن با یکی از رشتههای فهرستشده آغاز میشود پروب میشود. |
probeURL | string | (required) | <URL> | URL که ناظر روی هر خروجی پروبشده واکشی میکند. تأخیر بهصورت سر-به-سر روی این درخواست اندازهگیری میشود. |
probeInterval | duration.Duration | 10m | <duration> | صبر بین پروبها برای همان خروجی. رشتههای مدتزمان به سبک Go مانند "30s", "5m" را میپذیرد. |
enableConcurrency | bool | false | true | false | پروب همهٔ خروجیهای انتخابشده بهصورت همزمان بهجای متوالی. |
منبع: infra/conf/observatory.go:12-17 · ثابتشده در v1.260327.0 (d2758a0)
مثال
json
{
"outbounds": [
{ "tag": "proxy-jp", "protocol": "vless" },
{ "tag": "proxy-us", "protocol": "vless" }
],
"observatory": {
"subjectSelector": ["proxy-"],
"probeURL": "http://www.google.com/generate_204",
"probeInterval": "30s",
"enableConcurrency": true
},
"routing": {
"balancers": [
{ "tag": "balancer", "selector": ["proxy-"], "strategy": { "type": "leastPing" } }
]
}
}نکات
- انتخابگر یک تطبیق پیشوندی است —
"proxy-"شامل"proxy-jp","proxy-us"و غیره میشود. برای پروب همهٔ خروجیها از رشتهٔ خالی استفاده کنید (بهندرت مطلوب). - برای پروب همزمان سریعتر با آگاهی از round-trip در HTTP/2 به
burstObservatoryمراجعه کنید.
منبع: infra/conf/observatory.go:12-17 · v1.260327.0 (d2758a0)
