| 23 | } |
| 24 | |
| 25 | func getFlags() []cli.Flag { |
| 26 | var flags []cli.Flag |
| 27 | flags = append(flags, []cli.Flag{ |
| 28 | &cli.StringFlag{Name: "domain", Aliases: []string{"do"}, Usage: "The target domain", Required: true}, |
| 29 | &cli.BoolFlag{Name: "check-cname", Aliases: []string{"c"}, Value: false, Usage: "Also check CNAME records"}, |
| 30 | &cli.DurationFlag{Name: "timeout", Aliases: []string{"to"}, Value: 1 * time.Second, Usage: "DNS resolver timeout"}, |
| 31 | &cli.BoolFlag{Name: "wildcard", Aliases: []string{"wc"}, Value: false, Usage: "Force continued operation when wildcard found"}, |
| 32 | &cli.BoolFlag{Name: "no-fqdn", Aliases: []string{"nf"}, Value: false, Usage: "Do not automatically add a trailing dot to the domain, so the resolver uses the DNS search domain"}, |
| 33 | &cli.StringFlag{Name: "resolver", Usage: "Use custom DNS server (format server.com or server.com:port)"}, |
| 34 | &cli.StringFlag{Name: "protocol", Value: "udp", Usage: "Use either 'udp' or 'tcp' as protocol on the custom resolver"}, |
| 35 | }...) |
| 36 | flags = append(flags, internalcli.GlobalOptions()...) |
| 37 | return flags |
| 38 | } |
| 39 | |
| 40 | func run(c *cli.Context) error { |
| 41 | pluginOpts := gobusterdns.NewOptions() |