|
@@ -1,70 +1,70 @@
|
|
|
-<div class="ui stackable four column grid">
|
|
|
- <div class="column">
|
|
|
- <div id="serverstatus" class="ui green statustab inverted segment">
|
|
|
- <h4 class="ui header">
|
|
|
- <i class="power off icon"></i>
|
|
|
- <div class="content">
|
|
|
- <span id="statusTitle">Offline</span>
|
|
|
- <div style="color: white;" class="sub header" id="statusText">Reverse proxy server is offline</div>
|
|
|
- </div>
|
|
|
- </h4>
|
|
|
+<div class="ui stackable grid">
|
|
|
+ <div class="ten wide column">
|
|
|
+ <div id="serverstatus" class="ui green statustab inverted segment">
|
|
|
+ <h1 class="ui header" style="margin-top: 1em; margin-left: 0.4em; padding-bottom: 1em;">
|
|
|
+ <i class="power off icon"></i>
|
|
|
+ <div class="content">
|
|
|
+ <span id="statusTitle">Offline</span>
|
|
|
+ <div class="sub header" id="statusText">Reverse proxy server is offline</div>
|
|
|
+ </div>
|
|
|
+ </h1>
|
|
|
+ <div class="dot-container">
|
|
|
+ <div class="dot"></div>
|
|
|
+ <div class="dot"></div>
|
|
|
+ <div class="dot"></div>
|
|
|
+ <div class="dot"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="column">
|
|
|
- <div id="connections" class="ui statustab summary segment">
|
|
|
- <h4 class="ui header">
|
|
|
- <i class="exchange icon"></i>
|
|
|
- <div class="content">
|
|
|
- <span id="summaryTotalCount"></span> <small>Req. Today</small>
|
|
|
- <div class="sub header" style="margin-top: 0.4em;">
|
|
|
- <i class="green circle check icon"></i> <span id="summarySuccCount"></span>
|
|
|
- / <i class="red red exclamation circle icon"></i> <span id="summaryErrCount"></span>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="six wide column">
|
|
|
+ <div class="ui greybackground statustab segment">
|
|
|
+ <h5 class="ui header">
|
|
|
+ <i class="exchange icon"></i>
|
|
|
+ <div class="content">
|
|
|
+ <span id="summaryTotalCount"></span> <small>Req. Today</small>
|
|
|
+ <div class="sub header" style="margin-top: 0.4em;">
|
|
|
+ <i class="green circle check icon"></i> <span id="summarySuccCount"></span>
|
|
|
+ / <i class="red red exclamation circle icon"></i> <span id="summaryErrCount"></span>
|
|
|
</div>
|
|
|
- </h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="column">
|
|
|
- <div id="connections" class="ui statustab segment" style="background-color: #f0ece1; border: 0px solid transparent;">
|
|
|
- <h4 class="ui header">
|
|
|
- <i class="arrows alternate horizontal icon"></i>
|
|
|
- <div class="content">
|
|
|
- <span id="forwardtype"></span>
|
|
|
- <div class="sub header" id="forwardtypeList">
|
|
|
+ </div>
|
|
|
+ </h5>
|
|
|
+ <div class="ui divider"></div>
|
|
|
+ <h5 class="ui header">
|
|
|
+ <i class="arrows alternate horizontal icon"></i>
|
|
|
+ <div class="content">
|
|
|
+ <span id="forwardtype"></span>
|
|
|
+ <div class="sub header" id="forwardtypeList">
|
|
|
|
|
|
- </div>
|
|
|
</div>
|
|
|
- </h4>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="column">
|
|
|
- <div id="connections" class="ui statustab inverted segment" style="background-color: #7d8e88;">
|
|
|
- <h4 class="ui header">
|
|
|
- <i class="map marker alternate icon"></i>
|
|
|
- <div class="content">
|
|
|
- <span id="country"></span>
|
|
|
- <div class="sub header" id="countryList">
|
|
|
+ </div>
|
|
|
+ </h5>
|
|
|
+ <div class="ui divider"></div>
|
|
|
+ <h5 class="ui header">
|
|
|
+ <i class="map marker alternate icon"></i>
|
|
|
+ <div class="content">
|
|
|
+ <span id="country"></span>
|
|
|
+ <div class="sub header" id="countryList">
|
|
|
|
|
|
- </div>
|
|
|
</div>
|
|
|
- </h4>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </h5>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div class="ui divider"></div>
|
|
|
<p>Inbound Port (Port to be proxied)</p>
|
|
|
-<div class="ui action fluid input">
|
|
|
+<div class="ui action fluid notloopbackOnly input">
|
|
|
<input type="text" id="incomingPort" placeholder="Incoming Port" value="80">
|
|
|
- <button class="ui button" onclick="handlePortChange();">Apply</button>
|
|
|
+ <button class="ui basic green notloopbackOnly button" onclick="handlePortChange();">Apply</button>
|
|
|
</div>
|
|
|
<br>
|
|
|
-<div id="tls" class="ui toggle checkbox">
|
|
|
+<div id="tls" class="ui toggle notloopbackOnly checkbox">
|
|
|
<input type="checkbox">
|
|
|
<label>Use TLS to serve proxy request</label>
|
|
|
</div>
|
|
|
<br>
|
|
|
-<div id="redirect" class="ui toggle checkbox" style="margin-top: 0.6em;">
|
|
|
+<div id="redirect" class="ui toggle notloopbackOnly checkbox" style="margin-top: 0.6em;">
|
|
|
<input type="checkbox">
|
|
|
<label>Force redirect HTTP request to HTTPS<br>
|
|
|
<small>(Only apply when listening port is not 80)</small></label>
|
|
@@ -75,7 +75,7 @@
|
|
|
</div>
|
|
|
<Br>
|
|
|
<button id="startbtn" class="ui teal button" onclick="startService();">Start Service</button>
|
|
|
-<button id="stopbtn" class="ui red disabled button" onclick="stopService();">Stop Service</button>
|
|
|
+<button id="stopbtn" class="ui red notloopbackOnly disabled button" onclick="stopService();">Stop Service</button>
|
|
|
<div id="rploopbackWarning" class="ui segment" style="display:none;">
|
|
|
<b><i class="yellow warning icon"></i> Loopback Routing Warning</b><br>
|
|
|
<small>This management interface is a loopback proxied service. <br>If you want to shutdown the reverse proxy server, please remove the proxy rule for the management interface and refresh.</small>
|
|
@@ -125,10 +125,10 @@
|
|
|
if (data == true){
|
|
|
//This management interface is reverse proxied by itself
|
|
|
//do not allow turning off the proxy
|
|
|
- $("#stopbtn").addClass("disabled");
|
|
|
+ $(".notloopbackOnly").addClass("disabled");
|
|
|
loopbackProxiedInterface = true;
|
|
|
$("#rploopbackWarning").show();
|
|
|
- }
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
//Get the latest server status from proxy server
|
|
@@ -192,7 +192,7 @@
|
|
|
data = sortObjectByValue(data);
|
|
|
$("#country").html((Object.keys(data)[0])?Object.keys(data)[0]:"No Data");
|
|
|
$("#countryList").html(`
|
|
|
- <div style="color: white;">
|
|
|
+ <div>
|
|
|
${(Object.keys(data)[1])?Object.keys(data)[1]:"No Data"}<br>
|
|
|
${(Object.keys(data)[2])?Object.keys(data)[2]:"No Data"}
|
|
|
</div>
|