mirror of
https://github.com/wyx2685/V2bX.git
synced 2025-01-22 09:58:14 -05:00
fix hy tls bug
fix task
This commit is contained in:
parent
7ac6232639
commit
c536c46703
@ -24,20 +24,24 @@ func (t *Task) hasClosed() bool {
|
|||||||
return !t.running
|
return !t.running
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Task) checkedExecute() error {
|
func (t *Task) checkedExecute(first bool) error {
|
||||||
if t.hasClosed() {
|
if t.hasClosed() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
t.access.Lock()
|
t.access.Lock()
|
||||||
defer t.access.Unlock()
|
defer t.access.Unlock()
|
||||||
|
if first {
|
||||||
|
if err := t.Execute(); err != nil {
|
||||||
|
t.running = false
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
if !t.running {
|
if !t.running {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
t.timer = time.AfterFunc(t.Interval, func() {
|
t.timer = time.AfterFunc(t.Interval, func() {
|
||||||
t.checkedExecute()
|
t.checkedExecute(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -52,21 +56,12 @@ func (t *Task) Start(first bool) error {
|
|||||||
}
|
}
|
||||||
t.running = true
|
t.running = true
|
||||||
t.access.Unlock()
|
t.access.Unlock()
|
||||||
if first {
|
if err := t.checkedExecute(first); err != nil {
|
||||||
if err := t.Execute(); err != nil {
|
|
||||||
t.access.Lock()
|
|
||||||
t.running = false
|
|
||||||
t.access.Unlock()
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err := t.checkedExecute(); err != nil {
|
|
||||||
t.access.Lock()
|
t.access.Lock()
|
||||||
t.running = false
|
t.running = false
|
||||||
t.access.Unlock()
|
t.access.Unlock()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
15
common/task/task_test.go
Normal file
15
common/task/task_test.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestTask(t *testing.T) {
|
||||||
|
ts := Task{Execute: func() error {
|
||||||
|
log.Println("q")
|
||||||
|
return nil
|
||||||
|
}, Interval: time.Second}
|
||||||
|
ts.Start(false)
|
||||||
|
}
|
1
go.mod
1
go.mod
@ -159,7 +159,6 @@ require (
|
|||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
github.com/stretchr/objx v0.5.0 // indirect
|
github.com/stretchr/objx v0.5.0 // indirect
|
||||||
github.com/stretchr/testify v1.8.4 // indirect
|
github.com/stretchr/testify v1.8.4 // indirect
|
||||||
github.com/subosito/gotenv v1.4.2 // indirect
|
|
||||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490 // indirect
|
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490 // indirect
|
||||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.490 // indirect
|
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.490 // indirect
|
||||||
github.com/transip/gotransip/v6 v6.17.0 // indirect
|
github.com/transip/gotransip/v6 v6.17.0 // indirect
|
||||||
|
1
go.sum
1
go.sum
@ -947,7 +947,6 @@ golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
|
|||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
|
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
|
||||||
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
|
@ -63,7 +63,7 @@ func (c *Controller) Start() error {
|
|||||||
return fmt.Errorf("update rule error: %s", err)
|
return fmt.Errorf("update rule error: %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if c.nodeInfo.Tls {
|
if c.nodeInfo.Tls || c.nodeInfo.Type == "hysteria" {
|
||||||
err = c.requestCert()
|
err = c.requestCert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("request cert error: %s", err)
|
return fmt.Errorf("request cert error: %s", err)
|
||||||
|
@ -16,7 +16,8 @@ type Lego struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func New(config *conf.CertConfig) (*Lego, error) {
|
func New(config *conf.CertConfig) (*Lego, error) {
|
||||||
user, err := NewUser(path.Join("/etc/V2bX/cert/user/",
|
user, err := NewUser(path.Join(path.Dir(config.CertFile),
|
||||||
|
"user",
|
||||||
fmt.Sprintf("user-%s.json", config.Email)),
|
fmt.Sprintf("user-%s.json", config.Email)),
|
||||||
config.Email)
|
config.Email)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -67,7 +67,7 @@ func (c *Controller) nodeInfoMonitor() (err error) {
|
|||||||
log.Print(err)
|
log.Print(err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if newNodeInfo.Tls {
|
if c.nodeInfo.Tls || c.nodeInfo.Type == "hysteria" {
|
||||||
err = c.requestCert()
|
err = c.requestCert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("request cert error: %s", err)
|
return fmt.Errorf("request cert error: %s", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user