1
0
mirror of https://github.com/zu1k/nali.git synced 2025-01-22 21:29:02 +08:00
nali/main.go

49 lines
888 B
Go
Raw Normal View History

2020-07-17 09:41:09 +08:00
package main
2020-07-17 09:05:25 +08:00
2020-07-17 09:41:09 +08:00
import (
"log"
"os"
"path/filepath"
2020-07-17 11:37:03 +08:00
"strings"
"github.com/zu1k/nali/internal/ipdb"
2020-07-17 09:05:25 +08:00
2020-07-17 09:41:09 +08:00
"github.com/zu1k/nali/internal/app"
2020-07-17 09:05:25 +08:00
2020-07-17 09:41:09 +08:00
"github.com/zu1k/nali/cmd"
"github.com/zu1k/nali/constant"
)
2020-07-17 09:05:25 +08:00
func main() {
2020-07-17 09:41:09 +08:00
setHomePath()
2020-07-17 11:37:03 +08:00
app.InitIPDB(getIPDBType())
2020-07-17 09:05:25 +08:00
cmd.Execute()
}
2020-07-17 09:41:09 +08:00
func setHomePath() {
homeDir, err := os.UserHomeDir()
if err != nil {
panic(err)
}
homePath := filepath.Join(homeDir, ".nali")
constant.HomePath = homePath
if _, err := os.Stat(homePath); os.IsNotExist(err) {
if err := os.MkdirAll(homePath, 0777); err != nil {
log.Fatal("can not create", homePath, ", use bin dir instead")
}
}
}
2020-07-17 11:37:03 +08:00
func getIPDBType() ipdb.IPDBType {
dbname := os.Getenv("NALI_DB")
dbname = strings.ToLower(dbname)
switch dbname {
case "geo", "geoip", "geoip2":
return ipdb.GEOIP2
case "chunzhen", "qqip", "qqwry":
return ipdb.QQIP
default:
return ipdb.QQIP
}
}