mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 09:10:35 +08:00
Update Global Hosts
This commit is contained in:
parent
f2d0031670
commit
1f2af79073
130
Build/constants/domains.ts
Normal file
130
Build/constants/domains.ts
Normal 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'
|
||||||
|
];
|
||||||
45
Build/validate-global-tld.ts
Normal file
45
Build/validate-global-tld.ts
Normal 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'));
|
||||||
|
})();
|
||||||
@ -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
|
||||||
|
|||||||
@ -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
|
# >> 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,gov
|
||||||
DOMAIN-SUFFIX,mil
|
DOMAIN-SUFFIX,mil
|
||||||
DOMAIN-SUFFIX,fm
|
DOMAIN-SUFFIX,moe
|
||||||
DOMAIN-SUFFIX,sk
|
DOMAIN-SUFFIX,rip
|
||||||
DOMAIN-SUFFIX,sb
|
DOMAIN-SUFFIX,xxx
|
||||||
DOMAIN-SUFFIX,dev
|
|
||||||
|
|
||||||
# >> ---------
|
# >> ---------
|
||||||
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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user