|
@@ -6,13 +6,12 @@
|
|
<meta charset="UTF-8">
|
|
<meta charset="UTF-8">
|
|
<meta name="theme-color" content="#4b75ff">
|
|
<meta name="theme-color" content="#4b75ff">
|
|
<link rel="icon" type="image/png" href="./favicon.png" />
|
|
<link rel="icon" type="image/png" href="./favicon.png" />
|
|
- <title>Portal | Zoraxy</title>
|
|
|
|
|
|
+ <title>Control Panel | Zoraxy</title>
|
|
<link rel="stylesheet" href="script/semantic/semantic.min.css">
|
|
<link rel="stylesheet" href="script/semantic/semantic.min.css">
|
|
<script src="script/jquery-3.6.0.min.js"></script>
|
|
<script src="script/jquery-3.6.0.min.js"></script>
|
|
<script src="../script/ao_module.js"></script>
|
|
<script src="../script/ao_module.js"></script>
|
|
<script src="script/semantic/semantic.min.js"></script>
|
|
<script src="script/semantic/semantic.min.js"></script>
|
|
<script src="script/tablesort.js"></script>
|
|
<script src="script/tablesort.js"></script>
|
|
- <title>Reverse Proxy</title>
|
|
|
|
<style>
|
|
<style>
|
|
body{
|
|
body{
|
|
background-color:white;
|
|
background-color:white;
|
|
@@ -21,76 +20,113 @@
|
|
.functiontab{
|
|
.functiontab{
|
|
display:none;
|
|
display:none;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ .menubar{
|
|
|
|
+ width: 100%;
|
|
|
|
+ padding: 0.4em;
|
|
|
|
+ padding-left: 1.2em;
|
|
|
|
+ padding-right: 1.2em;
|
|
|
|
+ background-color: #f5f5f5;
|
|
|
|
+ margin-bottom: 1em;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .menubar .logo{
|
|
|
|
+ height: 36px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .menubar .item{
|
|
|
|
+ display: inline-block;
|
|
|
|
+ vertical-align: middle;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .wrapper{
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .toolbar{
|
|
|
|
+ width: 240px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .contentWindow{
|
|
|
|
+ padding: 1em;
|
|
|
|
+ flex: 1;
|
|
|
|
+ }
|
|
</style>
|
|
</style>
|
|
</head>
|
|
</head>
|
|
<body>
|
|
<body>
|
|
- <br>
|
|
|
|
- <div class="ui container">
|
|
|
|
- <h3><img class="ui middle aligned mini image" src="img/small_icon.png" style="margin-right:1em;"> Reverse Proxy Settings</h3>
|
|
|
|
- <div class="ui divider"></div>
|
|
|
|
- <div id="errmsg" class="ui red message" style="display: none;"></div>
|
|
|
|
- <div class="ui stackable grid">
|
|
|
|
- <div class="four wide column">
|
|
|
|
- <div id="mainmenu" class="ui secondary vertical pointing menu">
|
|
|
|
- <a class="item active" tag="status">
|
|
|
|
- <i class="info circle icon"></i>Status
|
|
|
|
- </a>
|
|
|
|
- <a class="item" tag="vdir">
|
|
|
|
- <i class="folder icon"></i> Virtual Directory
|
|
|
|
- </a>
|
|
|
|
- <a class="item" tag="subd">
|
|
|
|
- <i class="sitemap icon"></i> Subdomain Proxy
|
|
|
|
- </a>
|
|
|
|
- <a class="item" tag="rules">
|
|
|
|
- <i class="plus square icon"></i> Create Proxy Rules
|
|
|
|
- </a>
|
|
|
|
- <a class="item" tag="setroot">
|
|
|
|
- <i class="home icon"></i> Set Proxy Root
|
|
|
|
- </a>
|
|
|
|
- <div class="ui divider"></div>
|
|
|
|
- <a class="item" tag="cert">
|
|
|
|
- <i class="lock icon"></i> TLS / SSL certificate
|
|
|
|
- </a>
|
|
|
|
- <a class="item" tag="redirectset">
|
|
|
|
- <i class="level up alternate icon"></i> Redirection
|
|
|
|
- </a>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="menubar">
|
|
|
|
+ <div class="item">
|
|
|
|
+ <img class="logo" src="img/logo.svg">
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="ui right floated buttons" style="padding-top: 2px;">
|
|
|
|
+ <button class="ui basic icon button" onclick="logout();"><i class="sign-out icon"></i></button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div id="errmsg" class="ui red message" style="display: none;"></div>
|
|
|
|
+ <div class="wrapper">
|
|
|
|
+ <div class="toolbar">
|
|
|
|
+ <div id="mainmenu" class="ui secondary vertical pointing menu">
|
|
|
|
+ <a class="item active" tag="status">
|
|
|
|
+ <i class="info circle icon"></i>Status
|
|
|
|
+ </a>
|
|
|
|
+ <a class="item" tag="vdir">
|
|
|
|
+ <i class="folder icon"></i> Virtual Directory
|
|
|
|
+ </a>
|
|
|
|
+ <a class="item" tag="subd">
|
|
|
|
+ <i class="sitemap icon"></i> Subdomain Proxy
|
|
|
|
+ </a>
|
|
|
|
+ <a class="item" tag="rules">
|
|
|
|
+ <i class="plus square icon"></i> Create Proxy Rules
|
|
|
|
+ </a>
|
|
|
|
+ <a class="item" tag="setroot">
|
|
|
|
+ <i class="home icon"></i> Set Proxy Root
|
|
|
|
+ </a>
|
|
|
|
+ <div class="ui divider"></div>
|
|
|
|
+ <a class="item" tag="cert">
|
|
|
|
+ <i class="lock icon"></i> TLS / SSL certificate
|
|
|
|
+ </a>
|
|
|
|
+ <a class="item" tag="redirectset">
|
|
|
|
+ <i class="level up alternate icon"></i> Redirection
|
|
|
|
+ </a>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="contentWindow">
|
|
|
|
+ <!-- Status Tab -->
|
|
|
|
+ <div id="status" class="functiontab" target="status.html" style="display: block ;">
|
|
|
|
+ <br><br><div class="ui active centered inline loader"></div>
|
|
</div>
|
|
</div>
|
|
- <div class="twelve wide column">
|
|
|
|
- <!-- Status Tab -->
|
|
|
|
- <div id="status" class="functiontab" target="status.html" style="display: block ;">
|
|
|
|
- <br><br><div class="ui active centered inline loader"></div>
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
- <!-- Virtual Directory Tab -->
|
|
|
|
- <div id="vdir" class="functiontab" target="vdir.html"></div>
|
|
|
|
|
|
+ <!-- Virtual Directory Tab -->
|
|
|
|
+ <div id="vdir" class="functiontab" target="vdir.html"></div>
|
|
|
|
|
|
- <!-- Subdomain Proxy -->
|
|
|
|
- <div id="subd" class="functiontab" target="subd.html"></div>
|
|
|
|
|
|
+ <!-- Subdomain Proxy -->
|
|
|
|
+ <div id="subd" class="functiontab" target="subd.html"></div>
|
|
|
|
|
|
- <!-- Create Rules -->
|
|
|
|
- <div id="rules" class="functiontab" target="rules.html"></div>
|
|
|
|
|
|
+ <!-- Create Rules -->
|
|
|
|
+ <div id="rules" class="functiontab" target="rules.html"></div>
|
|
|
|
|
|
- <!-- Set proxy root -->
|
|
|
|
- <div id="setroot" class="functiontab" target="rproot.html"></div>
|
|
|
|
|
|
+ <!-- Set proxy root -->
|
|
|
|
+ <div id="setroot" class="functiontab" target="rproot.html"></div>
|
|
|
|
|
|
- <!-- Set TLS cert -->
|
|
|
|
- <div id="cert" class="functiontab" target="cert.html"></div>
|
|
|
|
|
|
+ <!-- Set TLS cert -->
|
|
|
|
+ <div id="cert" class="functiontab" target="cert.html"></div>
|
|
|
|
|
|
- <!-- Redirections -->
|
|
|
|
- <div id="redirectset" class="functiontab" target="redirection.html"></div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <!-- Redirections -->
|
|
|
|
+ <div id="redirectset" class="functiontab" target="redirection.html"></div>
|
|
</div>
|
|
</div>
|
|
- <br><br>
|
|
|
|
- <div class="ui divider"></div>
|
|
|
|
- <div class="ui container" style="color: grey; font-size: 90%">
|
|
|
|
- <p>Reverse Proxy Subservice. CopyRight imuslab, Licensed under MIT</p>
|
|
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
</div>
|
|
</div>
|
|
|
|
+ <br><br>
|
|
|
|
+ <div class="ui divider"></div>
|
|
|
|
+ <div class="ui container" style="color: grey; font-size: 90%">
|
|
|
|
+ <p>CopyRight Zoraxy project and its author, 2022 - <span class="year"></span></p>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
<br><br>
|
|
<br><br>
|
|
<script>
|
|
<script>
|
|
|
|
+ $(".year").text(new Date().getFullYear());
|
|
/*
|
|
/*
|
|
Loader function
|
|
Loader function
|
|
|
|
|
|
@@ -151,6 +187,14 @@
|
|
$('table').tablesort();
|
|
$('table').tablesort();
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ function logout() {
|
|
|
|
+ $.get("/api/auth/logout", function(response) {
|
|
|
|
+ if (response === "OK") {
|
|
|
|
+ window.location.href = "/";
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
function getTabButtonById(targetTabId){
|
|
function getTabButtonById(targetTabId){
|
|
let targetTabBtn = undefined;
|
|
let targetTabBtn = undefined;
|
|
$("#mainmenu").find(".item").each(function(){
|
|
$("#mainmenu").find(".item").each(function(){
|