direct.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. export interface DNSMapping {
  2. hosts: {
  3. [domain: string]: string[]
  4. },
  5. dns: string,
  6. /**
  7. * domain[0]
  8. *
  9. * + subdomain only
  10. * $ domain only exact match
  11. * [none] domain and subdomain
  12. */
  13. domains: string[]
  14. }
  15. export const DIRECTS = {
  16. HOTSPOT_CAPTIVE_PORTAL: {
  17. dns: 'system',
  18. hosts: {},
  19. domains: [
  20. 'securelogin.com.cn',
  21. '$captive.apple.com',
  22. '$hotspot.cslwifi.com'
  23. ]
  24. },
  25. ROUTER: {
  26. dns: 'system',
  27. hosts: {},
  28. domains: [
  29. '+home',
  30. // 'zte.home', // ZTE CPE
  31. // 'airbox.home',
  32. // 'bthub.home',
  33. // 'bthomehub.home',
  34. // 'hitronhub.home',
  35. // 'web.setup.home'
  36. // Aruba Router
  37. '$instant.arubanetworks.com',
  38. '$setmeup.arubanetworks.com',
  39. // ASUS router
  40. '$router.asus.com',
  41. '$repeater.asus.com',
  42. 'asusrouter.com',
  43. // NetGear
  44. 'routerlogin.net',
  45. 'routerlogin.com',
  46. // Tenda WiFi
  47. 'tendawifi.com',
  48. // TP-Link Router
  49. 'tplinkwifi.net',
  50. 'tplogin.cn',
  51. 'tplinkap.net',
  52. 'tplinkmodem.net',
  53. 'tplinkplclogin.net',
  54. 'tplinkrepeater.net',
  55. // UniFi
  56. '+ui.direct',
  57. '$unifi',
  58. // Other Router
  59. '$router.com',
  60. '+huaweimobilewifi.com',
  61. '+router',
  62. // 'my.router',
  63. // 'samsung.router',
  64. // '$easy.box', // Vodafone EasyBox
  65. '$aterm.me',
  66. '$console.gl-inet.com',
  67. // '$fritz.box',
  68. // '$fritz.repeater',
  69. // '$myfritz.box',
  70. // '$speedport.ip', // Telekom
  71. // '$giga.cube', // Vodafone GigaCube
  72. '$homerouter.cpe', // Huawei LTE CPE
  73. '$mobile.hotspot', // T-Mobile Hotspot
  74. '$ntt.setup',
  75. '$pi.hole',
  76. '+plex.direct'
  77. // 'web.setup'
  78. ]
  79. },
  80. SYSTEM: {
  81. dns: 'system',
  82. hosts: {},
  83. domains: [
  84. '+m2m',
  85. // TailScale Magic DNS
  86. '+ts.net',
  87. // AdGuard
  88. '$injections.adguard.org',
  89. '$local.adguard.org',
  90. // Auto Discovery
  91. '+_tcp',
  92. '+bogon',
  93. '+_msdcs'
  94. ]
  95. }
  96. } satisfies Record<string, DNSMapping>;
  97. export const LANS = {
  98. LAN: {
  99. dns: 'system',
  100. hosts: {},
  101. domains: [
  102. '+lan',
  103. // 'amplifi.lan',
  104. '$localhost',
  105. 'localdomain',
  106. 'home.arpa',
  107. // AS112
  108. '10.in-addr.arpa',
  109. '16.172.in-addr.arpa',
  110. '17.172.in-addr.arpa',
  111. '18.172.in-addr.arpa',
  112. '19.172.in-addr.arpa',
  113. '2?.172.in-addr.arpa',
  114. // '20.172.in-addr.arpa',
  115. // '21.172.in-addr.arpa',
  116. // '22.172.in-addr.arpa',
  117. // '23.172.in-addr.arpa',
  118. // '24.172.in-addr.arpa',
  119. // '25.172.in-addr.arpa',
  120. // '26.172.in-addr.arpa',
  121. // '27.172.in-addr.arpa',
  122. // '28.172.in-addr.arpa',
  123. // '29.172.in-addr.arpa',
  124. '30.172.in-addr.arpa',
  125. '31.172.in-addr.arpa',
  126. '168.192.in-addr.arpa',
  127. '254.169.in-addr.arpa'
  128. ]
  129. }
  130. } satisfies Record<string, DNSMapping>;