迁移并重构项目,优化了执行流程
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