ソースを参照

Update Global Hosts

SukkaW 1 年間 前
コミット
1f2af79073

+ 130 - 0
Build/constants/domains.ts

@@ -0,0 +1,130 @@
+export const ICP_TLD = [
+  'ren',
+  'wang',
+  'citic',
+  'top',
+  'sohu',
+  'xin',
+  'com',
+  'net',
+  'club',
+  'xyz',
+  'site',
+  'shop',
+  'info',
+  'mobi',
+  'red',
+  'pro',
+  'kim',
+  'ltd',
+  'group',
+  'biz',
+  'link',
+  'store',
+  'tech',
+  'fun',
+  'online',
+  'art',
+  'design',
+  'love',
+  'center',
+  'video',
+  'social',
+  'team',
+  'show',
+  'cool',
+  'zone',
+  'world',
+  'today',
+  'city',
+  'chat',
+  'company',
+  'live',
+  'fund',
+  'gold',
+  'plus',
+  'guru',
+  'run',
+  'pub',
+  'email',
+  'life',
+  'co',
+  'baidu',
+  'cloud',
+  'host',
+  'space',
+  'press',
+  'website',
+  'archi',
+  'asia',
+  'bio',
+  'black',
+  'blue',
+  'green',
+  'lotto',
+  'organic',
+  'pet',
+  'pink',
+  'poker',
+  'promo',
+  'ski',
+  'vote',
+  'voto',
+  'icu',
+  'fans',
+  'unicom',
+  'jpmorgan',
+  'chase',
+  'cc',
+  'band',
+  'cab',
+  'cafe',
+  'cash',
+  'fan',
+  'fyi',
+  'games',
+  'market',
+  'mba',
+  'news',
+  'media',
+  'sale',
+  'shopping',
+  'studio',
+  'tax',
+  'technology',
+  'vin',
+  'baby',
+  'college',
+  'monster',
+  'protection',
+  'rent',
+  'security',
+  'storage',
+  'theatre',
+  'bond',
+  'cyou',
+  'uno',
+  'school',
+  'global',
+  'me',
+  'pw',
+  'hk',
+  'tv',
+  'saxo',
+  'click',
+  'auto',
+  'autos',
+  'beauty',
+  'boats',
+  'car',
+  'cars',
+  'hair',
+  'homes',
+  'makeup',
+  'motorcycles',
+  'quest',
+  'skin',
+  'tickets',
+  'yachts',
+  'kids'
+];

+ 45 - 0
Build/validate-global-tld.ts

@@ -0,0 +1,45 @@
+import path from 'node:path';
+import { readFileByLine } from './lib/fetch-text-by-line';
+import { HostnameSmolTrie } from './lib/trie';
+import { OUTPUT_SURGE_DIR, SOURCE_DIR } from './constants/dir';
+import { ICP_TLD } from './constants/domains';
+import tldts from 'tldts';
+import { looseTldtsOpt } from './constants/loose-tldts-opt';
+
+(async () => {
+  const trie = new HostnameSmolTrie();
+  const extraWhiteTLDs = new Set<string>();
+
+  for await (const line of readFileByLine(path.join(OUTPUT_SURGE_DIR, 'non_ip', 'domestic.conf'))) {
+    const [type, domain] = line.split(',');
+    if (type !== 'DOMAIN' && type !== 'DOMAIN-SUFFIX') {
+      continue;
+    }
+    if (domain === 'this_ruleset_is_made_by_sukkaw.ruleset.skk.moe') {
+      continue;
+    }
+    const tld = tldts.getPublicSuffix(domain, looseTldtsOpt);
+    if (tld) {
+      extraWhiteTLDs.add(tld);
+    }
+  }
+
+  for await (const line of readFileByLine(path.join(SOURCE_DIR, 'non_ip', 'global.conf'))) {
+    const [type, domain] = line.split(',');
+    switch (type) {
+      case 'DOMAIN':
+        trie.add(domain);
+        break;
+      case 'DOMAIN-SUFFIX':
+        trie.add(domain, true);
+        break;
+      default:
+        break;
+    }
+  }
+
+  ICP_TLD.forEach(tld => trie.whitelist(tld, true));
+  extraWhiteTLDs.forEach(tld => trie.whitelist(tld, true));
+
+  console.log(trie.dump().join('\n'));
+})();

+ 0 - 1
Source/non_ip/domestic.conf

@@ -529,7 +529,6 @@ DOMAIN-SUFFIX,jiguang.cn
 DOMAIN-SUFFIX,jb51.net
 DOMAIN-SUFFIX,jb51.net
 DOMAIN-SUFFIX,jpush.cn
 DOMAIN-SUFFIX,jpush.cn
 DOMAIN-SUFFIX,juejin.cn
 DOMAIN-SUFFIX,juejin.cn
-DOMAIN-SUFFIX,juejin.im
 DOMAIN-SUFFIX,kaiyanapp.com
 DOMAIN-SUFFIX,kaiyanapp.com
 DOMAIN-SUFFIX,kdslife.net
 DOMAIN-SUFFIX,kdslife.net
 DOMAIN-SUFFIX,keepcdn.com
 DOMAIN-SUFFIX,keepcdn.com

+ 50 - 4
Source/non_ip/global.conf

@@ -397,13 +397,58 @@ DOMAIN-SUFFIX,fly.dev
 DOMAIN-SUFFIX,shw.io
 DOMAIN-SUFFIX,shw.io
 DOMAIN-SUFFIX,edgeapp.net
 DOMAIN-SUFFIX,edgeapp.net
 
 
-# >> TLD
-DOMAIN-SUFFIX,gov
-DOMAIN-SUFFIX,mil
+# >> ccTLD
+DOMAIN-SUFFIX,ai
+DOMAIN-SUFFIX,au
+DOMAIN-SUFFIX,be
+DOMAIN-SUFFIX,ca
+DOMAIN-SUFFIX,ee
+DOMAIN-SUFFIX,eu
 DOMAIN-SUFFIX,fm
 DOMAIN-SUFFIX,fm
-DOMAIN-SUFFIX,sk
+DOMAIN-SUFFIX,fo
+DOMAIN-SUFFIX,gl
+DOMAIN-SUFFIX,in
+DOMAIN-SUFFIX,io
+DOMAIN-SUFFIX,is
+DOMAIN-SUFFIX,it
+DOMAIN-SUFFIX,jp
+DOMAIN-SUFFIX,la
+DOMAIN-SUFFIX,ly
+DOMAIN-SUFFIX,mn
+DOMAIN-SUFFIX,ms
+DOMAIN-SUFFIX,nz
+DOMAIN-SUFFIX,pe
+DOMAIN-SUFFIX,ph
+DOMAIN-SUFFIX,rs
+DOMAIN-SUFFIX,ru
 DOMAIN-SUFFIX,sb
 DOMAIN-SUFFIX,sb
+DOMAIN-SUFFIX,se
+DOMAIN-SUFFIX,sg
+DOMAIN-SUFFIX,sh
+DOMAIN-SUFFIX,si
+DOMAIN-SUFFIX,sk
+DOMAIN-SUFFIX,so
+DOMAIN-SUFFIX,st
+DOMAIN-SUFFIX,su
+DOMAIN-SUFFIX,sx
+DOMAIN-SUFFIX,to
+DOMAIN-SUFFIX,tw
+DOMAIN-SUFFIX,uk
+DOMAIN-SUFFIX,us
+DOMAIN-SUFFIX,ws
+
+# >> gTLD
+DOMAIN-SUFFIX,app
+DOMAIN-SUFFIX,blog
 DOMAIN-SUFFIX,dev
 DOMAIN-SUFFIX,dev
+DOMAIN-SUFFIX,gle
+DOMAIN-SUFFIX,goog
+DOMAIN-SUFFIX,google
+DOMAIN-SUFFIX,gov
+DOMAIN-SUFFIX,mil
+DOMAIN-SUFFIX,moe
+DOMAIN-SUFFIX,rip
+DOMAIN-SUFFIX,xxx
 
 
 # >> ---------
 # >> ---------
 DOMAIN-SUFFIX,18comic.vip
 DOMAIN-SUFFIX,18comic.vip
@@ -471,6 +516,7 @@ DOMAIN-SUFFIX,bsky.network
 DOMAIN-SUFFIX,businessinsider.com
 DOMAIN-SUFFIX,businessinsider.com
 DOMAIN-SUFFIX,buyee.jp
 DOMAIN-SUFFIX,buyee.jp
 DOMAIN-SUFFIX,bwh1.net
 DOMAIN-SUFFIX,bwh1.net
+DOMAIN-SUFFIX,c.mi.com
 DOMAIN-SUFFIX,cachefly.net
 DOMAIN-SUFFIX,cachefly.net
 DOMAIN-SUFFIX,cal.com
 DOMAIN-SUFFIX,cal.com
 DOMAIN-SUFFIX,castbox.fm
 DOMAIN-SUFFIX,castbox.fm