From e94191ae4dbfb7d7c0e722652f044c8774b7164d Mon Sep 17 00:00:00 2001 From: d3m0k1d Date: Tue, 13 Jan 2026 22:51:12 +0300 Subject: [PATCH] Fix: add chek if path exists --- cmd/banforge/main.go | 46 ++++++++++++++++++++++++++++--------- internal/config/template.go | 2 ++ 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/cmd/banforge/main.go b/cmd/banforge/main.go index ad3761a..c1257ce 100644 --- a/cmd/banforge/main.go +++ b/cmd/banforge/main.go @@ -27,26 +27,50 @@ var initCmd = &cobra.Command{ Short: "Initialize BanForge", Run: func(cmd *cobra.Command, args []string) { fmt.Println("Initializing BanForge...") - err := os.Mkdir("/var/log/banforge", 0750) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - err = os.Mkdir("/etc/banforge", 0750) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - err = config.CreateConf() + + if _, err := os.Stat("/var/log/banforge"); err == nil { + fmt.Println("/var/log/banforge already exists, skipping...") + } else if os.IsNotExist(err) { + err := os.Mkdir("/var/log/banforge", 0750) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + fmt.Println("Created /var/log/banforge") + } else { + fmt.Println(err) + os.Exit(1) + } + + if _, err := os.Stat("/etc/banforge"); err == nil { + fmt.Println("/etc/banforge already exists, skipping...") + } else if os.IsNotExist(err) { + err := os.Mkdir("/etc/banforge", 0750) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + fmt.Println("Created /etc/banforge") + } else { + fmt.Println(err) + os.Exit(1) + } + + err := config.CreateConf() if err != nil { fmt.Println(err) os.Exit(1) } + fmt.Println("Config created") + err = config.FindFirewall() if err != nil { fmt.Println(err) os.Exit(1) } + fmt.Println("Firewall detected and configured") + + fmt.Println("BanForge initialized successfully!") }, } diff --git a/internal/config/template.go b/internal/config/template.go index e31c3b2..a265480 100644 --- a/internal/config/template.go +++ b/internal/config/template.go @@ -20,3 +20,5 @@ log_path = "/var/log/nginx/access.log" enabled = false ` + +// TODO: fix types for use 1 or any services"