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 = { 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', // TailScale Magic DNS '+ts.net', // 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' ] } };