Reduce Local DNS Mapping items by 120

This commit is contained in:
SukkaW
2024-10-11 17:32:59 +08:00
parent 0285de500b
commit da5350be98
3 changed files with 82 additions and 93 deletions

View File

@@ -12,28 +12,36 @@ import { appendArrayInPlace } from './lib/append-array-in-place';
import { OUTPUT_INTERNAL_DIR, OUTPUT_MODULES_DIR, SOURCE_DIR } from './constants/dir';
import { RulesetOutput } from './lib/create-file';
function getRule(domain: string) {
switch (domain[0]) {
case '+':
case '$':
return `DOMAIN-SUFFIX,${domain.slice(1)}`;
default:
return `DOMAIN-SUFFIX,${domain}`;
function getRule(domain: string): string[] {
const results: string[] = [];
if (domain[0] === '$' || domain[0] === '+') {
results.push(`DOMAIN-SUFFIX,${domain.slice(1)}`);
} else if (domain.includes('?')) {
results.push(
`DOMAIN-WILDCARD,${domain}`,
`DOMAIN-WILDCARD,*.${domain}`
);
} else {
results.push(`DOMAIN-SUFFIX,${domain}`);
}
return results;
}
export const getDomesticAndDirectDomainsRulesetPromise = createMemoizedPromise(async () => {
const domestics = await readFileIntoProcessedArray(path.join(SOURCE_DIR, 'non_ip/domestic.conf'));
const directs = await readFileIntoProcessedArray(path.resolve(SOURCE_DIR, 'non_ip/direct.conf'));
const lans: string[] = [];
Object.entries(DOMESTICS).forEach(([, { domains }]) => {
appendArrayInPlace(domestics, domains.map(getRule));
appendArrayInPlace(domestics, domains.flatMap(getRule));
});
Object.entries(DIRECTS).forEach(([, { domains }]) => {
appendArrayInPlace(directs, domains.map(getRule));
appendArrayInPlace(directs, domains.flatMap(getRule));
});
Object.entries(LANS).forEach(([, { domains }]) => {
appendArrayInPlace(lans, domains.map(getRule));
appendArrayInPlace(lans, domains.flatMap(getRule));
});
return [domestics, directs, lans] as const;

View File

@@ -19,91 +19,75 @@ export const DIRECTS = {
hosts: {},
domains: [
'securelogin.com.cn',
'captive.apple.com'
'$captive.apple.com',
'$hotspot.cslwifi.com'
]
},
ROUTER: {
dns: 'system',
hosts: {},
domains: [
'+home',
// 'zte.home', // ZTE CPE
// 'airbox.home',
// 'bthub.home',
// 'bthomehub.home',
// 'hitronhub.home',
// 'web.setup.home'
// Aruba Router
'instant.arubanetworks.com',
'setmeup.arubanetworks.com',
'$instant.arubanetworks.com',
'$setmeup.arubanetworks.com',
// ASUS router
'router.asus.com',
'repeater.asus.com',
'$router.asus.com',
'$repeater.asus.com',
'asusrouter.com',
// NetGear
'routerlogin.net',
'routerlogin.com',
// Tenda WiFi
'tendawifi.com',
// TP-Link Router
'tplinkwifi.net',
'tplogin.cn',
'tplinkap.net',
'tplinkeap.net',
'tplinkmodem.net',
'tplinkplclogin.net',
'tplinkrepeater.net',
// Xiaomi Router
'miwifi.com',
// ZTE CPE
'zte.home',
// UniFi
'+ui.direct',
'$unifi',
'amplifi.lan',
// Other Router
'hiwifi.com',
'huaweimobilewifi.com',
'my.router',
'phicomm.me',
'router.ctc',
'peiluyou.com',
'airbox.home',
'arcor.easybox',
'aterm.me',
'bthub.home',
'bthomehub.home',
'congstar.box',
'connect.box',
'console.gl-inet.com',
'easy.box',
'etxr',
'fritz.box',
'fritz.nas',
'fritz.repeater',
'giga.cube',
'hi.link',
'hitronhub.home',
'homerouter.cpe',
'myfritz.box',
'mobile.hotspot',
'ntt.setup',
'pi.hole',
'plex.direct',
'app.plex.tv',
'routerlogin.com',
'samsung.router',
'speedport.ip',
'steamloopback.host',
'web.setup',
'web.setup.home'
'+huaweimobilewifi.com',
'+router',
// 'my.router',
// 'samsung.router',
// '$easy.box', // Vodafone EasyBox
'$aterm.me',
'$console.gl-inet.com',
// '$fritz.box',
// '$fritz.repeater',
// '$myfritz.box',
// '$speedport.ip', // Telekom
// '$giga.cube', // Vodafone GigaCube
'$homerouter.cpe', // Huawei LTE CPE
'$mobile.hotspot', // T-Mobile Hotspot
'$ntt.setup',
'$pi.hole',
'+plex.direct'
// 'web.setup'
]
},
SYSTEM: {
dns: 'system',
hosts: {},
domains: [
'_hotspot_.m2m',
'hotspot.cslwifi.com',
'+m2m',
// TailScale Magic DNS
'ts.net',
'+ts.net',
// AdGuard
'$injections.adguard.org',
'$local.adguard.org',
// SetApp
'setapp.click',
// Android ADB
'_adb-tls-connect._tcp'
]
@@ -115,7 +99,8 @@ export const LANS = {
dns: 'system',
hosts: {},
domains: [
'lan',
'+lan',
// 'amplifi.lan',
'$localhost',
'localdomain',
'home.arpa',
@@ -125,16 +110,17 @@ export const LANS = {
'17.172.in-addr.arpa',
'18.172.in-addr.arpa',
'19.172.in-addr.arpa',
'20.172.in-addr.arpa',
'21.172.in-addr.arpa',
'22.172.in-addr.arpa',
'23.172.in-addr.arpa',
'24.172.in-addr.arpa',
'25.172.in-addr.arpa',
'26.172.in-addr.arpa',
'27.172.in-addr.arpa',
'28.172.in-addr.arpa',
'29.172.in-addr.arpa',
'2?.172.in-addr.arpa',
// '20.172.in-addr.arpa',
// '21.172.in-addr.arpa',
// '22.172.in-addr.arpa',
// '23.172.in-addr.arpa',
// '24.172.in-addr.arpa',
// '25.172.in-addr.arpa',
// '26.172.in-addr.arpa',
// '27.172.in-addr.arpa',
// '28.172.in-addr.arpa',
// '29.172.in-addr.arpa',
'30.172.in-addr.arpa',
'31.172.in-addr.arpa',
'168.192.in-addr.arpa',

View File

@@ -8,7 +8,7 @@ export const DOMESTICS = {
dns: 'quic://dns.alidns.com:853',
domains: [
'uc.cn',
'ucweb.com',
// 'ucweb.com', // UC International
'alibaba.com',
'+alicdn.com',
'+ialicdn.com',
@@ -26,7 +26,7 @@ export const DOMESTICS = {
'+alipayobjects.com',
'alibaba-inc.com',
'+alibabausercontent.com',
'alibabadns.com',
'+alibabadns.com',
'alicloudccp.com',
'alipan.com',
'aliyundrive.com',
@@ -36,8 +36,8 @@ export const DOMESTICS = {
'cainiaoyizhan.com',
'guoguo-app.com',
'etao.com',
'yitao.com',
'1688.com',
'16888.com',
'amap.com',
'gaode.com',
'autonavi.com',
@@ -49,7 +49,7 @@ export const DOMESTICS = {
'+taobaocdn.com',
'+tbcache.com',
'tmall.com',
'tmall.hk',
// 'tmall.hk',
'xiami.com',
'xiami.net',
'+ykimg.com',
@@ -107,7 +107,7 @@ export const DOMESTICS = {
'+qlogo.cn',
'qq.com',
'qq.com.cn',
'qq.wang',
// 'qq.wang',
'qqmail.cn',
'qqmail.com',
'qzone.com',
@@ -132,7 +132,6 @@ export const DOMESTICS = {
'+tencentcs.cn',
'+qcloudimg.com',
'dnspod.cn',
'yitao.com',
'anticheatexpert.com',
'$url.cn',
'+qlivecdn.com',
@@ -193,7 +192,7 @@ export const DOMESTICS = {
'duokan.com',
'+mi-img.com',
'mi-fds.com',
'mifile.cn',
'+mifile.cn',
'miui.com',
'xiaomi.com',
'xiaomi.cn',
@@ -269,7 +268,7 @@ export const DOMESTICS = {
'+yunjiasu-cdn.net',
'tieba.com',
'xiaodutv.com',
'shifen.com',
'+shifen.com',
'+jomodns.com',
'+bdydns.com',
'+jomoxc.com',
@@ -289,21 +288,17 @@ export const DOMESTICS = {
dns: 'https://dns.360.net/dns-query',
domains: [
'+qhimg.com',
'+qhimgs0.com',
'+qhimgs1.com',
'+qhimgs2.com',
'+qhimgs3.com',
'+qhimgs4.com',
'+qhimgs5.com',
'+qhimgs6.com',
'+qhimgs.com',
'+qhimgs?.com',
// '+qhimgs0.com',
// '+qhimgs1.com',
// '+qhimgs2.com',
// '+qhimgs3.com',
// '+qhimgs4.com',
// '+qhimgs5.com',
// '+qhimgs6.com',
'+qhres.com',
'+qhres0.com',
'+qhres1.com',
'+qhres2.com',
'+qhres3.com',
'+qhres4.com',
'+qhres5.com',
'+qhres6.com',
'+qhmsg.com',
'+qhstatic.com',
'+qhupdate.com',