dns.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  7. <link href="/css/fonts.css" rel="stylesheet">
  8. <link rel="stylesheet" href="/css/bulma.min.css" />
  9. <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css" integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" crossorigin="anonymous">
  10. <script src="/js/jquery.min.js"></script>
  11. <link rel="stylesheet" type="text/css" href="/css/dt.min.css">
  12. <script type="text/javascript" charset="utf8" src="/js/dt.min.js"></script>
  13. <script src="/js/dt.js"></script>
  14. <script src="/js/common.js"></script>
  15. <link rel="stylesheet" type="text/css" href="/css/style.css">
  16. <title>EdgeVPN - DNS index</title>
  17. </head>
  18. <body>
  19. <nav class="navbar is-light is-spaced has-shadow" role="navigation" aria-label="main navigation">
  20. <div class="navbar-brand">
  21. <a class="navbar-item" href="/">
  22. <img src="/images/logo.png" > &nbsp;
  23. EdgeVPN
  24. </a>
  25. <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="menu">
  26. <span aria-hidden="true"></span>
  27. <span aria-hidden="true"></span>
  28. <span aria-hidden="true"></span>
  29. </a>
  30. </div>
  31. <div id="menu" class="navbar-menu">
  32. <div class="navbar-start">
  33. <a class="navbar-item" href="/machines.html">
  34. <i class="fas fa-server"></i>&nbsp;
  35. Machines
  36. </a>
  37. <a class="navbar-item" href="/users.html">
  38. <i class="fas fa-user-clock"></i>&nbsp;
  39. Users
  40. </a>
  41. <a class="navbar-item" href="/blockchain.html">
  42. <i class="fas fa-dice-d20"></i>&nbsp;
  43. Blockchain
  44. </a>
  45. <div class="dropdown">
  46. <div class="dropdown-trigger">
  47. <button class="button" aria-haspopup="true" aria-controls="services-menu">
  48. <span> <i class="fas fa-project-diagram"></i> Services
  49. </span>
  50. <span class="icon is-small">
  51. <i class="fas fa-angle-down" aria-hidden="true"></i>
  52. </span>
  53. </button>
  54. </div>
  55. <div class="dropdown-menu" id="services-menu" role="menu">
  56. <div class="dropdown-content">
  57. <a class="dropdown-item" href="/services.html">
  58. <i class="fas fa-project-diagram"></i>&nbsp;
  59. TCP tunnels
  60. </a>
  61. <a class="dropdown-item" href="/files.html">
  62. <i class="fas fa-file-upload"></i>&nbsp;
  63. Files
  64. </a>
  65. <a class="dropdown-item" href="/dns.html">
  66. <i class="fas fa-globe"></i>&nbsp;
  67. DNS
  68. </a>
  69. </div>
  70. </div>
  71. </div>
  72. <div class="dropdown">
  73. <div class="dropdown-trigger">
  74. <button class="button" aria-haspopup="true" aria-controls="nodes-menu">
  75. <span><i class="fas fa-ethernet"></i> Nodes</span>
  76. <span class="icon is-small">
  77. <i class="fas fa-angle-down" aria-hidden="true"></i>
  78. </span>
  79. </button>
  80. </div>
  81. <div class="dropdown-menu" id="nodes-menu" role="menu">
  82. <div class="dropdown-content">
  83. <a class="dropdown-item" href="/peerstore.html">
  84. <i class="fas fa-database"></i>&nbsp;
  85. Peerstore
  86. </a>
  87. <a class="dropdown-item" href="/nodes.html">
  88. <i class="fas fa-ethernet"></i>&nbsp;
  89. On chain nodes
  90. </a>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. <div class="navbar-end">
  96. <div class="navbar-item">
  97. <div class="buttons">
  98. <a class="button is-link" href="https://github.com/mudler/edgevpn" target=_blank>
  99. <strong><i class="fab fa-github-alt"></i> GitHub</strong>
  100. </a>
  101. <a class="button is-light" href="https://github.com/mudler/edgevpn/issues/new" target=_blank>
  102. <i class="fas fa-bug"></i>&nbsp; Report issue
  103. </a>
  104. <a class="button is-light" href="https://mudler.github.io/edgevpn/docs" target=_blank>
  105. <i class="fas fa-book"></i>&nbsp; Documentation
  106. </a>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </nav>
  112. <section class="hero">
  113. <div class="hero-body">
  114. <div class="container">
  115. <h1 class="title">
  116. <i class="fas fa-globe"></i> DNS registered
  117. </h1>
  118. <h2 class="subtitle">
  119. Accessible via api at <a href="/api/dns" target=_blank><code> /api/dns </code></a><br>
  120. </h2>
  121. <div class="notification is-info is-light">
  122. <h1>Add a DNS record</h1>
  123. You can add a new record with curl: <br>
  124. <code>
  125. curl -X POST /api/dns --header "Content-Type: application/json" -d '{ "Regex": "foo.bar", "Records": { "A": "2.2.2.2" } }'
  126. </code>
  127. </div>
  128. </div>
  129. </div>
  130. </section>
  131. <section class="section">
  132. <div class="container">
  133. <table data-toggle="table"
  134. data-search="true"
  135. data-show-columns="true"
  136. id="table" >
  137. <thead>
  138. <tr>
  139. <th ><abbr title="regex">Regex</abbr></th>
  140. <th ><abbr title="records">Records</abbr></th>
  141. </tr>
  142. </thead>
  143. </table>
  144. </div>
  145. </section>
  146. <script type="text/javascript">
  147. $(document).ready(function() {
  148. var table = $('#table').DataTable( {
  149. "processing": true,
  150. "ajax": {
  151. "url": "/api/dns",
  152. "type": "GET",
  153. "dataSrc": '',
  154. },
  155. 'language':{
  156. "loadingRecords": "",
  157. "processing": ""
  158. },
  159. "columns": [
  160. { "data": "Regex" },
  161. {
  162. "data": "Records",
  163. "render": function ( data, type, row, meta ) {
  164. return '<code>'+JSON.stringify(data)+'</code>';
  165. },
  166. },
  167. ],
  168. } );
  169. setInterval( function () {
  170. table.ajax.reload();
  171. }, 5000 ); // 5 s
  172. } );
  173. </script>
  174. <footer class="footer">
  175. <div class="content has-text-centered">
  176. <p>
  177. <strong>EdgeVPN</strong> by <a href="https://github.com/mudler/edgevpn">Ettore Di Giacinto</a>. The source code is licensed
  178. <a href="https://github.com/mudler/edgevpn/blob/master/LICENSE">GPLv3</a>.
  179. Logo originally made by <a href="https://www.flaticon.com/authors/uniconlabs" title="Uniconlabs">Uniconlabs</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
  180. </p>
  181. </div>
  182. </footer>
  183. </body>
  184. </html>