direct.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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. ]
  23. },
  24. ROUTER: {
  25. dns: 'system',
  26. hosts: {},
  27. domains: [
  28. // Aruba Router
  29. 'instant.arubanetworks.com',
  30. 'setmeup.arubanetworks.com',
  31. // ASUS router
  32. 'router.asus.com',
  33. 'repeater.asus.com',
  34. 'asusrouter.com',
  35. // NetGear
  36. 'routerlogin.net',
  37. // Tenda WiFi
  38. 'tendawifi.com',
  39. // TP-Link Router
  40. 'tplinkwifi.net',
  41. 'tplogin.cn',
  42. 'tplinkap.net',
  43. 'tplinkeap.net',
  44. 'tplinkmodem.net',
  45. 'tplinkplclogin.net',
  46. 'tplinkrepeater.net',
  47. // Xiaomi Router
  48. 'miwifi.com',
  49. // ZTE CPE
  50. 'zte.home',
  51. // UniFi
  52. '+ui.direct',
  53. '$unifi',
  54. 'amplifi.lan',
  55. // Other Router
  56. 'hiwifi.com',
  57. 'huaweimobilewifi.com',
  58. 'my.router',
  59. 'phicomm.me',
  60. 'router.ctc',
  61. 'peiluyou.com',
  62. 'airbox.home',
  63. 'arcor.easybox',
  64. 'aterm.me',
  65. 'bthub.home',
  66. 'bthomehub.home',
  67. 'congstar.box',
  68. 'connect.box',
  69. 'console.gl-inet.com',
  70. 'easy.box',
  71. 'etxr',
  72. 'fritz.box',
  73. 'fritz.nas',
  74. 'fritz.repeater',
  75. 'giga.cube',
  76. 'hi.link',
  77. 'hitronhub.home',
  78. 'homerouter.cpe',
  79. 'myfritz.box',
  80. 'mobile.hotspot',
  81. 'ntt.setup',
  82. 'pi.hole',
  83. 'plex.direct',
  84. 'app.plex.tv',
  85. 'routerlogin.com',
  86. 'samsung.router',
  87. 'speedport.ip',
  88. 'steamloopback.host',
  89. 'web.setup',
  90. 'web.setup.home'
  91. ]
  92. },
  93. SYSTEM: {
  94. dns: 'system',
  95. hosts: {},
  96. domains: [
  97. '_hotspot_.m2m',
  98. 'hotspot.cslwifi.com',
  99. // TailScale Magic DNS
  100. 'ts.net',
  101. // AdGuard
  102. '$injections.adguard.org',
  103. '$local.adguard.org',
  104. // SetApp
  105. 'setapp.click',
  106. // Android ADB
  107. '_adb-tls-connect._tcp'
  108. ]
  109. }
  110. } satisfies Record<string, DNSMapping>;
  111. export const LANS = {
  112. LAN: {
  113. dns: 'system',
  114. hosts: {},
  115. domains: [
  116. 'lan',
  117. '$localhost',
  118. 'localdomain',
  119. 'home.arpa',
  120. // AS112
  121. '10.in-addr.arpa',
  122. '16.172.in-addr.arpa',
  123. '17.172.in-addr.arpa',
  124. '18.172.in-addr.arpa',
  125. '19.172.in-addr.arpa',
  126. '20.172.in-addr.arpa',
  127. '21.172.in-addr.arpa',
  128. '22.172.in-addr.arpa',
  129. '23.172.in-addr.arpa',
  130. '24.172.in-addr.arpa',
  131. '25.172.in-addr.arpa',
  132. '26.172.in-addr.arpa',
  133. '27.172.in-addr.arpa',
  134. '28.172.in-addr.arpa',
  135. '29.172.in-addr.arpa',
  136. '30.172.in-addr.arpa',
  137. '31.172.in-addr.arpa',
  138. '168.192.in-addr.arpa',
  139. '254.169.in-addr.arpa'
  140. ]
  141. }
  142. } satisfies Record<string, DNSMapping>;