package main import ( "flag" ) var ( // boolean flags color bool verbose bool dryrun bool followRedirects bool // string values proxy string url string payload string wordlist string data string header string // int values concurrent int delay int // string values defining what request to show or hide hide Hide show Show ) func registerFlags() { shortcut := " (shortcut)" // Boolean values colorUsage := "Output with color" flag.BoolVar(&color, "color", false, colorUsage) flag.BoolVar(&color, "c", false, colorUsage+shortcut) verboseUsage := "Verbose output" flag.BoolVar(&verbose, "verbose", false, verboseUsage) flag.BoolVar(&verbose, "v", false, verboseUsage+shortcut) dryrunUsage := "Print the results of applying the requests without actually making any HTTP requests" flag.BoolVar(&dryrun, "dryrun", false, dryrunUsage) flag.BoolVar(&dryrun, "D", false, dryrunUsage+shortcut) followRedirectsUsage := "Follow HTTP redirects" flag.BoolVar(&followRedirects, "followRedirects", false, followRedirectsUsage) flag.BoolVar(&followRedirects, "L", false, followRedirectsUsage+shortcut) // Strings proxyUsage := "Proxy to use" flag.StringVar(&proxy, "proxy", "", proxyUsage) flag.StringVar(&proxy, "p", "", proxyUsage+shortcut) urlUsage := "url to use" flag.StringVar(&url, "url", "", urlUsage) flag.StringVar(&url, "u", "", urlUsage+shortcut) payloadUsage := "payload type" flag.StringVar(&payload, "payload", "file", payloadUsage) flag.StringVar(&payload, "P", "file", payloadUsage+shortcut) wordlistUsage := "wordlist type" flag.StringVar(&wordlist, "wordlist", "", wordlistUsage) flag.StringVar(&wordlist, "w", "", wordlistUsage+shortcut) headerUsage := "Define the headers to set" flag.StringVar(&header, "header", "", headerUsage) flag.StringVar(&header, "h", "", headerUsage+shortcut) // Ints concurrentUsage := "Amount of concurrent connections to use" flag.IntVar(&concurrent, "concurrent", 1, concurrentUsage) flag.IntVar(&concurrent, "t", 1, concurrentUsage+shortcut) delayUsage := "Amount of delay in between the requests" flag.IntVar(&delay, "delay", 0, delayUsage) flag.IntVar(&delay, "d", 0, delayUsage+shortcut) // parse the flags flag.Parse() }