mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-06-06 07:37:21 +02:00

+ Added advance stats operation tab + Added statistic reset #13 + Added statistic export to csv and json (please use json) + Make subdomain clickable (not vdir) #12 + Added TCP Proxy + Updates SMTP setup UI to make it more straight forward to setup
65 lines
3.4 KiB
HTML
65 lines
3.4 KiB
HTML
<div class="standardContainer">
|
|
<div class="ui basic segment">
|
|
<h2>Subdomain</h2>
|
|
<p>Subdomains are a way to organize and identify different sections of a website or domain. They are essentially a prefix to the main domain name, separated by a dot. <br>For example, in the domain "blog.example.com," "blog" is the subdomain.</p>
|
|
</div>
|
|
<div style="width: 100%; overflow-x: auto; margin-bottom: 1em;">
|
|
<table class="ui celled sortable unstackable compact table">
|
|
<thead>
|
|
<tr>
|
|
<th>Matching Domain</th>
|
|
<th>Proxy To</th>
|
|
<th>TLS/SSL Verification</th>
|
|
<th>Basic Auth</th>
|
|
<th class="no-sort" style="min-width: 7.2em;">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="subdList">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<button class="ui icon right floated basic button" onclick="listSubd();"><i class="green refresh icon"></i> Refresh</button>
|
|
<br><br>
|
|
</div>
|
|
|
|
<script>
|
|
function listSubd(){
|
|
$.get("/api/proxy/list?type=subd", function(data){
|
|
$("#subdList").html(``);
|
|
if (data.error !== undefined){
|
|
$("#subdList").append(`<tr>
|
|
<td data-label="" colspan="3"><i class="remove icon"></i> ${data.error}</td>
|
|
</tr>`);
|
|
}else if (data.length == 0){
|
|
$("#subdList").append(`<tr>
|
|
<td data-label="" colspan="3"><i class="checkmark icon"></i> No Subdomain Proxy Record</td>
|
|
</tr>`);
|
|
}else{
|
|
data.forEach(subd => {
|
|
let tlsIcon = "";
|
|
let subdData = encodeURIComponent(JSON.stringify(subd));
|
|
if (subd.RequireTLS){
|
|
tlsIcon = `<i class="green lock icon" title="TLS Mode"></i>`;
|
|
}
|
|
|
|
$("#subdList").append(`<tr eptuuid="${subd.RootOrMatchingDomain}" payload="${subdData}" class="subdEntry">
|
|
<td data-label="" editable="false"><a href="//${subd.RootOrMatchingDomain}" target="_blank">${subd.RootOrMatchingDomain}</a></td>
|
|
<td data-label="" editable="true" datatype="domain">${subd.Domain} ${tlsIcon}</td>
|
|
<td data-label="" editable="true" datatype="skipver">${!subd.SkipCertValidations?`<i class="ui green check icon"></i>`:`<i class="ui yellow exclamation circle icon" title="TLS/SSL Verification will be skipped on this host"></i>`}</td>
|
|
<td data-label="" editable="true" datatype="basicauth">${subd.RequireBasicAuth?`<i class="ui green check icon"></i>`:`<i class="ui grey remove icon"></i>`}</td>
|
|
<td class="center aligned" editable="true" datatype="action" data-label="">
|
|
<button class="ui circular mini basic icon button editBtn" onclick='editEndpoint("subd","${subd.RootOrMatchingDomain}")'><i class="edit icon"></i></button>
|
|
<button class="ui circular mini red basic icon button" onclick='deleteEndpoint("subd","${subd.RootOrMatchingDomain}")'><i class="trash icon"></i></button>
|
|
</td>
|
|
</tr>`);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
//Bind on tab switch events
|
|
tabSwitchEventBind["subd"] = function(){
|
|
listSubd();
|
|
}
|
|
</script> |