complexorganizations / content-blocker

✔️ Content Blocker is a robust web filtering project aimed at enhancing online privacy and security.
Other
16 stars 1 forks source link

Remove subdomain if found. #75

Closed ghost closed 3 years ago

ghost commented 3 years ago
    // if there are any subdomain present in the string, remove them.
    if strings.Count(foundDomain, ".") >= 2 {
        foundDomain = getTheDomain(foundDomain)
    }

// Checks if there are any suddomain in the string and returns the domain.
func getTheDomain(domain string) string {
    var originalDomainName []string
    var domainName string
    originalDomainName = strings.Split(domain, ".")
    switch strings.Count(domain, ".") {
    case 2:
        domainName = fmt.Sprint(originalDomainName[1] + "." + originalDomainName[2])
        return domainName
    case 3:
        domainName = fmt.Sprint(originalDomainName[2] + "." + originalDomainName[3])
        return domainName
    case 4:
        domainName = fmt.Sprint(originalDomainName[3] + "." + originalDomainName[4])
        return domainName
    case 5:
        domainName = fmt.Sprint(originalDomainName[4] + "." + originalDomainName[5])
        return domainName
    case 6:
        domainName = fmt.Sprint(originalDomainName[5] + "." + originalDomainName[6])
        return domainName
    case 7:
        domainName = fmt.Sprint(originalDomainName[6] + "." + originalDomainName[7])
        return domainName
    case 8:
        domainName = fmt.Sprint(originalDomainName[7] + "." + originalDomainName[8])
        return domainName
    case 9:
        domainName = fmt.Sprint(originalDomainName[8] + "." + originalDomainName[9])
        return domainName
    case 10:
        domainName = fmt.Sprint(originalDomainName[9] + "." + originalDomainName[10])
        return domainName
    case 11:
        domainName = fmt.Sprint(originalDomainName[10] + "." + originalDomainName[11])
        return domainName
    case 12:
        domainName = fmt.Sprint(originalDomainName[11] + "." + originalDomainName[12])
        return domainName
    case 13:
        domainName = fmt.Sprint(originalDomainName[12] + "." + originalDomainName[13])
        return domainName
    case 14:
        domainName = fmt.Sprint(originalDomainName[13] + "." + originalDomainName[14])
        return domainName
    case 15:
        domainName = fmt.Sprint(originalDomainName[14] + "." + originalDomainName[15])
        return domainName
    case 16:
        domainName = fmt.Sprint(originalDomainName[15] + "." + originalDomainName[16])
        return domainName
    case 17:
        domainName = fmt.Sprint(originalDomainName[16] + "." + originalDomainName[17])
        return domainName
    case 18:
        domainName = fmt.Sprint(originalDomainName[17] + "." + originalDomainName[18])
        return domainName
    case 19:
        domainName = fmt.Sprint(originalDomainName[18] + "." + originalDomainName[19])
        return domainName
    case 20:
        domainName = fmt.Sprint(originalDomainName[19] + "." + originalDomainName[20])
        return domainName
    case 21:
        domainName = fmt.Sprint(originalDomainName[20] + "." + originalDomainName[21])
        return domainName
    case 22:
        domainName = fmt.Sprint(originalDomainName[21] + "." + originalDomainName[22])
        return domainName
    case 23:
        domainName = fmt.Sprint(originalDomainName[22] + "." + originalDomainName[23])
        return domainName
    case 24:
        domainName = fmt.Sprint(originalDomainName[23] + "." + originalDomainName[24])
        return domainName
    case 25:
        domainName = fmt.Sprint(originalDomainName[24] + "." + originalDomainName[25])
        return domainName
    default:
        return domain
    }
}