Added init command

This commit is contained in:
perp 2023-08-12 00:23:26 +01:00
parent 552c98c684
commit ec02a3c9d4

44
internal/shodan/init.go Normal file
View File

@ -0,0 +1,44 @@
package shodan
import (
"fmt"
"os"
"git.tcp.direct/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
}