fix: health check available for 'selector' if configured

This commit is contained in:
gVisor bot 2023-11-13 17:42:25 +08:00
parent 216832e76d
commit fc29d990c8
2 changed files with 4 additions and 10 deletions

View file

@ -92,9 +92,6 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide
return nil, fmt.Errorf("%s: %w", groupName, errDuplicateProvider) return nil, fmt.Errorf("%s: %w", groupName, errDuplicateProvider)
} }
var url string
var interval uint
// select don't need health check // select don't need health check
if groupOption.Type != "select" && groupOption.Type != "relay" { if groupOption.Type != "select" && groupOption.Type != "relay" {
if groupOption.URL == "" { if groupOption.URL == "" {
@ -104,12 +101,10 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide
if groupOption.Interval == 0 { if groupOption.Interval == 0 {
groupOption.Interval = 300 groupOption.Interval = 300
} }
url = groupOption.URL
interval = uint(groupOption.Interval)
} }
hc := provider.NewHealthCheck(ps, url, interval, true, expectedStatus) hc := provider.NewHealthCheck(ps, groupOption.URL, uint(groupOption.Interval), true, expectedStatus)
pd, err := provider.NewCompatibleProvider(groupName, ps, hc) pd, err := provider.NewCompatibleProvider(groupName, ps, hc)
if err != nil { if err != nil {
return nil, fmt.Errorf("%s: %w", groupName, err) return nil, fmt.Errorf("%s: %w", groupName, err)

View file

@ -10,8 +10,6 @@ import (
"sync" "sync"
"time" "time"
"github.com/metacubex/mihomo/ntp"
"github.com/metacubex/mihomo/adapter" "github.com/metacubex/mihomo/adapter"
"github.com/metacubex/mihomo/adapter/inbound" "github.com/metacubex/mihomo/adapter/inbound"
"github.com/metacubex/mihomo/adapter/outboundgroup" "github.com/metacubex/mihomo/adapter/outboundgroup"
@ -35,6 +33,7 @@ import (
"github.com/metacubex/mihomo/listener/inner" "github.com/metacubex/mihomo/listener/inner"
"github.com/metacubex/mihomo/listener/tproxy" "github.com/metacubex/mihomo/listener/tproxy"
"github.com/metacubex/mihomo/log" "github.com/metacubex/mihomo/log"
"github.com/metacubex/mihomo/ntp"
"github.com/metacubex/mihomo/tunnel" "github.com/metacubex/mihomo/tunnel"
) )
@ -310,7 +309,7 @@ func loadProxyProvider(proxyProviders map[string]provider.ProxyProvider) {
go func() { go func() {
defer func() { <-ch; wg.Done() }() defer func() { <-ch; wg.Done() }()
loadProvider(proxyProvider) loadProvider(proxyProvider)
if proxyProvider.VehicleType()==provider.Compatible{ if proxyProvider.VehicleType() == provider.Compatible {
go proxyProvider.HealthCheck() go proxyProvider.HealthCheck()
} }
}() }()