parent
18362488f0
commit
8d098c9ea6
|
@ -8,5 +8,5 @@
|
|||
}
|
||||
},
|
||||
|
||||
"content-security-policy": "default-src 'self' 'unsafe-inline' 'unsafe-eval'"
|
||||
"content-security-policy": "default-src 'self' https://code.jquery.com 'unsafe-inline' 'unsafe-eval'"
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
|
|||
<link href="../base1/cockpit.css" type="text/css" rel="stylesheet">
|
||||
<link href="ocserv.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="../base1/cockpit.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||
</head>
|
||||
<body hidden>
|
||||
|
||||
|
@ -70,126 +71,120 @@ along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
|
||||
<script>
|
||||
require([
|
||||
'jquery',
|
||||
'base1/cockpit'
|
||||
], function($, cockpit) {
|
||||
var raw;
|
||||
var status_raw;
|
||||
var raw;
|
||||
var status_raw;
|
||||
|
||||
occtl_users_run();
|
||||
occtl_status_run();
|
||||
occtl_users_run();
|
||||
occtl_status_run();
|
||||
|
||||
function occtl_users_run() {
|
||||
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "users"],
|
||||
{ err: "message", superuser: "try" });
|
||||
proc.done(occtl_users_success);
|
||||
proc.stream(occtl_users_output);
|
||||
proc.fail(occtl_users_fail);
|
||||
function occtl_users_run() {
|
||||
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "users"],
|
||||
{ err: "message", superuser: "try" });
|
||||
proc.done(occtl_users_success);
|
||||
proc.stream(occtl_users_output);
|
||||
proc.fail(occtl_users_fail);
|
||||
|
||||
raw = "";
|
||||
}
|
||||
raw = "";
|
||||
}
|
||||
|
||||
function occtl_users_success() {
|
||||
var obj;
|
||||
try {
|
||||
obj = JSON.parse(raw);
|
||||
} catch(e) {
|
||||
console.warn(e, obj);
|
||||
}
|
||||
function occtl_users_success() {
|
||||
var obj;
|
||||
try {
|
||||
obj = JSON.parse(raw);
|
||||
} catch(e) {
|
||||
console.warn(e, obj);
|
||||
}
|
||||
|
||||
$("#users-table-tbody").empty();
|
||||
$("#users-table-tbody").empty();
|
||||
|
||||
$.each(obj, function (index,Object) {
|
||||
var ipv4 = Object.IPv4;
|
||||
var ipv6 = Object.IPv6;
|
||||
var ip;
|
||||
$.each(obj, function (index,Object) {
|
||||
var ipv4 = Object.IPv4;
|
||||
var ipv6 = Object.IPv6;
|
||||
var ip;
|
||||
|
||||
if (ipv4 && ipv6) {
|
||||
ip = ipv4 + "/" + ipv6;
|
||||
} else {
|
||||
if (ipv4)
|
||||
ip = ipv4;
|
||||
else
|
||||
ip = ipv6;
|
||||
}
|
||||
if (ipv4 && ipv6) {
|
||||
ip = ipv4 + "/" + ipv6;
|
||||
} else {
|
||||
if (ipv4)
|
||||
ip = ipv4;
|
||||
else
|
||||
ip = ipv6;
|
||||
}
|
||||
|
||||
var row = $("<tr>").append(
|
||||
$('<td class="ocserv-users-id">').text(Object.ID),
|
||||
$('<td class="ocserv-users-name">').text(Object.Username),
|
||||
$('<td class="ocserv-users-remote-ip">').text(Object["Remote IP"]),
|
||||
$('<td class="ocserv-users-ip">').text(ip),
|
||||
$('<td class="ocserv-users-since">').text(Object["Connected at"]),
|
||||
$('<td class="ocserv-users-state">').text(Object.State)
|
||||
);
|
||||
$("#users-table-tbody").append(row);
|
||||
});
|
||||
var row = $("<tr>").append(
|
||||
$('<td class="ocserv-users-id">').text(Object.ID),
|
||||
$('<td class="ocserv-users-name">').text(Object.Username),
|
||||
$('<td class="ocserv-users-remote-ip">').text(Object["Remote IP"]),
|
||||
$('<td class="ocserv-users-ip">').text(ip),
|
||||
$('<td class="ocserv-users-since">').text(Object["Connected at"]),
|
||||
$('<td class="ocserv-users-state">').text(Object.State)
|
||||
);
|
||||
$("#users-table-tbody").append(row);
|
||||
});
|
||||
|
||||
$('.curtain-ocserv').hide();
|
||||
$('body').show();
|
||||
}
|
||||
$('.curtain-ocserv').hide();
|
||||
$('body').show();
|
||||
}
|
||||
|
||||
function occtl_users_fail(ex) {
|
||||
if (ex.problem == "not-found")
|
||||
console.warn("occtl executable was not found");
|
||||
else
|
||||
console.warn(cockpit.message(ex));
|
||||
$('.curtain-ocserv').show();
|
||||
$('body').show();
|
||||
}
|
||||
function occtl_users_fail(ex) {
|
||||
if (ex.problem == "not-found")
|
||||
console.warn("occtl executable was not found");
|
||||
else
|
||||
console.warn(cockpit.message(ex));
|
||||
$('.curtain-ocserv').show();
|
||||
$('body').show();
|
||||
}
|
||||
|
||||
function occtl_users_output(data) {
|
||||
raw = raw.concat(data);
|
||||
}
|
||||
function occtl_users_output(data) {
|
||||
raw = raw.concat(data);
|
||||
}
|
||||
|
||||
function occtl_status_run() {
|
||||
function occtl_status_output(data) {
|
||||
status_raw = status_raw.concat(data);
|
||||
}
|
||||
function occtl_status_run() {
|
||||
function occtl_status_output(data) {
|
||||
status_raw = status_raw.concat(data);
|
||||
}
|
||||
|
||||
status_raw = "";
|
||||
status_raw = "";
|
||||
|
||||
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "status"],
|
||||
{ err: "message", superuser: "try" });
|
||||
proc.done(occtl_status_success);
|
||||
proc.stream(occtl_status_output);
|
||||
proc.fail(occtl_status_fail);
|
||||
}
|
||||
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "status"],
|
||||
{ err: "message", superuser: "try" });
|
||||
proc.done(occtl_status_success);
|
||||
proc.stream(occtl_status_output);
|
||||
proc.fail(occtl_status_fail);
|
||||
}
|
||||
|
||||
function occtl_status_success() {
|
||||
var obj;
|
||||
try {
|
||||
obj = JSON.parse(status_raw);
|
||||
} catch(e) {
|
||||
console.warn(e, obj);
|
||||
}
|
||||
function occtl_status_success() {
|
||||
var obj;
|
||||
try {
|
||||
obj = JSON.parse(status_raw);
|
||||
} catch(e) {
|
||||
console.warn(e, obj);
|
||||
}
|
||||
|
||||
$("#status-table").empty();
|
||||
if (!obj) {
|
||||
occtl_status_fail();
|
||||
} else {
|
||||
$("#status-table").append('<tr><td>Status</td><td>' +
|
||||
obj.Status + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>Uptime</td><td>' +
|
||||
obj["_Up since"] + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>Connected users</td><td>' +
|
||||
obj["Clients"] + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>IPs in ban list</td><td>' +
|
||||
obj["IPs in ban list"] + '</td></tr>');
|
||||
}
|
||||
}
|
||||
$("#status-table").empty();
|
||||
if (!obj) {
|
||||
occtl_status_fail();
|
||||
} else {
|
||||
$("#status-table").append('<tr><td>Status</td><td>' +
|
||||
obj.Status + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>Uptime</td><td>' +
|
||||
obj["_Up since"] + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>Connected users</td><td>' +
|
||||
obj["Clients"] + '</td></tr>');
|
||||
$("#status-table").append('<tr><td>IPs in ban list</td><td>' +
|
||||
obj["IPs in ban list"] + '</td></tr>');
|
||||
}
|
||||
}
|
||||
|
||||
function occtl_status_fail(ex) {
|
||||
console.log("status fail", ex);
|
||||
var message = ex ? cockpit.message(ex) : "offline";
|
||||
$("#status-table")
|
||||
.empty()
|
||||
.append('<tr>')
|
||||
.append($('<td>Status</td>'),
|
||||
$('<td>').text(message));
|
||||
}
|
||||
|
||||
});
|
||||
function occtl_status_fail(ex) {
|
||||
console.log("status fail", ex);
|
||||
var message = ex ? cockpit.message(ex) : "offline";
|
||||
$("#status-table")
|
||||
.empty()
|
||||
.append('<tr>')
|
||||
.append($('<td>Status</td>'),
|
||||
$('<td>').text(message));
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue