about summary refs log tree commit diff
path: root/src/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.go')
-rw-r--r--src/main.go26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/main.go b/src/main.go
index 25d3f3b..6bb8beb 100644
--- a/src/main.go
+++ b/src/main.go
@@ -1,43 +1,53 @@
 package main
 
 import (
+	"fmt"
 	"log"
 )
 
 func main() {
 	// pase the command line aguments
 	registerFlags()
+	log.Printf("%s Done reading flags", green("[+]"))
 
 	// read the wordlist from a file
 	wordlist, err := readWordlist(wordlist)
 	if err != nil {
 		log.Println(err)
 	}
+	log.Printf("%s Done reading the wordlist", green("[+]"))
 
-	// define a channel to store the wordlist in
+	// define channels storing the wordlist and the responses resulting from the
+	// requests
 	wordlistChannel := make(chan string)
-
-	// define a channel in which the response gets written into from the go
-	// routines
 	printChannel := make(chan Response)
 
-	// write the wordlist into a channel
-	writeWordlistToChannel(wordlistChannel, wordlist)
-
-	// print the responses from the printChannel
+	// write into the wordlist channel and read out of the print channel
+	go writeWordlistToChannel(wordlistChannel, wordlist)
 	go printResponses(printChannel)
 
+	log.Printf("%s Starting the http handlers", cyan("[+]"))
 	// handle one or more theads
 	if threads <= 1 {
+		log.Printf("%s 1 thread", yellow("[+]"))
 		httpRequest(wordlistChannel, printChannel)
 	} else {
+		log.Printf("%s multiple threads", yellow("[+]"))
 
 		// loop over all the threads starting a go routine fetching a word from
 		// the wordlistChannel, making the request and inserting the result into
 		// the printChannel
 		for i := 0; i < threads; i++ {
+			log.Printf("%s Starting Thread %d\n", cyan("[i]"), i)
 			go httpRequest(wordlistChannel, printChannel)
 		}
 	}
 
+	fmt.Println(len(wordlistChannel))
+
+	for {
+		if len(wordlistChannel) > 0 {
+			break
+		}
+	}
 }