status.html 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <div id="serverstatus" class="ui message">
  2. <h3 class="ui header">
  3. <i class="exchange icon"></i>
  4. <div class="content">
  5. <span id="statusTitle">Offline</span>
  6. <div class="sub header" id="statusText">Reverse proxy server is offline</div>
  7. </div>
  8. </h3>
  9. </div>
  10. <div class="ui divider"></div>
  11. <p>Inbound Port (Port to be proxied)</p>
  12. <div class="ui action fluid input">
  13. <input type="text" id="incomingPort" placeholder="Incoming Port" value="80">
  14. <button class="ui button" onclick="handlePortChange();">Apply</button>
  15. </div>
  16. <div id="portUpdateSucc" class="ui green message" style="display:none;">
  17. <i class="ui green checkmark icon"></i> Setting Updated
  18. </div>
  19. <Br>
  20. <button id="startbtn" class="ui teal button" onclick="startService();">Start Service</button>
  21. <button id="stopbtn" class="ui red disabled button" onclick="stopService();">Stop Service</button>
  22. <script>
  23. //Get the latest server status from proxy server
  24. function initRPStaste(){
  25. $.get("status", function(data){
  26. if (data.Running == true){
  27. $("#startbtn").addClass("disabled");
  28. $("#stopbtn").removeClass("disabled");
  29. $("#serverstatus").addClass("green");
  30. $("#statusTitle").text("Online");
  31. $("#statusText").text("Reverse proxying request on port: " + data.ListenPort);
  32. }else{
  33. $("#startbtn").removeClass("disabled");
  34. $("#stopbtn").addClass("disabled");
  35. $("#statusTitle").text("Offline");
  36. $("#statusText").text("Reverse proxy server is offline");
  37. $("#serverstatus").removeClass("green");
  38. }
  39. $("#incomingPort").val(data.ListenPort);
  40. });
  41. }
  42. //Start and stop service button
  43. function startService(){
  44. $.post("enable", {enable: true}, function(data){
  45. if (data.error != undefined){
  46. errmsg(data.error);
  47. }
  48. initRPStaste();
  49. });
  50. }
  51. function stopService(){
  52. $.post("enable", {enable: false}, function(data){
  53. if (data.error != undefined){
  54. errmsg(data.error);
  55. }
  56. initRPStaste();
  57. });
  58. }
  59. function handlePortChange(){
  60. var newPortValue = $("#incomingPort").val();
  61. if (isNaN(newPortValue - 1)){
  62. alert("Invalid incoming port value");
  63. return;
  64. }
  65. $.post("setIncoming", {incoming: newPortValue}, function(data){
  66. if (data.error != undefined){
  67. errmsg(data.error);
  68. }
  69. $("#portUpdateSucc").stop().finish().slideDown("fast").delay(3000).slideUp("fast");
  70. initRPStaste();
  71. });
  72. }
  73. </script>