迁移并重构项目,优化了执行流程
This commit is contained in:
18
internal/Func/CheckNodes.go
Normal file
18
internal/Func/CheckNodes.go
Normal file
@ -0,0 +1,18 @@
|
||||
package Func
|
||||
|
||||
import (
|
||||
"SafeLine-Acme/internal/class/SafeLine"
|
||||
"time"
|
||||
)
|
||||
|
||||
func CheckNodes(nodes []SafeLine.Nodes, n int) []SafeLine.Nodes {
|
||||
var need []SafeLine.Nodes
|
||||
date := time.Now()
|
||||
for _, node := range nodes {
|
||||
days := int(node.ValidBefore.Sub(date).Hours() / 24)
|
||||
if days <= n {
|
||||
need = append(need, node)
|
||||
}
|
||||
}
|
||||
return need
|
||||
}
|
||||
20
internal/Func/ChooseProvider.go
Normal file
20
internal/Func/ChooseProvider.go
Normal file
@ -0,0 +1,20 @@
|
||||
package Func
|
||||
|
||||
import (
|
||||
"SafeLine-Acme/internal/app/logger"
|
||||
"SafeLine-Acme/internal/class/Acme"
|
||||
|
||||
"github.com/go-acme/lego/v4/challenge"
|
||||
)
|
||||
|
||||
func ChooseProvider(config Acme.Object) ([]challenge.Provider, bool) {
|
||||
providers, errors := config.DNSProvider.Choose()
|
||||
for _, e := range errors {
|
||||
logger.Error.Println(e)
|
||||
}
|
||||
if len(providers) == 0 {
|
||||
logger.Error.Println()
|
||||
return nil, true
|
||||
}
|
||||
return providers, false
|
||||
}
|
||||
19
internal/Func/UpdateCheck.go
Normal file
19
internal/Func/UpdateCheck.go
Normal file
@ -0,0 +1,19 @@
|
||||
package Func
|
||||
|
||||
import (
|
||||
"SafeLine-Acme/internal/app/logger"
|
||||
"SafeLine-Acme/internal/class/SafeLine"
|
||||
"log"
|
||||
)
|
||||
|
||||
func UpdateCertCheck(server SafeLine.Object, days int) ([]SafeLine.Nodes, bool) {
|
||||
nodes := server.GetCertNodes()
|
||||
needUpdate := CheckNodes(nodes, days)
|
||||
if len(needUpdate) != 0 {
|
||||
log.Printf("本次需要更新证书数量有 %s%d%s 个,现在开始更新...", logger.Yellow, len(needUpdate), logger.Reset)
|
||||
} else {
|
||||
log.Print("本次无需更新证书,即将退出本程序。")
|
||||
return nil, true
|
||||
}
|
||||
return needUpdate, false
|
||||
}
|
||||
Reference in New Issue
Block a user