index.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="apple-mobile-web-app-capable" content="yes" />
  5. <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"/>
  6. <meta charset="UTF-8">
  7. <meta name="theme-color" content="#4b75ff">
  8. <link rel="stylesheet" href="../../script/semantic/semantic.min.css">
  9. <script src="../../script/jquery.min.js"></script>
  10. <script src="../../script/ao_module.js"></script>
  11. <script src="../../script/semantic/semantic.min.js"></script>
  12. <title>Reverse Proxy</title>
  13. <style>
  14. body{
  15. background-color:white;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <br>
  21. <div class="ui container">
  22. <div class="ui basic segment">
  23. <h3 class="ui header">
  24. <i class="exchange icon"></i>
  25. <div class="content">
  26. Reverse Proxy
  27. <div class="sub header">Simple reverse proxy designed for web desktop users</div>
  28. </div>
  29. </h3>
  30. </div>
  31. <div class="ui divider"></div>
  32. <div id="serverstatus" class="ui message">
  33. <h3 class="ui header">
  34. <i class="power off icon"></i>
  35. <div class="content">
  36. <span id="statusTitle">Offline</span>
  37. <div class="sub header" id="statusText">Reverse proxy server is offline</div>
  38. </div>
  39. </h3>
  40. </div>
  41. <div id="errmsg" class="ui red message" style="display: none;">
  42. </div>
  43. <button id="startbtn" class="ui green button" onclick="startService();">Start Service</button>
  44. <button id="stopbtn" class="ui red disabled button" onclick="stopService();">Stop Service</button>
  45. <div class="ui divider"></div>
  46. <p>Virtual Directories</p>
  47. <table class="ui celled table">
  48. <thead>
  49. <tr>
  50. <th>Virtual Directory</th>
  51. <th>Proxy To</th>
  52. <th>Remove</th>
  53. </tr>
  54. </thead>
  55. <tbody>
  56. <tr>
  57. <td data-label="">test</td>
  58. <td data-label="">test</td>
  59. <td data-label=""><button class="ui circular mini red basic button"><i class="remove icon"></i> Remove Proxy</button></td>
  60. </tr>
  61. </tbody>
  62. </table>
  63. <div class="ui divider"></div>
  64. <p>Subdomain Proxy</p>
  65. <table class="ui celled table">
  66. <thead>
  67. <tr>
  68. <th>Subdomain</th>
  69. <th>Proxy To</th>
  70. <th>Remove</th>
  71. </tr>
  72. </thead>
  73. <tbody>
  74. </tbody>
  75. </table>
  76. <div class="">
  77. <button class="ui blue button" onclick=""><i class="add icon"></i> New Proxy Endpoint</button>
  78. <button class="ui button" onclick=""><i class="edit icon"></i> Set Proxy Root</button>
  79. </div>
  80. <br><br>
  81. </div>
  82. <script>
  83. initRPStaste();
  84. function initRPStaste(){
  85. $.get("../../system/proxy/status", function(data){
  86. if (data.Running == true){
  87. $("#startbtn").addClass("disabled");
  88. $("#stopbtn").removeClass("disabled");
  89. $("#serverstatus").addClass("green");
  90. }else{
  91. $("#startbtn").removeClass("disabled");
  92. $("#stopbtn").addClass("disabled");
  93. $("#statusTitle").text("Offline");
  94. $("#statusText").text("Reverse proxy server is offline");
  95. $("#serverstatus").removeClass("green");
  96. }
  97. });
  98. }
  99. function startService(){
  100. $.post("../../system/proxy/enable", {enable: true}, function(data){
  101. if (data.error != undefined){
  102. errmsg(data.error);
  103. }
  104. initRPStaste();
  105. });
  106. }
  107. function stopService(){
  108. $.post("../../system/proxy/enable", {enable: false}, function(data){
  109. if (data.error != undefined){
  110. errmsg(data.error);
  111. }
  112. initRPStaste();
  113. });
  114. }
  115. function errmsg(message){
  116. $("#errmsg").html(`<i class="red remove icon"></i> ${message}`);
  117. $("#errmsg").slideDown('fast').delay(5000).slideUp('fast');
  118. }
  119. </script>
  120. </body>
  121. </html>