MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / main

Function main

cmd/inject-cli/main.go:1154–1256  ·  view source on GitHub ↗

----- main -----

()

Source from the content-addressed store, hash-verified

1152// ----- main -----
1153
1154func main() {
1155 urlFlag := flag.String("url", "http://127.0.0.1:8300", "proxy server address")
1156 secretFlag := flag.String("secret", "", "management API secret (or MANAGEMENT_PASSWORD env)")
1157 flag.Parse()
1158
1159 secret := *secretFlag
1160 if secret == "" {
1161 secret = os.Getenv("MANAGEMENT_PASSWORD")
1162 }
1163
1164 c := &apiClient{
1165 baseURL: *urlFlag,
1166 secret: secret,
1167 http: &http.Client{Timeout: 10 * time.Second},
1168 }
1169
1170 fmt.Println()
1171 fmt.Println(" inject-cli")
1172 fmt.Printf(" server: %s\n", c.baseURL)
1173 fmt.Println()
1174
1175 rl, err := readline.NewEx(&readline.Config{
1176 Prompt: "\033[33m>\033[0m ",
1177 AutoComplete: mainCompleter(c),
1178 InterruptPrompt: "^C",
1179 EOFPrompt: "exit",
1180 })
1181 if err != nil {
1182 fmt.Fprintf(os.Stderr, "readline init failed: %v\n", err)
1183 os.Exit(1)
1184 }
1185 defer rl.Close()
1186
1187 for {
1188 line, err := rl.Readline()
1189 if err != nil {
1190 fmt.Println(" bye")
1191 return
1192 }
1193 line = strings.TrimSpace(line)
1194 if line == "" {
1195 continue
1196 }
1197
1198 parts := strings.Fields(line)
1199 cmd := parts[0]
1200
1201 switch cmd {
1202 case "sessions", "ls":
1203 cmdSessions(c)
1204
1205 case "use":
1206 if len(parts) < 2 {
1207 fmt.Println(" usage: use <session-id>")
1208 continue
1209 }
1210 cmdUse(c, parts[1])
1211 rl.SetPrompt("\033[33m>\033[0m ")

Callers

nothing calls this directly

Calls 10

mainCompleterFunction · 0.85
cmdSessionsFunction · 0.85
cmdUseFunction · 0.85
cmdObserveFunction · 0.85
cmdObservedToolsFunction · 0.85
cmdRulesAddFunction · 0.85
cmdRulesDeleteFunction · 0.85
cmdRulesFunction · 0.85
CloseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected