diff --git a/infra/conf/observatory.go b/infra/conf/observatory.go index 1ae403db..62d6aaba 100644 --- a/infra/conf/observatory.go +++ b/infra/conf/observatory.go @@ -5,6 +5,7 @@ import ( "github.com/xtls/xray-core/app/observatory" "github.com/xtls/xray-core/app/observatory/burst" + "github.com/xtls/xray-core/common/errors" "github.com/xtls/xray-core/infra/conf/cfgcommon/duration" ) @@ -26,6 +27,9 @@ type BurstObservatoryConfig struct { } func (b BurstObservatoryConfig) Build() (proto.Message, error) { + if b.HealthCheck == nil { + return nil, errors.New("BurstObservatory requires a valid pingConfig") + } if result, err := b.HealthCheck.Build(); err == nil { return &burst.Config{SubjectSelector: b.SubjectSelector, PingConfig: result.(*burst.HealthPingConfig)}, nil } else {