direct.ts 2.8 KB

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