diff --git a/experimental/clashapi/server_resources.go b/experimental/clashapi/server_resources.go index d6d22b53..722ab28a 100644 --- a/experimental/clashapi/server_resources.go +++ b/experimental/clashapi/server_resources.go @@ -78,8 +78,10 @@ func (s *Server) downloadExternalUI() error { err = s.downloadZIP(filepath.Base(downloadURL), response.Body, s.externalUI) if err != nil { removeAllInDirectory(s.externalUI) + return err } - return err + s.logger.Info("download external ui successfully") + return nil } func (s *Server) downloadZIP(name string, body io.Reader, output string) error { diff --git a/outbound/urltest.go b/outbound/urltest.go index aa7cff6c..5779f242 100644 --- a/outbound/urltest.go +++ b/outbound/urltest.go @@ -88,12 +88,7 @@ func (s *URLTest) Start() error { return err } s.group = group - return nil -} - -func (s *URLTest) PostStart() error { - s.group.PostStart() - return nil + return s.group.Start() } func (s *URLTest) Close() error { @@ -253,10 +248,15 @@ func NewURLTestGroup( }, nil } -func (g *URLTestGroup) PostStart() { +func (g *URLTestGroup) Start() error { + _, err := g.urlTest(g.ctx, true) + if err != nil { + return E.New("failed to start urltest group: ", err) + } g.started = true g.lastActive.Store(time.Now()) go g.CheckOutbounds(false) + return nil } func (g *URLTestGroup) Touch() {