initial commit

This commit is contained in:
2021-02-05 23:57:51 +01:00
parent 7eaf2e717f
commit 64c307cb7b
15 changed files with 1182 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
{{template "header"}}
<div class="container">
<div class="container">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
</div>
<div class="col-md-4 card">
<div class="container">
<div class="row">
<div class="col-8">
<h5 class="card-title">Logged in as {{.Email}}</h5>
</div>
<div class="col-4">
<a class="btn btn-outline-primary" href="#">Logout</a>
</div>
<p class="card-text">{{.Profile}}</p>
</div>
</div>
</div>
</div>
</div>
<br/>
<div class="container">
{{range .Alerts}}
{{if eq .Type "success"}}
<div class="alert alert-success" role="alert">
<strong>Success</strong> {{.Message}}
</div>
{{else if eq .Type "warning"}}
<div class="alert alert-warning" role="alert">
<strong>Warning</strong> {{.Message}}
</div>
{{else if eq .Type "error"}}
<div class="alert alert-danger" role="alert">
<strong>Error</strong> {{.Message}}
</div>
{{else if eq .Type "info"}}
<div class="alert alert-primary" role="alert">
<strong>Info</strong> {{.Message}}
</div>
{{end}}
{{end}}
</div>
<div class="container">
<div class="row">
<div class="col-md-4 card">
<h5 class="card-title">add new host</h5>
<form class="card-body" action="/admin" method="get" target="_self">
<label for="fname">host name:</label>
<input type="text" id="fname" name="host">
<input type="submit" value="Submit">
<input type="hidden" id="action" name="action" value="add">
</form>
</div>
<div class="col-md-4 card">
<h5 class="card-title">add update ip Address</h5>
<form class="card-body" action="/admin" method="get" target="_self">
<label for="fhost">host name:</label>
<input type="text" id="fhost" name="host">
<label for="fip">ip address:</label>
<input type="text" id="fip" name="ip">
<input type="submit" value="Submit">
<input type="hidden" id="action" name="action" value="update">
</form>
</div>
<div class="col-md-4 card">
<h5 class="card-title">filter available hosts</h5>
<form class="card-body" action="/admin" method="get" target="_self">
<label for="fname">filter (leave empty for all):</label>
<input type="text" id="fname" name="host">
<input type="submit" value="Submit">
<input type="hidden" id="action" name="setting" value="filter">
</form>
</div>
</div>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Hostname</th>
<th scope="col">Token</th>
<th scope="col">IP Addresses</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
{{range $key, $val := .Hosts }}
<tr>
<td>{{$key}}</td>
<td>{{$val}}</td>
<td>
{{range index $.IpAddresses $key}}
{{.}}<br/>
{{end}}
</td>
<td>
<a href="/admin?action=delete&host={{$key}}" class="btn btn-outline-danger">delete</a>
<a href="/admin?action=resolve&host={{$key}}" class="btn btn-outline-primary">resolve</a>
<a href="/admin?action=externalresolve&host={{$key}}" class="btn btn-outline-info">external resolve (google)</a>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{template "footer"}}

View File

@@ -0,0 +1,4 @@
{{define "footer"}}
</body>
</html>
{{end}}

View File

@@ -0,0 +1,32 @@
{{define "header"}}
<html>
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>ddnsService</title>
</head>
<body>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
<script>
$( document ).ready(function() {
window.history.pushState({}, document.title, "/admin");
$(".alert").hide().fadeIn(200).delay(2000).fadeOut(1000, function () { $(this).remove(); });
});
</script>
{{end}}