public void MitmEndpointsFeatures() { FilterPolicy filter = new FilterPolicy() { BlockedPhrases = new List <PhraseFilter>() { }, AllowedDomains = new List <DomainPolicy>() { new DomainPolicy() { DomainBlocked = true, DomainFormat = "aaa.maariv.co.il", Type = AllowDomainType.EXACT }, new DomainPolicy() { DomainBlocked = false, DomainFormat = ".maariv.co.il", Type = AllowDomainType.SUBDOMAINS }, new DomainPolicy() { DomainBlocked = true, DomainFormat = "tmi.maariv.co.il", Type = AllowDomainType.EXACT }, } }; string newDomain1 = "add.com"; string newDomain2 = ".addmore.com"; string newDomain3 = "extra.com"; // Add whitelist Assert.IsFalse(filter.isWhitelistedHost(newDomain1)); filter.addWhitelistDomain(newDomain1); Assert.IsTrue(filter.isWhitelistedHost(newDomain1)); Assert.IsTrue(filter.isWhitelistedURL(newDomain1, "/anyEp", out _)); // Add whitelist sub+domain Assert.IsFalse(filter.isWhitelistedHost(newDomain2)); filter.addWhitelistDomain(newDomain2); Assert.IsTrue(filter.isWhitelistedHost("sub" + newDomain2)); Assert.IsTrue(filter.isWhitelistedURL("sub2" + newDomain2, "/anyEp", out _)); // Block domain by find filter.findAllowedDomain(newDomain1).DomainBlocked = true; Assert.IsFalse(filter.isWhitelistedURL(newDomain1, "/anyEp", out _)); // Add EP (allow \\ block) filter.addWhitelistDomain(newDomain3); filter.findAllowedDomain(newDomain3).AddEndpoint(true, "/ok", AllowEPType.STARTWITH); Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/", out _)); Assert.IsTrue(filter.isWhitelistedURL(newDomain3, "/ok_1", out _)); Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/not-ok_1", out _)); filter.findAllowedDomain(newDomain3).AddEndpoint(false, "bad", AllowEPType.CONTAIN); Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/ok_1_but_bad", out _)); }
public void URLTest() { string reason_throwaway = ""; FilterPolicy filter = new FilterPolicy() { BlockedPhrases = new List <PhraseFilter>() { new PhraseFilter() { Type = BlockPhraseType.WORDCONTAINING, Phrase = "bad", Scope = BlockPhraseScope.URL }, new PhraseFilter() { Type = BlockPhraseType.REGEX, Phrase = "wor[dk]", Scope = BlockPhraseScope.URL } } }; filter.AllowedDomains = new List <DomainPolicy>() { new DomainPolicy() { DomainBlocked = false, DomainFormat = "go.com", Type = AllowDomainType.SUBDOMAINS, AllowEP = new List <EPPolicy>() { new EPPolicy() { Type = AllowEPType.STARTWITH, EpFormat = "/i-am-whitelisted" } } } }; string ep1 = "/search?q=verybadword"; string ep2 = "/i-am-whitelisted"; string ep3 = "/i-am-whitelisted/badword"; areTrue(filter.isWhitelistedHost("g.go.com")); areTrue(filter.isWhitelistedURL("go.com", ep2, out reason_throwaway)); areFalse(filter.isWhitelistedURL("go.com", "/not-ok", out reason_throwaway)); areFalse(filter.isWhitelistedURL("go-go.com", ep2, out reason_throwaway)); areTrue(filter.isWhitelistedHost("go.com")); areFalse(filter.isWhitelistedURL("g.go.com", ep2 + "/work", out reason_throwaway)); }
private void toolStripMenuItem2_Click(object sender, EventArgs e) { var linq = blockLogs.Where( (log) => { Uri uri = new Uri(log.url); return(!mainPolicy.isWhitelistedHost(uri.Host) && mainPolicy.isContentAllowed(uri.PathAndQuery, BlockPhraseScope.URL, out _)); } ); refreshLogs(linq); }
public void nullAtInit() { IHTTPFilter filter = new FilterPolicy(); try { filter.isWhitelistedHost("try.com"); } catch (Exception ex) { Assert.Fail(ex.ToString()); } }