Tidy logic

This commit is contained in:
Daniel Mason 2021-11-11 21:40:23 +13:00
parent 5196d95055
commit eb193ae5d8
Signed by: idanoo
GPG key ID: 387387CDBC02F132

22
main.go
View file

@ -15,20 +15,24 @@ import (
func main() { func main() {
var wg sync.WaitGroup var wg sync.WaitGroup
freeDomains := []string{}
i := 1 i := 1
for r := 'a'; r <= 'z'; r++ { for r := 'a'; r <= 'z'; r++ {
wg.Add(1) wg.Add(1)
go runForLetter(&wg, i, fmt.Sprintf("%c", r)) go runForLetter(&wg, &freeDomains, fmt.Sprintf("%c", r))
i++ i++
} }
wg.Wait() wg.Wait()
writeLinesToFile(freeDomains)
log.Printf("Done!") log.Printf("Done!")
} }
func runForLetter(wg *sync.WaitGroup, id int, letter string) { func runForLetter(wg *sync.WaitGroup, freeDomains *[]string, letter string) {
defer wg.Done() defer wg.Done()
freeDomains := []string{}
domainsToCheck := generateInput() domainsToCheck := generateInput()
@ -40,18 +44,16 @@ func runForLetter(wg *sync.WaitGroup, id int, letter string) {
} }
if resp { if resp {
freeDomains = append(freeDomains, letter+domain+".nz") *freeDomains = append(*freeDomains, letter+domain+".nz")
} }
} }
writeLinesToFile(letter, freeDomains) fmt.Printf("Worker %s: Finished\n", letter)
fmt.Printf("Worker %v: Finished\n", id)
} }
// checkDomain - True if available, error/false if not // checkDomain - True if available, error/false if not
func checkDomain(domain string) (bool, error) { func checkDomain(domain string) (bool, error) {
time.Sleep(time.Millisecond * 100) time.Sleep(time.Millisecond * 150)
resultRaw, err := whois.Whois(domain, "whois.srs.net.nz") resultRaw, err := whois.Whois(domain, "whois.srs.net.nz")
if err != nil { if err != nil {
return false, err return false, err
@ -81,12 +83,12 @@ func generateInput() []string {
return output return output
} }
func writeLinesToFile(letter string, str []string) { func writeLinesToFile(str []string) {
if len(str) == 0 { if len(str) == 0 {
return return
} }
file, err := os.OpenFile(letter+".char.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) file, err := os.OpenFile("3char.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil { if err != nil {
log.Fatalf("failed creating file: %s", err) log.Fatalf("failed creating file: %s", err)