From d2a5376cb8ad47ebc7461710ed09e2908c4ae587 Mon Sep 17 00:00:00 2001 From: Larvan2 <78135608+Larvan2@users.noreply.github.com> Date: Wed, 21 Feb 2024 22:49:28 +0800 Subject: [PATCH] revert: "modify default url" This reverts commit 3d643cb95a32e0cef69c4411af9655fa0ee6851a. --- adapter/outboundgroup/parser.go | 39 ++++++++++++++------------------- adapter/provider/healthcheck.go | 4 ++-- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/adapter/outboundgroup/parser.go b/adapter/outboundgroup/parser.go index 959041dd..2fa8d4ec 100644 --- a/adapter/outboundgroup/parser.go +++ b/adapter/outboundgroup/parser.go @@ -64,20 +64,15 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide groupOption.IncludeAllProviders = true groupOption.IncludeAllProxies = true } - var GroupUse []string - var GroupProxies []string + if groupOption.IncludeAllProviders { - GroupUse = append(GroupUse, AllProviders...) - } else { - GroupUse = groupOption.Use + groupOption.Use = append(groupOption.Use, AllProviders...) } if groupOption.IncludeAllProxies { - GroupProxies = append(groupOption.Proxies, AllProxies...) - } else { - GroupProxies = groupOption.Proxies + groupOption.Proxies = append(groupOption.Proxies, AllProxies...) } - if len(GroupProxies) == 0 && len(GroupUse) == 0 { + if len(groupOption.Proxies) == 0 && len(groupOption.Use) == 0 { return nil, fmt.Errorf("%s: %w", groupName, errMissProxy) } @@ -91,17 +86,9 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide status = "*" } groupOption.ExpectedStatus = status - testUrl := groupOption.URL - if groupOption.Type != "select" && groupOption.Type != "relay" { - if groupOption.URL == "" { - groupOption.URL = C.DefaultTestURL - testUrl = groupOption.URL - } - } - - if len(GroupProxies) != 0 { - ps, err := getProxies(proxyMap, GroupProxies) + if len(groupOption.Proxies) != 0 { + ps, err := getProxies(proxyMap, groupOption.Proxies) if err != nil { return nil, fmt.Errorf("%s: %w", groupName, err) } @@ -115,9 +102,12 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide if groupOption.Interval == 0 { groupOption.Interval = 300 } + if groupOption.URL == "" { + groupOption.URL = C.DefaultTestURL + } } - hc := provider.NewHealthCheck(ps, testUrl, uint(groupOption.TestTimeout), uint(groupOption.Interval), groupOption.Lazy, expectedStatus) + hc := provider.NewHealthCheck(ps, groupOption.URL, uint(groupOption.TestTimeout), uint(groupOption.Interval), groupOption.Lazy, expectedStatus) pd, err := provider.NewCompatibleProvider(groupName, ps, hc) if err != nil { @@ -128,14 +118,17 @@ func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, provide providersMap[groupName] = pd } - if len(GroupUse) != 0 { - list, err := getProviders(providersMap, GroupUse) + if len(groupOption.Use) != 0 { + if groupOption.URL == "" { + groupOption.URL = C.DefaultTestURL + } + list, err := getProviders(providersMap, groupOption.Use) if err != nil { return nil, fmt.Errorf("%s: %w", groupName, err) } // different proxy groups use different test URL - addTestUrlToProviders(list, testUrl, expectedStatus, groupOption.Filter, uint(groupOption.Interval)) + addTestUrlToProviders(list, groupOption.URL, expectedStatus, groupOption.Filter, uint(groupOption.Interval)) providers = append(providers, list...) } else { diff --git a/adapter/provider/healthcheck.go b/adapter/provider/healthcheck.go index fbc1d14f..bfbcf8d9 100644 --- a/adapter/provider/healthcheck.go +++ b/adapter/provider/healthcheck.go @@ -211,8 +211,8 @@ func (hc *HealthCheck) close() { func NewHealthCheck(proxies []C.Proxy, url string, timeout uint, interval uint, lazy bool, expectedStatus utils.IntRanges[uint16]) *HealthCheck { if url == "" { - // expectedStatus = nil - url = C.DefaultTestURL + expectedStatus = nil + interval = 0 } if timeout == 0 { timeout = 5000