Browse Source

Fix: reject whitelist

SukkaW 1 year ago
parent
commit
65d78b3915
2 changed files with 13 additions and 0 deletions
  1. 8 0
      Build/build-reject-domainset.ts
  2. 5 0
      Build/lib/rules/base.ts

+ 8 - 0
Build/build-reject-domainset.ts

@@ -129,6 +129,14 @@ export const buildRejectDomainSet = task(require.main === module, __filename)(as
     }
   });
 
+  // whitelist
+  span.traceChildSync('whitelist', () => {
+    for (const domain of filterRuleWhitelistDomainSets) {
+      rejectOutput.whitelistDomain(domain);
+      rejectExtraOutput.whitelistDomain(domain);
+    }
+  });
+
   await Promise.all([
     rejectOutput.done(),
     rejectExtraOutput.done()

+ 5 - 0
Build/lib/rules/base.ts

@@ -38,6 +38,11 @@ export abstract class RuleOutput {
 
   static jsonToLines = (json: unknown): string[] => stringify(json).split('\n');
 
+  whitelistDomain = (domain: string) => {
+    this.domainTrie.whitelist(domain);
+    return this;
+  };
+
   static domainWildCardToRegex = (domain: string) => {
     let result = '^';
     for (let i = 0, len = domain.length; i < len; i++) {