package main import ( "bufio" "log" "os" ) // readWordlist reads the lines in the file located at the given path // (wordlistPath) into an array returning the array and an error, if an error // occurs func readWordlist(wordlistPath string) ([]string, error) { log.Printf("%s Reading the wordlist", green("[i]")) // open the given wordlist file file, err := os.Open(wordlistPath) if err != nil { return nil, err } defer file.Close() // read the file content line by line scanner := bufio.NewScanner(file) scanner.Split(bufio.ScanLines) // append the lines to the lines array var lines []string for scanner.Scan() { lines = append(lines, scanner.Text()) } log.Printf("%s Done reading the wordlist", boldGreen("[+]")) // return the lines, the line count and no error return lines, nil } func writeWordlistToChannel(wordlistChannel chan string, wordlist []string) { // write all the words from the wordlist into the wordlistChannel for _, line := range wordlist { wordlistChannel <- line } log.Printf("%s Done inserting the wordlist elements into the wordlist channel", green("[+]")) }