-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmain.go
79 lines (74 loc) · 2.62 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package main
import (
"fmt"
"os"
"path/filepath"
"strings"
)
const ver = "v1.6"
func banner() {
fmt.Println(
colorf("\n ,----,\n"+
" .' .`| ____ ,---,.\n"+
" .' .' ; ,' , `. ,' .' |\n"+
" ,---, ' .' ,---. ,---. ,-+-,.' _ |,---.' | ", colorLightYellow),
colorf(ver, colorLightWhite),
colorf("\n | : ./ ' ,'\\ ' ,'\\ ,-+-. ; , ||| | .'\n"+
" ; | .' / / / | / / | ,--.'|' | ||: : |-, .--, ,---.\n"+
" `---' / ; . ; ,. :. ; ,. :| | ,', | |,: | ;/| /_ ./| / \\\n"+
" / ; / ' | |: :' | |: :| | / | |--' | : .' , ' , ' : / / |\n"+
" ; / /--,' | .; :' | .; :| : | | , | | |-,/___/ \\: |. ' / |\n"+
" / / / .`|| : || : || : | |/ ' : ;/| . \\ ' |' ; /|\n"+
"./__; : \\ \\ / \\ \\ / | | |`-' | | \\ \\ ; :' | / |\n"+
"| : .' `----' `----' | ;/ | : .' \\ \\ ;| : |\n"+
"; | .' '---' | | ,' : \\ \\\\ \\ /\n"+
"`---' ", colorLightYellow),
colorf("<https://github.com/gyyyy/ZoomEye-go/>", colorLightWhite),
colorf(" `----' \\ ' ; `----'\n"+
" `--`\n", colorLightYellow),
)
}
func help() {
fmt.Printf("Usage of %s:\n"+
" version\n Show current version\n"+
" init\n Initialize ZoomEye by username/password or API-Key\n"+
" info\n Query resources information\n"+
" search\n Search results from local, cache or API\n"+
" load\n Load results from local data file\n"+
" history\n Query device history\n"+
" clear\n Removes all cache and setting data\n"+
" help\n Usage of ZoomEye-go\n",
filepath.Base(os.Args[0]))
}
func main() {
var (
agent = NewAgent()
cmd string
)
if len(os.Args) > 1 {
cmd = os.Args[1]
os.Args = append(os.Args[0:1], os.Args[2:]...)
}
switch strings.ToLower(cmd) {
case "init":
cmdInit(agent)
case "info":
cmdInfo(agent)
case "search":
cmdSearch(agent)
case "load":
cmdLoad(agent)
case "history":
cmdHistory(agent)
case "clear":
cmdClear(agent)
case "version", "-version", "--version", "ver", "-ver", "--ver", "-v", "--v":
banner()
case "help", "-help", "--help", "-h", "--h", "?":
help()
case "":
warnf("Cli-User-Interact mode is coming soon, please run <zoomeye -h> for help")
default:
warnf("unsupported command please run <zoomeye -h> for help")
}
}