Esempio n. 1
0
func loadPublicSuffixList() (psl []string) {
	psl, err := name.ParsePublicSuffixCSV(*publicCSV, ns.PublicSuffixes, *includeTLDs)
	if err != nil {
		showErrorAndExit(err, 20)
	}
	if !*includeUTF8 {
		psl = wordlist.FilterUTF8(psl)
	}
	fmt.Printf("Public Suffixes: %s\n", strings.Join(psl, ", "))
	return
}
Esempio n. 2
0
func createDomainList(prefixes, suffixes, psl []string) (domains []string) {
	fmt.Print("Creating domain list... ")
	domains = name.Combine(prefixes, suffixes, psl, *single, *hyphenate, *itself, *hacks, *fuse, *minLength)
	if !*includeUTF8 {
		domains = wordlist.FilterUTF8(domains)
	}
	domains = name.FilterMaxLength(domains, *maxLength)
	if *strictMode {
		domains = name.FilterStrictDomains(domains, ns.PublicSuffixes)
	}
	domains = wordlist.RemoveDuplicates(domains)
	fmt.Println("done.")
	if len(domains) == 0 {
		showErrorAndExit(errors.New("I could not generate a single valid domain"), 50)
	}
	return
}