Build domestic conf

This commit is contained in:
SukkaW 2023-08-18 23:04:14 +08:00
parent a43e450716
commit 6b324f4079
5 changed files with 198 additions and 77 deletions

3
.gitignore vendored
View File

@ -11,8 +11,11 @@ List/domainset/reject_sukka.conf
List/domainset/apple_cdn.conf
List/domainset/speedtest.conf
List/non_ip/cdn.conf
List/non_ip/domestic.conf
List/non_ip/apple_cdn.conf
List/ip/telegram.conf
List/ip/reject.conf
List/ip/china_ip.conf
List/internal/
Modules/sukka_local_dns_mapping.sgmodule

View File

@ -0,0 +1,58 @@
// @ts-check
const path = require('path');
const { DOMESTICS } = require('../Source/non_ip/domestic');
const { readFileByLine } = require('./lib/fetch-remote-text-by-line');
const { processLine } = require('./lib/process-line');
const { withBannerArray } = require('./lib/with-banner');
const { compareAndWriteFile } = require('./lib/string-array-compare');
(async () => {
const rl = readFileByLine(path.resolve(__dirname, '../Source/non_ip/domestic.conf'));
const results = [];
for await (const l of rl) {
const line = processLine(l);
if (line) {
results.push(line);
}
}
results.push(
...Object.entries(DOMESTICS)
.filter(([key]) => key !== 'SYSTEM')
.flatMap(([, { domains }]) => domains)
.sort()
.map((domain) => `DOMAIN-SUFFIX,${domain}`)
);
await Promise.all([
compareAndWriteFile(
withBannerArray(
'Sukka\'s Surge Rules - Domestic Domain',
[
'License: AGPL 3.0',
'Homepage: https://ruleset.skk.moe',
'GitHub: https://github.com/SukkaW/Surge',
'',
'This file contains known addresses that are avaliable in the Mainland China.'
],
new Date(),
results
),
path.resolve(__dirname, '../List/non_ip/domestic.conf')
),
compareAndWriteFile(
[
'#!name=[Sukka] Local DNS Mapping',
`#!desc=Last Updated: ${new Date().toISOString()}`,
'',
'[Host]',
...Object.entries(DOMESTICS)
.flatMap(
([, { domains, dns }]) => domains.map((domain) => `${domain} = server:${dns}`)
),
''
],
path.resolve(__dirname, '../Modules/sukka_local_dns_mapping.sgmodule')
)
]);
})();

View File

@ -1,5 +1,3 @@
# --- Mainland China Available --
# >> 360
DOMAIN-SUFFIX,qhimg.com
DOMAIN-SUFFIX,qhres.com
@ -8,26 +6,6 @@ DOMAIN-SUFFIX,qhres.com
DOMAIN-SUFFIX,akadns.net
# >> Alibaba
DOMAIN-SUFFIX,alibaba.com
DOMAIN-SUFFIX,alicdn.com
DOMAIN-SUFFIX,aliyun.com
DOMAIN-SUFFIX,aliyuncs.com
DOMAIN-SUFFIX,alikunlun.com
DOMAIN-SUFFIX,alipay.com
DOMAIN-SUFFIX,amap.com
DOMAIN-SUFFIX,autonavi.com
DOMAIN-SUFFIX,dingtalk.com
DOMAIN-SUFFIX,mxhichina.com
DOMAIN-SUFFIX,soku.com
DOMAIN-SUFFIX,taobao.com
DOMAIN-SUFFIX,tmall.com
DOMAIN-SUFFIX,tmall.hk
DOMAIN-SUFFIX,xiami.com
DOMAIN-SUFFIX,xiami.net
DOMAIN-SUFFIX,ykimg.com
DOMAIN-SUFFIX,youku.com
DOMAIN-SUFFIX,elemecdn.com
USER-AGENT,%E4%BC%98%E9%85%B7*
# >> Apple
@ -35,37 +13,12 @@ DOMAIN-SUFFIX,icloud.com.cn
DOMAIN-SUFFIX,gspe19-cn-ssl.ls.apple.com
DOMAIN,gs-loc-cn.apple.com
# >> Baidu
DOMAIN-SUFFIX,baidu.com
DOMAIN-SUFFIX,baidubcr.com
DOMAIN-SUFFIX,bdstatic.com
DOMAIN-SUFFIX,yunjiasu-cdn.net
# >> bilibili
DOMAIN-SUFFIX,acg.tv
DOMAIN-SUFFIX,b23.tv
DOMAIN-SUFFIX,acgvideo.com
DOMAIN-SUFFIX,bilibili.cn
DOMAIN-SUFFIX,bilibili.com
DOMAIN-SUFFIX,bilibili.tv
DOMAIN-SUFFIX,bilivideo.com
DOMAIN-SUFFIX,bilivideo.cn
DOMAIN-SUFFIX,hdslb.com
# >> Blizzard
DOMAIN-SUFFIX,battle.net
DOMAIN-SUFFIX,blizzard.com
# DOMAIN,blzddist1-a.akamaihd.net
# >> ByteDance
DOMAIN-SUFFIX,bytecdn.cn
DOMAIN-SUFFIX,feiliao.com
DOMAIN-SUFFIX,iesdouyin.com
DOMAIN-SUFFIX,pstatp.com
DOMAIN-SUFFIX,snssdk.com
DOMAIN-SUFFIX,toutiao.com
# > CCTV
DOMAIN-SUFFIX,cctv.com
DOMAIN-SUFFIX,cctvpic.com
@ -125,14 +78,6 @@ DOMAIN-SUFFIX,meitu.com
DOMAIN-SUFFIX,meitudata.com
DOMAIN-SUFFIX,meitustat.com
# >> MI
DOMAIN-SUFFIX,duokan.com
DOMAIN-SUFFIX,mi-img.com
DOMAIN-SUFFIX,mifile.cn
DOMAIN-SUFFIX,miui.com
DOMAIN-SUFFIX,miwifi.com
DOMAIN-SUFFIX,xiaomi.com
# >> Microsoft
DOMAIN-KEYWORD,officecdn
@ -190,8 +135,6 @@ DOMAIN-SUFFIX,v-56.com
DOMAIN-SUFFIX,sogo.com
DOMAIN-SUFFIX,sogou.com
DOMAIN-SUFFIX,sogoucdn.com
DOMAIN,info.pinyin.sogou.com
DOMAIN,ping.pinyin.sogou.com
DOMAIN-SUFFIX,push.sogou.com
DOMAIN-SUFFIX,zhushou.sogou.com
@ -199,23 +142,6 @@ DOMAIN-SUFFIX,zhushou.sogou.com
DOMAIN-SUFFIX,jstarkan.com
# >> Tencent
DOMAIN-SUFFIX,dns.pub
DOMAIN-SUFFIX,doh.pub
DOMAIN-SUFFIX,qcloud.com
DOMAIN-SUFFIX,gtimg.com
DOMAIN-SUFFIX,idqqimg.com
DOMAIN-SUFFIX,igamecj.com
DOMAIN-SUFFIX,myapp.com
DOMAIN-SUFFIX,myqcloud.com
DOMAIN-SUFFIX,qpic.cn
DOMAIN-SUFFIX,qlogo.cn
DOMAIN-SUFFIX,qq.com
DOMAIN-SUFFIX,qq.com.cn
DOMAIN-SUFFIX,tencent-cloud.net
DOMAIN-SUFFIX,tencent.com
DOMAIN-SUFFIX,weixinbridge.com
USER-AGENT,MicroMessenger%20Client
USER-AGENT,WeChat*
PROCESS-NAME,WeChat
@ -372,5 +298,3 @@ DOMAIN-SUFFIX,zhuihd.com
DOMAIN-SUFFIX,gitee.com
DOMAIN-SUFFIX,2144.cn
DOMAIN-SUFFIX,chinaz.com
# --- End of Mainland China Available Section ---

127
Source/non_ip/domestic.js Normal file
View File

@ -0,0 +1,127 @@
// @ts-check
module.exports.DOMESTICS = /** @type {const} */({
ALIBABA: {
dns: 'https://223.5.5.5/dns-query',
domains: [
'uc.cn',
'alibaba.com',
'alicdn.com',
'aliyun.com',
'aliyuncs.com',
'alikunlun.com',
'alipay.com',
'cainiao.com',
'etao.com',
'1688.com',
'amap.com',
'autonavi.com',
'dingtalk.com',
'dingtalk.com',
'mxhichina.com',
'soku.com',
'taobao.com',
'tmall.com',
'tmall.hk',
'xiami.com',
'xiami.net',
'ykimg.com',
'youku.com',
'ele.me',
'elemecdn.com',
'taopiaopiao.com',
'fliggy.com',
'koubei.com',
'guoguo-app.com',
'mybank.cn'
]
},
TENCENT: {
dns: 'https://120.53.53.53/dns-query',
domains: [
'dns.pub',
'doh.pub',
'qcloud.com',
'gtimg.com',
'idqqimg.com',
'igamecj.com',
'myapp.com',
'myqcloud.com',
'qpic.cn',
'qlogo.cn',
'qq.com',
'qq.com.cn',
'tencent-cloud.net',
'tencent.com',
'weixinbridge.com',
'weixin.com'
]
},
BILIBILI: {
dns: 'https://120.53.53.53/dns-query',
domains: [
'acg.tv',
'b23.tv',
'acgvideo.com',
'bilibili.cn',
'bilibili.com',
'bilibili.tv',
'bilivideo.com',
'bilivideo.cn',
'hdslb.com'
]
},
XIAOMI: {
dns: 'https://120.53.53.53/dns-query',
domains: [
'mi.com',
'duokan.com',
'mi-img.com',
'mifile.cn',
'miui.com',
'miwifi.com',
'xiaomi.com'
]
},
BYTEDANCE: {
// Currently, bytedance all NS are pointed to AliDNS
dns: '180.184.2.2',
domains: [
'bytecdn.cn',
// 'bytescm.com',
// 'bytetcc.com',
// 'byteimg.com',
// 'bytednsdoc.com',
'toutiaoimg.com',
'feiliao.com',
'iesdouyin.com',
'pstatp.com',
'snssdk.com',
'toutiao.com',
'feishu.cn',
'douyin.com',
'douyinpic.com',
'douyinstatic.com'
]
},
BAIDU: {
dns: '180.76.76.76',
domains: [
'baidu.com',
'iqiyi.com',
'bdstatic.com',
'baidubcr.com',
'yunjiasu-cdn.net'
]
},
SYSTEM: {
dns: 'system',
domains: [
'routerlogin.net',
'_hotspot_.m2m',
'router.asus.com',
'hotspot.cslwifi.com',
'amplifi.lan',
'*.lan'
]
}
});

View File

@ -18,6 +18,7 @@
"build:internal-cdn-rules": "wireit",
"build:internal-reverse-chn-cidr": "wireit",
"build:internal-chn-domains": "wireit",
"build:domestic-ruleset": "wireit",
"validate:domainset": "wireit"
},
"wireit": {
@ -85,6 +86,12 @@
"build:internal-chn-domains": {
"command": "node ./Build/build-internal-chn-domains.js"
},
"build:domestic-ruleset": {
"command": "node ./Build/build-domestic-ruleset.js",
"dependencies": [
"download-previous-build"
]
},
"build:public": {
"command": "node ./Build/build-public.js",
"dependencies": [
@ -96,7 +103,8 @@
"build:internal-chn-domains",
"build:reject-domainset",
"build:telegram-cidr",
"build:speedtest-domainset"
"build:speedtest-domainset",
"build:domestic-ruleset"
]
},
"validate:domainset": {
@ -120,6 +128,7 @@
"build:internal-reverse-chn-cidr",
"build:internal-chn-domains",
"build:speedtest-domainset",
"build:domestic-ruleset",
"build:public",
"validate:domainset"
]