diff --git a/v1/cmd/blink/main.go b/v1/cmd/blink/main.go index 8b21528..cb272a0 100644 --- a/v1/cmd/blink/main.go +++ b/v1/cmd/blink/main.go @@ -6,6 +6,7 @@ import ( "strings" "git.supernets.org/perp/blink/v1/internal/file" + "git.supernets.org/perp/blink/v1/internal/util" "git.supernets.org/perp/blink/v1/pkg/dns" "git.supernets.org/perp/blink/v1/pkg/runner" "github.com/fatih/color" @@ -64,14 +65,14 @@ var rootCmd = &cobra.Command{ if err != nil { panic(err) } - opts.Wordlist = wordlistLines + opts.Wordlist = util.Sort(wordlistLines) // Read resolvers file resolversLines, err := file.Read(resolvers) if err != nil { panic(err) } - opts.Resolvers = resolversLines + opts.Resolvers = util.Sort(resolversLines) // Warnings if opts.UDP { @@ -199,6 +200,7 @@ func main() { } // Todo: +// Clear bar on finish // Clean up main.go // Fix warning logs // Fix wildcard log diff --git a/v1/internal/util/sort.go b/v1/internal/util/sort.go new file mode 100644 index 0000000..ac751aa --- /dev/null +++ b/v1/internal/util/sort.go @@ -0,0 +1,15 @@ +package util + +// Sort a slice by unique +// https://stackoverflow.com/a/66751055 +func Sort(strSlice []string) []string { + allKeys := make(map[string]bool) + list := []string{} + for _, item := range strSlice { + if _, value := allKeys[item]; !value { + allKeys[item] = true + list = append(list, item) + } + } + return list +}