Browse Source

Update AdGuard Reject Building

SukkaW 9 months ago
parent
commit
66252a09ac

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

@@ -25,9 +25,6 @@ import type { MaybePromise } from './lib/misc';
 const readLocalRejectDomainsetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'domainset/reject.conf'));
 const readLocalRejectExtraDomainsetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'domainset/reject_extra.conf'));
 const readLocalRejectRulesetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/reject.conf'));
-const readLocalRejectDropRulesetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/reject-drop.conf'));
-const readLocalRejectNoDropRulesetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/reject-no-drop.conf'));
-const readLocalMyRejectRulesetPromise = readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/my_reject.conf'));
 
 const hostsDownloads = HOSTS.map(entry => processHostsWithPreload(...entry));
 const hostsExtraDownloads = HOSTS_EXTRA.map(entry => processHostsWithPreload(...entry));
@@ -170,7 +167,7 @@ export const buildRejectDomainSet = task(require.main === module, __filename)(as
   // we are going to re-use rejectOutput's domainTrie and mutate it
   // so we must wait until we write rejectOutput to disk after we can mutate its trie
   const rejectOutputAdGuardHome = new AdGuardHomeOutput(span, 'reject-adguardhome', OUTPUT_INTERNAL_DIR)
-    .withTitle('Sukka\'s Ruleset - Blocklist for AdGuardHome')
+    .withTitle('Sukka\'s Ruleset - AdGuardHome Blocklist')
     .withDescription([
       'The AdGuardHome ruleset supports AD blocking, tracking protection, privacy protection, anti-mining'
     ]);
@@ -178,11 +175,18 @@ export const buildRejectDomainSet = task(require.main === module, __filename)(as
   rejectOutputAdGuardHome.domainTrie = rejectOutput.domainTrie;
 
   await rejectOutputAdGuardHome
-    .addFromRuleset(readLocalMyRejectRulesetPromise)
+    // .addFromRuleset(readLocalMyRejectRulesetPromise)
     .addFromRuleset(readLocalRejectRulesetPromise)
-    .addFromRuleset(readLocalRejectDropRulesetPromise)
-    .addFromRuleset(readLocalRejectNoDropRulesetPromise)
+    .addFromRuleset(readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/reject-drop.conf')))
+    .addFromRuleset(readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/reject-no-drop.conf')))
     .addFromDomainset(readLocalRejectExtraDomainsetPromise)
-    // .
+    .write();
+
+  const myRejectOutputAdGuardHome = new AdGuardHomeOutput(span, 'my-reject-adguardhome', OUTPUT_INTERNAL_DIR)
+    .withTitle('Sukka\'s Ruleset - AdGuardHome Blocklist for Myself (Sukka)')
+    .withDescription([]);
+
+  await myRejectOutputAdGuardHome
+    .addFromRuleset(readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/my_reject.conf')))
     .write();
 });

+ 2 - 2
Build/lib/parse-filter/filters.ts

@@ -118,7 +118,7 @@ export function processFilterRulesWithPreload(
 const kwfilter = createKeywordFilter([
   '!',
   '?',
-  '*',
+  // '*', // *://example.com/*
   '[',
   '(',
   ']',
@@ -127,7 +127,7 @@ const kwfilter = createKeywordFilter([
   '#',
   '%',
   '&',
-  '=',
+  // '=', // maybe we want to support some modifier?
   '~',
   // special modifier
   '$popup',

+ 3 - 35
Source/non_ip/my_reject.conf

@@ -11,41 +11,6 @@ PROCESS-NAME,LemonService
 # >> Windows Update Delivery Optimization (WUDO) use 7680 port
 DEST-PORT,7680
 
-# >> P2P CDN
-DOMAIN-SUFFIX,p2p.qq.com
-DOMAIN-SUFFIX,kuiniuca.com
-DOMAIN-SUFFIX,onethingpcs.com
-DOMAIN-SUFFIX,p2p.huya.com
-DOMAIN-WILDCARD,p2p-*.douyucdn.cn
-DOMAIN-WILDCARD,p2pchunk-*.douyucdn.cn
-DOMAIN-WILDCARD,dyp2p-*.douyucdn.cn
-DOMAIN-SUFFIX,p2perrorlog.douyucdn.cn
-DOMAIN-WILDCARD,p2plive-*.douyucdn.cn
-DOMAIN-WILDCARD,p2p*-ws.douyucdn.cn
-DOMAIN-SUFFIX,p2plog.douyucdn.cn
-DOMAIN-SUFFIX,p2ptun.qq.com
-DOMAIN-SUFFIX,p2pupdate.gamedl.qq.com
-DOMAIN-SUFFIX,p2pupgrade.gamedl.qq.com
-DOMAIN-SUFFIX,pcdn.yximgs.com
-DOMAIN-SUFFIX,pkoplink.com
-DOMAIN-SUFFIX,saxysec.com
-DOMAIN-SUFFIX,uhabo.com
-# Xycdn
-DOMAIN-SUFFIX,xycdn.com
-DOMAIN-SUFFIX,p2cdn.com
-# YunFan
-DOMAIN-SUFFIX,yfp2p.net
-DOMAIN-SUFFIX,yfcdn.net
-DOMAIN-SUFFIX,cdnnodedns.cn
-DOMAIN-SUFFIX,yfcloud.com
-# PPIO Cloud
-DOMAIN-SUFFIX,ppio.cloud
-# Jiedian Zhijia
-DOMAIN-SUFFIX,szbdyd.com
-DOMAIN-SUFFIX,tianwenca.com
-# Bilibili
-DOMAIN-SUFFIX,bilivideo.cn
-
 # >> Misc
 
 DOMAIN-KEYWORD,bahoom
@@ -61,6 +26,9 @@ DOMAIN-SUFFIX,cool3c.com
 
 DOMAIN-SUFFIX,0.0.198.in-addr.arpa
 
+# Google Timeline / Location
+DOMAIN,userlocation.googleapis.com
+
 # 网易云音乐 Look 直播
 DOMAIN-SUFFIX,look.163.com
 # 网易云音乐 V2 更新提示

+ 37 - 5
Source/non_ip/reject-no-drop.conf

@@ -1,10 +1,42 @@
 # $ meta_title Sukka's Ruleset - Reject No Drop
 # $ meta_description This file This file contains rules for domain should be used with REJECT-NO-DROP policy.
 
-# Block YouTube QUIC
-AND,((PROTOCOL,UDP), (DOMAIN-SUFFIX,googlevideo.com))
-# Block Bilibili/Douyu P2P CDN
-DOMAIN-SUFFIX,mcdn.bilivideo.cn
-DOMAIN-SUFFIX,szbdyd.com
+# Block YouTube QUIC -- Surge built-in QUIC blocking
+
+# >> P2P CDN
+DOMAIN-SUFFIX,p2p.qq.com
+DOMAIN-SUFFIX,kuiniuca.com
+DOMAIN-SUFFIX,onethingpcs.com
 DOMAIN-SUFFIX,p2p.huya.com
+DOMAIN-WILDCARD,p2p-*.douyucdn.cn
+DOMAIN-WILDCARD,p2pchunk-*.douyucdn.cn
+DOMAIN-WILDCARD,dyp2p-*.douyucdn.cn
+DOMAIN-SUFFIX,p2perrorlog.douyucdn.cn
+DOMAIN-WILDCARD,p2plive-*.douyucdn.cn
+DOMAIN-WILDCARD,p2p*-ws.douyucdn.cn
+DOMAIN-SUFFIX,p2plog.douyucdn.cn
+DOMAIN-SUFFIX,p2ptun.qq.com
+DOMAIN-SUFFIX,p2pupdate.gamedl.qq.com
+DOMAIN-SUFFIX,p2pupgrade.gamedl.qq.com
+DOMAIN-SUFFIX,pcdn.yximgs.com
+DOMAIN-SUFFIX,pkoplink.com
+DOMAIN-SUFFIX,saxysec.com
+DOMAIN-SUFFIX,uhabo.com
+
 AND,((DOMAIN-KEYWORD,stun), (DOMAIN-KEYWORD,douyu))
+AND,((PROTOCOL,UDP), (DOMAIN-SUFFIX,googlevideo.com))
+# Xycdn
+DOMAIN-SUFFIX,xycdn.com
+DOMAIN-SUFFIX,p2cdn.com
+# YunFan
+DOMAIN-SUFFIX,yfp2p.net
+DOMAIN-SUFFIX,yfcdn.net
+DOMAIN-SUFFIX,cdnnodedns.cn
+DOMAIN-SUFFIX,yfcloud.com
+# PPIO Cloud
+DOMAIN-SUFFIX,ppio.cloud
+# Jiedian Zhijia
+DOMAIN-SUFFIX,szbdyd.com
+DOMAIN-SUFFIX,tianwenca.com
+# Bilibili
+DOMAIN-SUFFIX,mcdn.bilivideo.cn