mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 09:01:54 +08:00
real ports for extras
This commit is contained in:
@@ -52,8 +52,8 @@
|
||||
</a>
|
||||
<hr>
|
||||
<p class="text">
|
||||
This Pi-KVM device has running kvmd-ipmi daemon and provides IPMI 2.0 port (default 623)
|
||||
for some basic BMC operations like on/off/reset for the server.
|
||||
This Pi-KVM device has running <b>kvmd-ipmi</b> daemon and provides IPMI 2.0 interface for some basic
|
||||
BMC operations like on/off/reset the server.
|
||||
</p>
|
||||
<p class="text">
|
||||
<b>WARNING!</b> We strongly don't recommend you to use IPMI in untrusted networks because
|
||||
|
||||
@@ -23,36 +23,51 @@
|
||||
"use strict";
|
||||
|
||||
|
||||
import {$} from "../tools.js";
|
||||
import {$, tools} from "../tools.js";
|
||||
|
||||
|
||||
export function main() {
|
||||
let host = window.location.hostname;
|
||||
let site = `${window.location.protocol}//${window.location.host}`;
|
||||
$("ipmi-text").innerHTML = `
|
||||
<span class="code-comment"># Power on the server if it's off:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} power on<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=on<br>
|
||||
<br>
|
||||
<span class="code-comment"># Soft power off the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} power soft<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=off<br>
|
||||
<br>
|
||||
<span class="code-comment"># Hard power off the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} power off<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=off_hard<br>
|
||||
<br>
|
||||
<span class="code-comment"># Hard reset the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} power reset<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=reset_hard<br>
|
||||
<br>
|
||||
<span class="code-comment"># Check the power status:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} power status<br>
|
||||
<span class="code-comment">$</span> curl -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx
|
||||
`;
|
||||
__loadKvmdInfo();
|
||||
}
|
||||
|
||||
function __loadKvmdInfo() {
|
||||
let http = tools.makeRequest("GET", "/api/info", function() {
|
||||
if (http.readyState === 4) {
|
||||
if (http.status === 200) {
|
||||
let port = JSON.parse(http.responseText).result.extras.ipmi.port;
|
||||
let host = window.location.hostname;
|
||||
let site = `${window.location.protocol}//${window.location.host}`;
|
||||
$("ipmi-text").innerHTML = `
|
||||
<span class="code-comment"># Power on the server if it's off:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power on<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=on<br>
|
||||
<br>
|
||||
<span class="code-comment"># Soft power off the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power soft<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=off<br>
|
||||
<br>
|
||||
<span class="code-comment"># Hard power off the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power off<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=off_hard<br>
|
||||
<br>
|
||||
<span class="code-comment"># Hard reset the server if it's on:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power reset<br>
|
||||
<span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx/power?action=reset_hard<br>
|
||||
<br>
|
||||
<span class="code-comment"># Check the power status:<br>
|
||||
$</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power status<br>
|
||||
<span class="code-comment">$</span> curl -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
|
||||
${site}/api/atx
|
||||
`;
|
||||
} else if (http.status === 401 || http.status === 403) {
|
||||
document.location.href = "/login";
|
||||
} else {
|
||||
setTimeout(__loadKvmdInfo, 1000);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
50
web/share/js/vnc/main.js
Normal file
50
web/share/js/vnc/main.js
Normal file
@@ -0,0 +1,50 @@
|
||||
/*****************************************************************************
|
||||
# #
|
||||
# KVMD - The main Pi-KVM daemon. #
|
||||
# #
|
||||
# Copyright (C) 2018 Maxim Devaev <mdevaev@gmail.com> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation, either version 3 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
import {$, tools} from "../tools.js";
|
||||
|
||||
|
||||
export function main() {
|
||||
__loadKvmdInfo();
|
||||
}
|
||||
|
||||
function __loadKvmdInfo() {
|
||||
let http = tools.makeRequest("GET", "/api/info", function() {
|
||||
if (http.readyState === 4) {
|
||||
if (http.status === 200) {
|
||||
let port = JSON.parse(http.responseText).result.extras.vnc.port;
|
||||
let host = window.location.hostname;
|
||||
$("vnc-text").innerHTML = `
|
||||
<span class="code-comment"># How to connect using the Linux terminal:<br>
|
||||
$</span> vncviewer ${host}::${port}
|
||||
`;
|
||||
} else if (http.status === 401 || http.status === 403) {
|
||||
document.location.href = "/login";
|
||||
} else {
|
||||
setTimeout(__loadKvmdInfo, 1000);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -37,6 +37,11 @@
|
||||
<link rel="stylesheet" href="../share/css/vars.css">
|
||||
<link rel="stylesheet" href="../share/css/main.css">
|
||||
<link rel="stylesheet" href="../share/css/start.css">
|
||||
|
||||
<script type="module">
|
||||
import {main} from "/share/js/vnc/main.js";
|
||||
main();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -47,8 +52,7 @@
|
||||
</a>
|
||||
<hr>
|
||||
<p class="text">
|
||||
This Pi-KVM device has running kvmd-vnc daemon and provides VNC port (default 5900)
|
||||
for alternative access to the server other than the web interface.
|
||||
This Pi-KVM device has running <b>kvmd-vnc</b> daemon and provides VNC access to the server.
|
||||
</p>
|
||||
<p class="text">
|
||||
<b>WARNING!</b> We strongly don't recommend you to use VNC in untrusted networks.
|
||||
@@ -58,7 +62,10 @@
|
||||
<p class="text">
|
||||
Your VNC client must support Tight JPEG compression, password authentication and allow
|
||||
connection without encryption. <a href="https://tigervnc.org">TigerVNC</a> is a good choice.
|
||||
On Linux, this client will most likely be available for installation from the repository.
|
||||
It can also be called vncviewer.
|
||||
</p>
|
||||
<div id="vnc-text" class="code" style="max-height:200px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user