Update Global Hosts

This commit is contained in:
SukkaW 2024-11-23 00:43:29 +08:00
parent f2d0031670
commit 1f2af79073
4 changed files with 226 additions and 6 deletions

130
Build/constants/domains.ts Normal file
View File

@ -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'
];

View File

@ -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'));
})();

View File

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

View File

@ -397,13 +397,58 @@ DOMAIN-SUFFIX,fly.dev
DOMAIN-SUFFIX,shw.io
DOMAIN-SUFFIX,edgeapp.net
# >> TLD
# >> ccTLD
DOMAIN-SUFFIX,ai
DOMAIN-SUFFIX,au
DOMAIN-SUFFIX,be
DOMAIN-SUFFIX,ca
DOMAIN-SUFFIX,ee
DOMAIN-SUFFIX,eu
DOMAIN-SUFFIX,fm
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,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,gle
DOMAIN-SUFFIX,goog
DOMAIN-SUFFIX,google
DOMAIN-SUFFIX,gov
DOMAIN-SUFFIX,mil
DOMAIN-SUFFIX,fm
DOMAIN-SUFFIX,sk
DOMAIN-SUFFIX,sb
DOMAIN-SUFFIX,dev
DOMAIN-SUFFIX,moe
DOMAIN-SUFFIX,rip
DOMAIN-SUFFIX,xxx
# >> ---------
DOMAIN-SUFFIX,18comic.vip
@ -471,6 +516,7 @@ DOMAIN-SUFFIX,bsky.network
DOMAIN-SUFFIX,businessinsider.com
DOMAIN-SUFFIX,buyee.jp
DOMAIN-SUFFIX,bwh1.net
DOMAIN-SUFFIX,c.mi.com
DOMAIN-SUFFIX,cachefly.net
DOMAIN-SUFFIX,cal.com
DOMAIN-SUFFIX,castbox.fm