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) { if verbose == true { 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()) } if verbose == true { log.Printf("%s Done reading the wordlist", boldGreen("[+]")) } // return the lines, the line count and no error return lines, nil } // writeWordlistToChannel writes the given wordlist (wordlist) into the given channel (wordlistChannel) func writeWordlistToChannel(channels channels, wordlist []string) { if verbose == true { log.Printf("%s Starting inserting the given wordlist into the channel", green("[i]")) } // write all the words from the wordlist into the wordlistChannel for _, line := range wordlist { channels.wordlistChannel <- line } if verbose == true { log.Printf("%s Done inserting the wordlist elements into the wordlist channel", green("[+]")) } }