From f89bdf2b2a846f503c30f7bfdc021a80f112eb84 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Tue, 19 Dec 2023 18:23:59 +0800 Subject: [PATCH] Update Domestic Domains --- Build/validate-domestic.ts | 59 +++++++++++++++++++++++++++++++++++++ Source/non_ip/domestic.conf | 33 ++++++++++++++++++--- Source/non_ip/domestic.js | 4 ++- 3 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 Build/validate-domestic.ts diff --git a/Build/validate-domestic.ts b/Build/validate-domestic.ts new file mode 100644 index 00000000..f9015739 --- /dev/null +++ b/Build/validate-domestic.ts @@ -0,0 +1,59 @@ +import { fetchRemoteTextAndReadByLine, readFileByLine } from './lib/fetch-text-by-line'; +import { Readable } from 'stream'; +import { parse } from 'csv-parse'; +import { createTrie } from './lib/trie'; +import path from 'path'; +import { processLine } from './lib/process-line'; + +export const parseDomesticList = async () => { + const set = new Set(); + for await (const line of await fetchRemoteTextAndReadByLine('https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf')) { + if (line.startsWith('server=/') && line.endsWith('/114.114.114.114')) { + const domain = line.slice(8, -16); + set.add(domain); + } + } + + const trie = createTrie(set); + + const top5000 = new Set(); + + const res = await fetch('https://radar.cloudflare.com/charts/LargerTopDomainsTable/attachment?id=845&top=5000'); + const stream = Readable.fromWeb(res.body!).pipe(parse()); + for await (const [domain] of stream) { + if (trie.has(domain)) { + top5000.add(domain); + } + } + + const notIncludedDomestic = new Set(top5000); + + const runAgainstRuleset = async (ruleset: string) => { + for await (const l of readFileByLine(ruleset)) { + const line = processLine(l); + if (!line) continue; + const [type, domain] = line.split(','); + if (type === 'DOMAIN-SUFFIX') { + if (top5000.has(domain)) { + notIncludedDomestic.delete(domain); + } + } else if (type === 'DOMAIN-KEYWORD') { + for (const d of top5000) { + if (d.includes(domain)) { + notIncludedDomestic.delete(d); + } + } + } + } + }; + + await Promise.all([ + runAgainstRuleset(path.resolve(import.meta.dir, '../List/non_ip/domestic.conf')) + ]); + + console.log(notIncludedDomestic.size, notIncludedDomestic); +}; + +if (import.meta.main) { + parseDomesticList(); +} diff --git a/Source/non_ip/domestic.conf b/Source/non_ip/domestic.conf index 87004b2a..7b421b63 100644 --- a/Source/non_ip/domestic.conf +++ b/Source/non_ip/domestic.conf @@ -13,6 +13,7 @@ USER-AGENT,%E4%BC%98%E9%85%B7* USER-AGENT,%E6%89%8B%E6%9C%BA%E6%B7%98%E5%AE%9D* # >> Vivo +DOMAIN-SUFFIX,vivo.com DOMAIN-SUFFIX,vivo.com.cn # >> Oppo @@ -95,6 +96,7 @@ DOMAIN-SUFFIX,21cn.com DOMAIN-SUFFIX,10086.cn DOMAIN-SUFFIX,139.com DOMAIN-SUFFIX,chinamobile.com +DOMAIN-SUFFIX,cmpassport.com # Migu DOMAIN-SUFFIX,migucloud.com DOMAIN-SUFFIX,migu.cn @@ -149,6 +151,8 @@ DOMAIN-SUFFIX,jdcdn.com # > Kingsoft DOMAIN-SUFFIX,iciba.com DOMAIN-SUFFIX,ksosoft.com +DOMAIN-SUFFIX,wpscdn.com +DOMAIN-SUFFIX,ks-cdn.com # >> Meitu DOMAIN-SUFFIX,meipai.com @@ -169,6 +173,7 @@ DOMAIN-SUFFIX,166.net DOMAIN-SUFFIX,188.com DOMAIN-SUFFIX,lofter.com DOMAIN-SUFFIX,netease.com +DOMAIN-SUFFIX,netease.im DOMAIN-SUFFIX,yeah.net DOMAIN-SUFFIX,ydstatic.com DOMAIN-SUFFIX,netstatic.net @@ -228,7 +233,10 @@ DOMAIN-SUFFIX,douyuscdn.com DOMAIN-SUFFIX,douyutv.com # >> Kuaishou +DOMAIN-SUFFIX,kuaishou.com DOMAIN-SUFFIX,gifshow.com +DOMAIN-SUFFIX,yximgs.com +DOMAIN-SUFFIX,kuaishouzt.com # >> PDD DOMAIN-SUFFIX,pinduoduo.com @@ -297,6 +305,8 @@ DOMAIN-SUFFIX,edu.cn DOMAIN,cn.download.nvidia.com +DOMAIN-SUFFIX,nubia.cn + DOMAIN-SUFFIX,10086.cn DOMAIN-SUFFIX,12306.cn DOMAIN-SUFFIX,12306.com @@ -309,6 +319,7 @@ DOMAIN-SUFFIX,58.com DOMAIN-SUFFIX,aicoinstorge.com DOMAIN-SUFFIX,air-matters.com DOMAIN-SUFFIX,air-matters.io +DOMAIN-SUFFIX,appsimg.com DOMAIN-SUFFIX,autohome.com.cn DOMAIN-SUFFIX,bdatu.com DOMAIN-SUFFIX,cailianpress.com @@ -319,6 +330,7 @@ DOMAIN-SUFFIX,chaoxing.cc DOMAIN-SUFFIX,chaoxing.com DOMAIN-SUFFIX,chaoxingv.com DOMAIN-SUFFIX,chinaso.com +DOMAIN-SUFFIX,chinaz.com DOMAIN-SUFFIX,chuimg.com DOMAIN-SUFFIX,chunyu.mobi DOMAIN-SUFFIX,chushou.tv @@ -341,6 +353,8 @@ DOMAIN-SUFFIX,frdic.com DOMAIN-SUFFIX,futu5.com DOMAIN-SUFFIX,futunn.com DOMAIN-SUFFIX,geilicdn.com +DOMAIN-SUFFIX,geetest.com +DOMAIN-SUFFIX,gitee.com DOMAIN-SUFFIX,godic.net DOMAIN-SUFFIX,hongxiu.com DOMAIN-SUFFIX,huxiucdn.com @@ -351,14 +365,18 @@ DOMAIN-SUFFIX,ithome.com DOMAIN-SUFFIX,kaiyanapp.com DOMAIN-SUFFIX,keepcdn.com DOMAIN-SUFFIX,kkmh.com +DOMAIN-SUFFIX,kugou.com +DOMAIN-SUFFIX,leiniao.com DOMAIN-SUFFIX,linkedin.cn DOMAIN-SUFFIX,luojilab.com DOMAIN-SUFFIX,maoyan.com DOMAIN-SUFFIX,maoyun.tv +DOMAIN-SUFFIX,mihoyo.com DOMAIN-SUFFIX,mobike.com DOMAIN-SUFFIX,msstatic.com DOMAIN-SUFFIX,mubu.com DOMAIN-SUFFIX,myzaker.com +DOMAIN-SUFFIX,peiluyou.com DOMAIN-SUFFIX,pingan.com DOMAIN-SUFFIX,pplive.com DOMAIN-SUFFIX,pps.tv @@ -371,23 +389,30 @@ DOMAIN-SUFFIX,qyer.com DOMAIN-SUFFIX,qyerstatic.com DOMAIN-SUFFIX,ronghub.com DOMAIN-SUFFIX,ruguoapp.com +DOMAIN-SUFFIX,sandai.net DOMAIN-SUFFIX,s-reader.com DOMAIN-SUFFIX,smzdm.com +DOMAIN-SUFFIX,speedtest.cn DOMAIN-SUFFIX,sspai.com DOMAIN-SUFFIX,suning.com +DOMAIN-SUFFIX,szbdyd.com +DOMAIN-SUFFIX,tantanapp.com DOMAIN-SUFFIX,takungpao.com DOMAIN-SUFFIX,tianyancha.com DOMAIN-SUFFIX,vip.com DOMAIN-SUFFIX,weidian.com DOMAIN-SUFFIX,xiachufang.com +DOMAIN-SUFFIX,xiaohongshu.com +DOMAIN-SUFFIX,xhscdn.com DOMAIN-SUFFIX,ximalaya.com DOMAIN-SUFFIX,xinhuanet.com DOMAIN-SUFFIX,xmcdn.com +DOMAIN-SUFFIX,xunlei.com +DOMAIN-SUFFIX,xycdn.com DOMAIN-SUFFIX,yinxiang.com +DOMAIN-SUFFIX,yuanshen.com DOMAIN-SUFFIX,yuewen.com +DOMAIN-SUFFIX,yy.com DOMAIN-SUFFIX,zdmimg.com DOMAIN-SUFFIX,zhangzs.com -DOMAIN-SUFFIX,gitee.com -DOMAIN-SUFFIX,chinaz.com -DOMAIN-SUFFIX,speedtest.cn -DOMAIN-SUFFIX,nubia.cn +DOMAIN-SUFFIX,zuimeitianqi.com diff --git a/Source/non_ip/domestic.js b/Source/non_ip/domestic.js index 616b3a7d..0d57b5d0 100644 --- a/Source/non_ip/domestic.js +++ b/Source/non_ip/domestic.js @@ -198,7 +198,9 @@ module.exports.DOMESTICS = /** @type {const} */({ 'baidubcr.com', 'yunjiasu-cdn.net', 'tieba.com', - 'xiaodutv.com' + 'xiaodutv.com', + 'shifen.com', + 'jomodns.com' ] }, QIHOO360: {