Files
kratos/index.php
T
2026-06-13 00:11:05 +01:00

94 lines
3.6 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kratos Power Management</title>
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/css/main.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-header text-center">
<h3 style="padding-bottom: 0; margin-bottom: 0;">Kratos</h3>
<h6>Power Management</h6>
</div>
<div class="card-body">
<form method="post" id="wakeonlan" action="wake.php">
<div class="text-center">
<button type="submit" class="btn btn-primary btn-start">Send Wake Packet</button>
</div>
</div>
</form>
<div class="card-footer text-muted text-center">
<small>
This will send a magic packet to
<select class="form-select bg-dark border-0 shadow-none text-white text-center" form="wakeonlan" id="target" name="target">
</select>
to wake it up.
<br>
Current Status:
<span id="status-dot" class="dot"></span>
</small>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap JS (optional) -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function checkServerStatus() {
$.ajax({
url: 'ping.php?host=' + $("#target option:selected").val(),
method: 'GET',
dataType: 'json',
success: function(response) {
if(response.status === 'online') {
$('#status-dot').removeClass('red').addClass('green');
} else {
$('#status-dot').removeClass('green').addClass('red');
}
},
error: function() {
$('#status-dot').removeClass('green').addClass('red');
}
});
}
checkServerStatus();
setInterval(checkServerStatus, 5000);
var obj = jQuery.parseJSON('<?php include 'hosts.php'; ?>');
$.each(obj, function(key,value) {
$('#target').append('<option value="'+ value.mac_address+'">'+value.friendly_name+'</option>');
});
$("#wakeonlan").submit(function(e) {
e.preventDefault();
var form = $(this);
var actionUrl = form.attr('action');
$.ajax({
type: "POST",
url: actionUrl,
data: form.serialize(),
success: function(data)
{
alert(data);
}
});
});
</script>
</body>
</html>