迁移并重构项目,优化了执行流程

This commit is contained in:
2025-10-31 15:43:25 +08:00
commit 35bcd62ad5
29 changed files with 1312 additions and 0 deletions

View 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
}

View 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
}

View 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
}