package shodan import ( "fmt" "os" "git.supernets.org/perp/shogo/internal/utils" ) // Initalize Shodan func (s *Shodan) Init() { // Get home directory home, err := os.UserHomeDir() if err != nil { s.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error()) return } // Check if directory exists _, err = os.Stat(home + "/.config/shodan/api_key") if err != nil { // Create directory err := os.MkdirAll(home+"/.config/shodan", 0770) if err != nil { s.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error()) return } } // Write key to file err = os.WriteFile(home+"/.config/shodan/api_key", []byte(s.Flags.Args[0]), 0644) if err != nil { s.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error()) return } // Store lines var lines string // Add lines lines += utils.Title.Sprintf("Shogo initalized\n") lines += fmt.Sprintf("%s: %s", utils.Green("Key"), utils.Blue(s.Flags.Args[0])) s.Results <- lines }