1
0

gan.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <div class="standardContainer">
  2. <div class="ui basic segment">
  3. <h2>Global Area Network</h2>
  4. <p>Virtual Network Hub that allows all networked devices to communicate as if they all reside in the same physical data center or cloud region</p>
  5. </div>
  6. <div class="gansnetworks">
  7. <div class="ganstats">
  8. <div class="ui list">
  9. <div class="item">
  10. <i class="exchange icon"></i>
  11. <div class="content">
  12. <div class="header" style="font-size: 1.2em;">0</div>
  13. <div class="description">Networks</div>
  14. </div>
  15. </div>
  16. <div class="item">
  17. <i class="desktop icon"></i>
  18. <div class="content">
  19. <div class="header" style="font-size: 1.2em;">0 / 0</div>
  20. <div class="description">Connected Nodes</div>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="ganlist">
  26. <button class="ui basic orange button">Create New Network</button>
  27. <div class="ui icon input">
  28. <input type="text" placeholder="Search a Network">
  29. <i class="circular search link icon"></i>
  30. </div>
  31. <div class="ui segment">
  32. <div class="ui input">
  33. <input type="text" placeholder="Network Name">
  34. </div>
  35. <button class="ui basic button">
  36. <i class="blue add icon"></i> Add Network
  37. </button>
  38. </div>
  39. <div class="ui divider"></div>
  40. <table class="ui celled basic striped table">
  41. <thead>
  42. <tr>
  43. <th>Network ID</th>
  44. <th>Name</th>
  45. <th>Description</th>
  46. <th>Subnet</th>
  47. <th>Nodes</th>
  48. <th>Created</th>
  49. </tr>
  50. </thead>
  51. <tbody>
  52. <tr>
  53. <td colspan="6"><i class="ui green circle check icon"></i> No Global Area Network Found on this host</td>
  54. </tr>
  55. </tbody>
  56. </table>
  57. </div>
  58. </div>
  59. </div>
  60. <script>
  61. /*
  62. Network Management Functions
  63. */
  64. function handleAddNetwork(){
  65. }
  66. function wildcardToSubnetMask(wildcard) {
  67. var octets = wildcard.split('.');
  68. var binary = '';
  69. for (var i = 0; i < 4; i++) {
  70. if (octets[i] === '*') {
  71. binary += '00000000';
  72. } else {
  73. binary += parseInt(octets[i], 10).toString(2).padStart(8, '0');
  74. }
  75. }
  76. var subnetBits = binary.replace(/0+$/, '').length;
  77. var subnetMask = subnetBits === 32 ? '255.255.255.255' : (new Array(5).join('0') + parseInt(binary.substr(0, subnetBits), 2).toString(10)).slice(-3).split('').join('.');
  78. return subnetMask;
  79. }
  80. function addNetwork(name, subnetMask) {
  81. $.ajax({
  82. url: "/api/gan/network/add",
  83. type: "POST",
  84. dataType: "json",
  85. data: {
  86. name: name,
  87. subnetMask: subnetMask
  88. },
  89. success: function(response) {
  90. console.log("Network added successfully:", response);
  91. },
  92. error: function(xhr, status, error) {
  93. console.log("Error adding network:", error);
  94. }
  95. });
  96. }
  97. </script>