direct.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. '+huaweimobilewifi.com',
  60. '+router',
  61. // 'my.router',
  62. // 'samsung.router',
  63. // '$easy.box', // Vodafone EasyBox
  64. '$aterm.me',
  65. '$console.gl-inet.com',
  66. // '$fritz.box',
  67. // '$fritz.repeater',
  68. // '$myfritz.box',
  69. // '$speedport.ip', // Telekom
  70. // '$giga.cube', // Vodafone GigaCube
  71. '$homerouter.cpe', // Huawei LTE CPE
  72. '$mobile.hotspot', // T-Mobile Hotspot
  73. '$ntt.setup',
  74. '$pi.hole',
  75. '+plex.direct'
  76. // 'web.setup'
  77. ]
  78. },
  79. SYSTEM: {
  80. dns: 'system',
  81. hosts: {},
  82. domains: [
  83. '+m2m',
  84. // TailScale Magic DNS
  85. '+ts.net',
  86. // AdGuard
  87. '$injections.adguard.org',
  88. '$local.adguard.org',
  89. // Android ADB
  90. '_adb-tls-connect._tcp'
  91. ]
  92. }
  93. } satisfies Record<string, DNSMapping>;
  94. export const LANS = {
  95. LAN: {
  96. dns: 'system',
  97. hosts: {},
  98. domains: [
  99. '+lan',
  100. // 'amplifi.lan',
  101. '$localhost',
  102. 'localdomain',
  103. 'home.arpa',
  104. // AS112
  105. '10.in-addr.arpa',
  106. '16.172.in-addr.arpa',
  107. '17.172.in-addr.arpa',
  108. '18.172.in-addr.arpa',
  109. '19.172.in-addr.arpa',
  110. '2?.172.in-addr.arpa',
  111. // '20.172.in-addr.arpa',
  112. // '21.172.in-addr.arpa',
  113. // '22.172.in-addr.arpa',
  114. // '23.172.in-addr.arpa',
  115. // '24.172.in-addr.arpa',
  116. // '25.172.in-addr.arpa',
  117. // '26.172.in-addr.arpa',
  118. // '27.172.in-addr.arpa',
  119. // '28.172.in-addr.arpa',
  120. // '29.172.in-addr.arpa',
  121. '30.172.in-addr.arpa',
  122. '31.172.in-addr.arpa',
  123. '168.192.in-addr.arpa',
  124. '254.169.in-addr.arpa'
  125. ]
  126. }
  127. } satisfies Record<string, DNSMapping>;