浏览代码

Fix: reject whitelist

SukkaW 1 年之前
父节点
当前提交
65d78b3915
共有 2 个文件被更改,包括 13 次插入0 次删除
  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++) {