2024-10-20 00:38:19 +08:00

138 lines
2.9 KiB
TypeScript

export interface DNSMapping {
hosts: {
[domain: string]: string[]
},
/** which also disallows wildcard */
realip: boolean,
dns: string,
/**
* domain[0]
*
* + subdomain only
* $ domain only exact match
* [none] domain and subdomain
*/
domains: string[]
}
export const DIRECTS: Record<string, DNSMapping> = {
HOTSPOT_CAPTIVE_PORTAL: {
dns: 'system',
hosts: {},
realip: false,
domains: [
'securelogin.com.cn',
'$captive.apple.com',
'$hotspot.cslwifi.com'
]
},
ROUTER: {
dns: 'system',
hosts: {},
realip: false,
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',
// ASUS router
'$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',
'tplinkmodem.net',
'tplinkplclogin.net',
'tplinkrepeater.net',
// UniFi
'+ui.direct',
'$unifi',
// Other Router
// '$router.com',
'+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: {},
realip: true,
domains: [
'+m2m',
// '+ts.net', // TailScale Magic DNS
// AdGuard
'$injections.adguard.org',
'$local.adguard.org',
// Auto Discovery
'+_tcp',
'+bogon',
'+_msdcs'
]
},
LAN: {
dns: 'system',
hosts: {
localhost: ['127.0.0.1']
},
realip: true,
domains: [
'+lan',
// 'amplifi.lan',
// '$localhost',
'+localdomain',
'home.arpa',
// AS112
'10.in-addr.arpa',
'16.172.in-addr.arpa',
'17.172.in-addr.arpa',
'18.172.in-addr.arpa',
'19.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',
'254.169.in-addr.arpa'
]
}
};