diff --git a/v1/cmd/blink/main.go b/v1/cmd/blink/main.go index 345e846..15767b2 100644 --- a/v1/cmd/blink/main.go +++ b/v1/cmd/blink/main.go @@ -69,21 +69,23 @@ var rootCmd = &cobra.Command{ color.Red(banner) // Read wordlist path - wordlistLines, err := file.Read(wordlist) + wLines, err := file.Read(wordlist) if err != nil { panic(err) } - slices.Sort(wordlistLines) - opts.Wordlist = slices.Compact(wordlistLines) // Read resolvers file - resolversLines, err := file.Read(resolvers) + rLines, err := file.Read(resolvers) if err != nil { panic(err) } - resolversLines = util.Port(resolversLines) - slices.Sort(resolversLines) - opts.Resolvers = slices.Compact(resolversLines) + + // Sort & compact lines + append port + slices.Sort(wLines) + opts.Wordlist = slices.Compact(wLines) + slices.Sort(rLines) + opts.Resolvers = slices.Compact(rLines) + rLines = util.Port(rLines) // Store domains domains := make(map[string]int) diff --git a/v1/internal/util/port.go b/v1/internal/util/port.go new file mode 100644 index 0000000..0a77ca3 --- /dev/null +++ b/v1/internal/util/port.go @@ -0,0 +1,29 @@ +package util + +import "strings" + +// Check for port in resolvers +func Port(resolvers []string) []string { + // No resolvers found + if len(resolvers) == 0 { + resolvers = append(resolvers, "1.1.1.1:53") + resolvers = append(resolvers, "9.9.9.9:53") + return resolvers + } + + // Go through resolvers + for index, resolver := range resolvers { + // Split + split := strings.Split(resolver, ":") + + // No port found + if len(split) == 1 { + // Ignore empty & commented lines + if resolver != "" && !strings.HasPrefix(resolver, "#") { + resolvers[index] = resolver + ":53" + } + } + } + + return resolvers +}