From 89e133c626794cac19d6a9813ee387995b01b8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 23 Jun 2024 01:12:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84str=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/console/commands/panel.go | 9 +++--- app/http/controllers/container_controller.go | 6 ++-- app/http/controllers/cron_controller.go | 4 +-- app/http/controllers/file_controller.go | 6 ++-- .../plugins/fail2ban_controller.go | 6 ++-- .../controllers/plugins/mysql_controller.go | 4 +-- .../plugins/openresty_controller.go | 4 +-- .../controllers/plugins/rsync_controller.go | 6 ++-- .../controllers/plugins/toolbox_controller.go | 10 +++---- app/http/controllers/website_controller.go | 6 ++-- internal/services/backup.go | 8 ++--- internal/services/setting.go | 6 ++-- internal/services/website.go | 30 +++++++++---------- pkg/{tools => str}/string.go | 2 +- pkg/{tools => str}/string_test.go | 2 +- 15 files changed, 55 insertions(+), 54 deletions(-) rename pkg/{tools => str}/string.go (99%) rename pkg/{tools => str}/string_test.go (98%) diff --git a/app/console/commands/panel.go b/app/console/commands/panel.go index 352e5d2e..7a539923 100644 --- a/app/console/commands/panel.go +++ b/app/console/commands/panel.go @@ -19,6 +19,7 @@ import ( "github.com/TheTNB/panel/internal/services" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" @@ -73,7 +74,7 @@ func (receiver *Panel) Handle(ctx console.Context) error { return nil } - hash, err := facades.Hash().Make(tools.RandomString(32)) + hash, err := facades.Hash().Make(str.RandomString(32)) if err != nil { color.Red().Printfln(translate.Get("commands.panel.init.fail")) return nil @@ -128,16 +129,16 @@ func (receiver *Panel) Handle(ctx console.Context) error { return nil } - password := tools.RandomString(16) + password := str.RandomString(16) hash, err := facades.Hash().Make(password) if err != nil { color.Red().Printfln(translate.Get("commands.panel.getInfo.passwordGenerationFail")) return nil } - user.Username = tools.RandomString(8) + user.Username = str.RandomString(8) user.Password = hash if user.Email == "" { - user.Email = tools.RandomString(8) + "@example.com" + user.Email = str.RandomString(8) + "@example.com" } err = facades.Orm().Query().Save(&user) diff --git a/app/http/controllers/container_controller.go b/app/http/controllers/container_controller.go index f4c03f8d..214d089e 100644 --- a/app/http/controllers/container_controller.go +++ b/app/http/controllers/container_controller.go @@ -5,7 +5,6 @@ import ( "strconv" "strings" - "github.com/TheTNB/panel/pkg/tools" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" "github.com/docker/go-connections/nat" @@ -14,6 +13,7 @@ import ( requests "github.com/TheTNB/panel/app/http/requests/container" "github.com/TheTNB/panel/internal/services" + "github.com/TheTNB/panel/pkg/str" ) type ContainerController struct { @@ -725,7 +725,7 @@ func (r *ContainerController) ImageList(ctx http.Context) http.Response { "id": item.ID, "created": carbon.FromTimestamp(item.Created).ToDateTimeString(), "containers": item.Containers, - "size": tools.FormatBytes(float64(item.Size)), + "size": str.FormatBytes(float64(item.Size)), "labels": item.Labels, "repo_tags": item.RepoTags, "repo_digests": item.RepoDigests, @@ -874,7 +874,7 @@ func (r *ContainerController) VolumeList(ctx http.Context) http.Response { if item.UsageData != nil { usage = map[string]any{ "ref_count": item.UsageData.RefCount, - "size": tools.FormatBytes(float64(item.UsageData.Size)), + "size": str.FormatBytes(float64(item.UsageData.Size)), } } items = append(items, map[string]any{ diff --git a/app/http/controllers/cron_controller.go b/app/http/controllers/cron_controller.go index cc2dfe1e..906c19f2 100644 --- a/app/http/controllers/cron_controller.go +++ b/app/http/controllers/cron_controller.go @@ -14,7 +14,7 @@ import ( "github.com/TheTNB/panel/internal/services" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" ) type CronController struct { @@ -118,7 +118,7 @@ panel cutoff ${name} ${save} 2>&1 if !io.Exists(shellLogDir) { return Error(ctx, http.StatusInternalServerError, "计划任务日志目录不存在") } - shellFile := strconv.Itoa(int(carbon.Now().Timestamp())) + tools.RandomString(16) + shellFile := strconv.Itoa(int(carbon.Now().Timestamp())) + str.RandomString(16) if err := io.Write(shellDir+shellFile+".sh", script, 0700); err != nil { return Error(ctx, http.StatusInternalServerError, err.Error()) } diff --git a/app/http/controllers/file_controller.go b/app/http/controllers/file_controller.go index 7a10153e..ed43fa44 100644 --- a/app/http/controllers/file_controller.go +++ b/app/http/controllers/file_controller.go @@ -15,7 +15,7 @@ import ( "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/os" "github.com/TheTNB/panel/pkg/shell" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" ) type FileController struct { @@ -328,7 +328,7 @@ func (r *FileController) Info(ctx http.Context) http.Response { return Success(ctx, http.Json{ "name": fileInfo.Name(), - "size": tools.FormatBytes(float64(fileInfo.Size())), + "size": str.FormatBytes(float64(fileInfo.Size())), "mode_str": fileInfo.Mode().String(), "mode": fmt.Sprintf("%04o", fileInfo.Mode().Perm()), "dir": fileInfo.IsDir(), @@ -481,7 +481,7 @@ func (r *FileController) List(ctx http.Context) http.Response { paths = append(paths, map[string]any{ "name": info.Name(), "full": filepath.Join(request.Path, info.Name()), - "size": tools.FormatBytes(float64(info.Size())), + "size": str.FormatBytes(float64(info.Size())), "mode_str": info.Mode().String(), "mode": fmt.Sprintf("%04o", info.Mode().Perm()), "owner": os.GetUser(stat.Uid), diff --git a/app/http/controllers/plugins/fail2ban_controller.go b/app/http/controllers/plugins/fail2ban_controller.go index a4ac6023..a4f502fc 100644 --- a/app/http/controllers/plugins/fail2ban_controller.go +++ b/app/http/controllers/plugins/fail2ban_controller.go @@ -15,7 +15,7 @@ import ( "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/os" "github.com/TheTNB/panel/pkg/shell" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/types" ) @@ -48,7 +48,7 @@ func (r *Fail2banController) List(ctx http.Context) http.Response { } jailName := jail[1] - jailRaw := tools.Cut(raw, "# "+jailName+"-START", "# "+jailName+"-END") + jailRaw := str.Cut(raw, "# "+jailName+"-START", "# "+jailName+"-END") if len(jailRaw) == 0 { continue } @@ -227,7 +227,7 @@ func (r *Fail2banController) Delete(ctx http.Context) http.Response { return controllers.Error(ctx, http.StatusUnprocessableEntity, "规则不存在") } - rule := tools.Cut(raw, "# "+jailName+"-START", "# "+jailName+"-END") + rule := str.Cut(raw, "# "+jailName+"-START", "# "+jailName+"-END") raw = strings.Replace(raw, "\n# "+jailName+"-START"+rule+"# "+jailName+"-END", "", -1) raw = strings.TrimSpace(raw) if err := io.Write("/etc/fail2ban/jail.local", raw, 0644); err != nil { diff --git a/app/http/controllers/plugins/mysql_controller.go b/app/http/controllers/plugins/mysql_controller.go index a9602ff0..5b56ac67 100644 --- a/app/http/controllers/plugins/mysql_controller.go +++ b/app/http/controllers/plugins/mysql_controller.go @@ -14,8 +14,8 @@ import ( "github.com/TheTNB/panel/internal/services" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" - "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" ) @@ -107,7 +107,7 @@ func (r *MySQLController) Load(ctx http.Context) http.Response { if len(matches) > 1 { d := map[string]string{"name": expression.name, "value": matches[1]} if expression.name == "发送" || expression.name == "接收" { - d["value"] = tools.FormatBytes(cast.ToFloat64(matches[1])) + d["value"] = str.FormatBytes(cast.ToFloat64(matches[1])) } data = append(data, d) diff --git a/app/http/controllers/plugins/openresty_controller.go b/app/http/controllers/plugins/openresty_controller.go index 7fd37717..9f6227d3 100644 --- a/app/http/controllers/plugins/openresty_controller.go +++ b/app/http/controllers/plugins/openresty_controller.go @@ -11,8 +11,8 @@ import ( "github.com/TheTNB/panel/app/http/controllers" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" - "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" ) @@ -135,7 +135,7 @@ func (r *OpenRestyController) Load(ctx http.Context) http.Response { if err != nil { return controllers.Error(ctx, http.StatusInternalServerError, "获取负载失败") } - mem := tools.FormatBytes(cast.ToFloat64(out)) + mem := str.FormatBytes(cast.ToFloat64(out)) data = append(data, types.NV{ Name: "内存占用", Value: mem, diff --git a/app/http/controllers/plugins/rsync_controller.go b/app/http/controllers/plugins/rsync_controller.go index 87224870..5c79b6b7 100644 --- a/app/http/controllers/plugins/rsync_controller.go +++ b/app/http/controllers/plugins/rsync_controller.go @@ -10,8 +10,8 @@ import ( requests "github.com/TheTNB/panel/app/http/requests/plugins/rsync" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" - "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" ) @@ -169,7 +169,7 @@ func (r *RsyncController) Destroy(ctx http.Context) http.Response { return controllers.Error(ctx, http.StatusUnprocessableEntity, "模块 "+name+" 不存在") } - module := tools.Cut(config, "# "+name+"-START", "# "+name+"-END") + module := str.Cut(config, "# "+name+"-START", "# "+name+"-END") config = strings.Replace(config, "\n# "+name+"-START"+module+"# "+name+"-END", "", -1) match := regexp.MustCompile(`auth users = ([^\n]+)`).FindStringSubmatch(module) @@ -227,7 +227,7 @@ hosts allow = ` + updateRequest.HostsAllow + ` secrets file = /etc/rsyncd.secrets # ` + updateRequest.Name + `-END` - module := tools.Cut(config, "# "+updateRequest.Name+"-START", "# "+updateRequest.Name+"-END") + module := str.Cut(config, "# "+updateRequest.Name+"-START", "# "+updateRequest.Name+"-END") config = strings.Replace(config, "# "+updateRequest.Name+"-START"+module+"# "+updateRequest.Name+"-END", newConf, -1) match := regexp.MustCompile(`auth users = ([^\n]+)`).FindStringSubmatch(module) diff --git a/app/http/controllers/plugins/toolbox_controller.go b/app/http/controllers/plugins/toolbox_controller.go index 06c6a1bd..246438c5 100644 --- a/app/http/controllers/plugins/toolbox_controller.go +++ b/app/http/controllers/plugins/toolbox_controller.go @@ -10,7 +10,7 @@ import ( "github.com/TheTNB/panel/app/http/controllers" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" ) type ToolBoxController struct { @@ -70,7 +70,7 @@ func (r *ToolBoxController) GetSWAP(ctx http.Context) http.Response { } size = file.Size() / 1024 / 1024 - total = tools.FormatBytes(float64(file.Size())) + total = str.FormatBytes(float64(file.Size())) } else { size = 0 total = "0.00 B" @@ -83,8 +83,8 @@ func (r *ToolBoxController) GetSWAP(ctx http.Context) http.Response { match := regexp.MustCompile(`Swap:\s+(\d+)\s+(\d+)\s+(\d+)`).FindStringSubmatch(raw) if len(match) > 0 { - used = tools.FormatBytes(cast.ToFloat64(match[2]) * 1024) - free = tools.FormatBytes(cast.ToFloat64(match[3]) * 1024) + used = str.FormatBytes(cast.ToFloat64(match[2]) * 1024) + free = str.FormatBytes(cast.ToFloat64(match[3]) * 1024) } return controllers.Success(ctx, http.Json{ @@ -117,7 +117,7 @@ func (r *ToolBoxController) SetSWAP(ctx http.Context) http.Response { return controllers.Error(ctx, http.StatusUnprocessableEntity, "获取磁盘空间失败") } if cast.ToInt64(free)*1024 < int64(size)*1024*1024 { - return controllers.Error(ctx, http.StatusUnprocessableEntity, "磁盘空间不足,当前剩余 "+tools.FormatBytes(cast.ToFloat64(free))) + return controllers.Error(ctx, http.StatusUnprocessableEntity, "磁盘空间不足,当前剩余 "+str.FormatBytes(cast.ToFloat64(free))) } btrfsCheck, _ := shell.Execf("df -T /www | awk '{print $2}' | tail -n 1") diff --git a/app/http/controllers/website_controller.go b/app/http/controllers/website_controller.go index f0bd9deb..0e8ad617 100644 --- a/app/http/controllers/website_controller.go +++ b/app/http/controllers/website_controller.go @@ -14,8 +14,8 @@ import ( "github.com/TheTNB/panel/internal" "github.com/TheTNB/panel/internal/services" "github.com/TheTNB/panel/pkg/io" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" - "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" ) @@ -619,7 +619,7 @@ func (r *WebsiteController) Status(ctx http.Context) http.Response { } // 运行目录 - rootConfig := tools.Cut(raw, "# root标记位开始\n", "# root标记位结束") + rootConfig := str.Cut(raw, "# root标记位开始\n", "# root标记位结束") match := regexp.MustCompile(`root\s+(.+);`).FindStringSubmatch(rootConfig) if len(match) == 2 { if website.Status { @@ -631,7 +631,7 @@ func (r *WebsiteController) Status(ctx http.Context) http.Response { } // 默认文件 - indexConfig := tools.Cut(raw, "# index标记位开始\n", "# index标记位结束") + indexConfig := str.Cut(raw, "# index标记位开始\n", "# index标记位结束") match = regexp.MustCompile(`index\s+(.+);`).FindStringSubmatch(indexConfig) if len(match) == 2 { if website.Status { diff --git a/internal/services/backup.go b/internal/services/backup.go index f9423733..b0c8a926 100644 --- a/internal/services/backup.go +++ b/internal/services/backup.go @@ -13,7 +13,7 @@ import ( "github.com/TheTNB/panel/internal" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/types" ) @@ -53,7 +53,7 @@ func (s *BackupImpl) WebsiteList() ([]types.BackupFile, error) { } backupList = append(backupList, types.BackupFile{ Name: file.Name(), - Size: tools.FormatBytes(float64(info.Size())), + Size: str.FormatBytes(float64(info.Size())), }) } @@ -143,7 +143,7 @@ func (s *BackupImpl) MysqlList() ([]types.BackupFile, error) { } backupList = append(backupList, types.BackupFile{ Name: file.Name(), - Size: tools.FormatBytes(float64(info.Size())), + Size: str.FormatBytes(float64(info.Size())), }) } @@ -256,7 +256,7 @@ func (s *BackupImpl) PostgresqlList() ([]types.BackupFile, error) { } backupList = append(backupList, types.BackupFile{ Name: file.Name(), - Size: tools.FormatBytes(float64(info.Size())), + Size: str.FormatBytes(float64(info.Size())), }) } diff --git a/internal/services/setting.go b/internal/services/setting.go index 4558796b..946a0fc5 100644 --- a/internal/services/setting.go +++ b/internal/services/setting.go @@ -5,7 +5,7 @@ import ( "github.com/goravel/framework/facades" "github.com/TheTNB/panel/app/models" - "github.com/TheTNB/panel/pkg/tools" + "github.com/TheTNB/panel/pkg/str" ) type SettingImpl struct { @@ -19,11 +19,11 @@ func NewSettingImpl() *SettingImpl { func (r *SettingImpl) Get(key string, defaultValue ...string) string { var setting models.Setting if err := facades.Orm().Query().Where("key", key).FirstOrFail(&setting); err != nil { - return tools.FirstElement(defaultValue) + return str.FirstElement(defaultValue) } if len(setting.Value) == 0 { - return tools.FirstElement(defaultValue) + return str.FirstElement(defaultValue) } return setting.Value diff --git a/internal/services/website.go b/internal/services/website.go index 62ee8316..9b13973b 100644 --- a/internal/services/website.go +++ b/internal/services/website.go @@ -18,8 +18,8 @@ import ( "github.com/TheTNB/panel/internal" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/shell" + "github.com/TheTNB/panel/pkg/str" "github.com/TheTNB/panel/pkg/systemctl" - "github.com/TheTNB/panel/pkg/tools" "github.com/TheTNB/panel/types" ) @@ -350,7 +350,7 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { domain += " " + v } domain += ";" - domainConfigOld := tools.Cut(raw, "# server_name标记位开始", "# server_name标记位结束") + domainConfigOld := str.Cut(raw, "# server_name标记位开始", "# server_name标记位结束") if len(strings.TrimSpace(domainConfigOld)) == 0 { return errors.New("配置文件中缺少server_name标记位") } @@ -380,14 +380,14 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { port.WriteString(" listen [::]:" + vStr + ";") } } - portConfigOld := tools.Cut(raw, "# port标记位开始", "# port标记位结束") + portConfigOld := str.Cut(raw, "# port标记位开始", "# port标记位结束") if len(strings.TrimSpace(portConfigOld)) == 0 { return errors.New("配置文件中缺少port标记位") } raw = strings.Replace(raw, portConfigOld, "\n"+port.String()+"\n ", -1) // 运行目录 - root := tools.Cut(raw, "# root标记位开始", "# root标记位结束") + root := str.Cut(raw, "# root标记位开始", "# root标记位结束") if len(strings.TrimSpace(root)) == 0 { return errors.New("配置文件中缺少root标记位") } @@ -399,7 +399,7 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { raw = strings.Replace(raw, root, rootNew, -1) // 默认文件 - index := tools.Cut(raw, "# index标记位开始", "# index标记位结束") + index := str.Cut(raw, "# index标记位开始", "# index标记位结束") if len(strings.TrimSpace(index)) == 0 { return errors.New("配置文件中缺少index标记位") } @@ -443,7 +443,7 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { waf_cc_deny ` + wafCcDeny + `; waf_cache ` + wafCache + `; ` - wafConfigOld := tools.Cut(raw, "# waf标记位开始", "# waf标记位结束") + wafConfigOld := str.Cut(raw, "# waf标记位开始", "# waf标记位结束") if len(strings.TrimSpace(wafConfigOld)) != 0 { raw = strings.Replace(raw, wafConfigOld, "", -1) } @@ -484,13 +484,13 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { # hsts标记位结束 ` } - sslConfigOld := tools.Cut(raw, "# ssl标记位开始", "# ssl标记位结束") + sslConfigOld := str.Cut(raw, "# ssl标记位开始", "# ssl标记位结束") if len(strings.TrimSpace(sslConfigOld)) != 0 { raw = strings.Replace(raw, sslConfigOld, "", -1) } raw = strings.Replace(raw, "# ssl标记位开始", sslConfig, -1) } else { - sslConfigOld := tools.Cut(raw, "# ssl标记位开始", "# ssl标记位结束") + sslConfigOld := str.Cut(raw, "# ssl标记位开始", "# ssl标记位结束") if len(strings.TrimSpace(sslConfigOld)) != 0 { raw = strings.Replace(raw, sslConfigOld, "\n ", -1) } @@ -498,7 +498,7 @@ func (r *WebsiteImpl) SaveConfig(config requests.SaveConfig) error { if website.Php != config.Php { website.Php = config.Php - phpConfigOld := tools.Cut(raw, "# php标记位开始", "# php标记位结束") + phpConfigOld := str.Cut(raw, "# php标记位开始", "# php标记位结束") phpConfig := ` include enable-php-` + strconv.Itoa(website.Php) + `.conf; ` @@ -574,7 +574,7 @@ func (r *WebsiteImpl) GetConfig(id uint) (types.WebsiteSetting, error) { setting.Php = strconv.Itoa(website.Php) setting.Raw = config - ports := tools.Cut(config, "# port标记位开始", "# port标记位结束") + ports := str.Cut(config, "# port标记位开始", "# port标记位结束") matches := regexp.MustCompile(`listen\s+(.*);`).FindAllStringSubmatch(ports, -1) for _, match := range matches { if len(match) < 2 { @@ -593,17 +593,17 @@ func (r *WebsiteImpl) GetConfig(id uint) (types.WebsiteSetting, error) { setting.Ports = append(setting.Ports, cast.ToUint(ports[0])) } } - serverName := tools.Cut(config, "# server_name标记位开始", "# server_name标记位结束") + serverName := str.Cut(config, "# server_name标记位开始", "# server_name标记位结束") match := regexp.MustCompile(`server_name\s+(.*);`).FindStringSubmatch(serverName) if len(match) > 1 { setting.Domains = strings.Split(match[1], " ") } - root := tools.Cut(config, "# root标记位开始", "# root标记位结束") + root := str.Cut(config, "# root标记位开始", "# root标记位结束") match = regexp.MustCompile(`root\s+(.*);`).FindStringSubmatch(root) if len(match) > 1 { setting.Root = match[1] } - index := tools.Cut(config, "# index标记位开始", "# index标记位结束") + index := str.Cut(config, "# index标记位开始", "# index标记位结束") match = regexp.MustCompile(`index\s+(.*);`).FindStringSubmatch(index) if len(match) > 1 { setting.Index = match[1] @@ -625,7 +625,7 @@ func (r *WebsiteImpl) GetConfig(id uint) (types.WebsiteSetting, error) { key, _ := io.Read("/www/server/vhost/ssl/" + website.Name + ".key") setting.SslCertificateKey = key if setting.Ssl { - ssl := tools.Cut(config, "# ssl标记位开始", "# ssl标记位结束") + ssl := str.Cut(config, "# ssl标记位开始", "# ssl标记位结束") setting.HttpRedirect = strings.Contains(ssl, "# http重定向标记位") setting.Hsts = strings.Contains(ssl, "# hsts标记位") @@ -645,7 +645,7 @@ func (r *WebsiteImpl) GetConfig(id uint) (types.WebsiteSetting, error) { setting.Hsts = false } - waf := tools.Cut(config, "# waf标记位开始", "# waf标记位结束") + waf := str.Cut(config, "# waf标记位开始", "# waf标记位结束") setting.Waf = strings.Contains(waf, "waf on;") match = regexp.MustCompile(`waf_mode\s+(.+);`).FindStringSubmatch(waf) if len(match) > 1 { diff --git a/pkg/tools/string.go b/pkg/str/string.go similarity index 99% rename from pkg/tools/string.go rename to pkg/str/string.go index 47175d6b..e5b09fca 100644 --- a/pkg/tools/string.go +++ b/pkg/str/string.go @@ -1,4 +1,4 @@ -package tools +package str import ( "crypto/md5" diff --git a/pkg/tools/string_test.go b/pkg/str/string_test.go similarity index 98% rename from pkg/tools/string_test.go rename to pkg/str/string_test.go index 68c360b9..d3f9735d 100644 --- a/pkg/tools/string_test.go +++ b/pkg/str/string_test.go @@ -1,4 +1,4 @@ -package tools +package str import ( "testing"