pull/518/head
Mr Chen 1 year ago
parent 6a27e69ee7
commit 558bfcb1ee
  1. 2
      class/core/config_api.py
  2. 13
      class/core/system_api.py
  3. 93
      route/static/app/index.js
  4. 7
      route/static/app/soft.js
  5. 2
      route/templates/default/index.html

@ -27,7 +27,7 @@ from flask import request
class config_api:
__version = '0.16.2.1'
__version = '0.16.2.2'
__api_addr = 'data/api.json'
def __init__(self):

@ -299,7 +299,8 @@ class system_api:
data_list = data.strip().split("\n")
mac_version = ''
for x in data_list:
mac_version += x.split("\t")[1] + ' '
xlist = x.split("\t")
mac_version += xlist[len(xlist)-1] + ' '
arch_ver = mw.execShell("arch")
return mac_version + " (" + arch_ver[0].strip() + ")"
@ -366,15 +367,15 @@ class system_api:
mem = psutil.virtual_memory()
if mw.getOs() == 'darwin':
memInfo = {
'memTotal': mem.total / 1024 / 1024
'memTotal': mem.total,
}
memInfo['memRealUsed'] = memInfo['memTotal'] * (mem.percent / 100)
else:
memInfo = {
'memTotal': mem.total / 1024 / 1024,
'memFree': mem.free / 1024 / 1024,
'memBuffers': mem.buffers / 1024 / 1024,
'memCached': mem.cached / 1024 / 1024
'memTotal': mem.total,
'memFree': mem.free,
'memBuffers': mem.buffers,
'memCached': mem.cached
}
memInfo['memRealUsed'] = memInfo['memTotal'] - \

@ -6,7 +6,7 @@ $(function() {
$(this).find(".mask").css({ "color": "#d2edd8" });
$(this).find(".mem-re-con").css({ "display": "block" });
$(this).find(".mem-re-con").animate({ "top": "0", opacity: 1 });
$("#memory").text(lan.index.memre);
$("#memory").text('内存释放');
}
}, function() {
$(this).removeClass("shine_green");
@ -200,27 +200,34 @@ function clearSystem() {
}
function setMemImg(info){
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)');
setCookie("mem-before", $("#memory").text());
if (!getCookie('memSize')) setCookie('memSize', parseInt(info.memTotal));
var memRealUsed = toSize(info.memRealUsed);
var memTotal = toSize(info.memTotal);
var memRealUsedVal = memRealUsed.split(' ')[0];
var memTotalVal = memTotal.split(' ')[0];
var unit = memTotal.split(' ')[1];
var mem_txt = memRealUsedVal + '/' + memTotalVal + ' ('+ unit +')';
setCookie("mem-before", mem_txt);
$("#memory").html(mem_txt);
var memPre = Math.floor(info.memRealUsed / (info.memTotal / 100));
$("#left").html(memPre);
setcolor(memPre, "#left", 75, 90, 95);
$("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90);
setImg();
var memFree = info.memTotal - info.memRealUsed;
if (memFree/(1024*1024) < 64) {
$("#messageError").show();
$("#messageError").append('<p><span class="glyphicon glyphicon-alert" style="color: #ff4040; margin-right: 10px;">当前可用物理内存小于64M,这可能导致MySQL自动停止,站点502等错误,请尝试释放内存!</span></p>')
}
}
function getInfo() {
$.get("/system/system_total", function(info) {
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)');
setCookie("mem-before", $("#memory").text());
if (!getCookie('memSize')) setCookie('memSize', parseInt(info.memTotal));
var memPre = Math.floor(info.memRealUsed / (info.memTotal / 100));
$("#left").html(memPre);
setcolor(memPre, "#left", 75, 90, 95);
setMemImg(info);
$("#info").html(info.system);
$("#running").html(info.time);
var _system = info.system;
@ -241,13 +248,8 @@ function getInfo() {
}
$("#core").html(info.cpuNum + ' 核心');
$("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90);
var memFree = info.memTotal - info.memRealUsed;
if (memFree < 64) {
$("#messageError").show();
$("#messageError").append('<p><span class="glyphicon glyphicon-alert" style="color: #ff4040; margin-right: 10px;">' + lan.index.mem_warning + '</span> </p>')
}
setcolor(info.cpuRealUsed, "#state", 30, 70, 90);
// if (info.isuser > 0) {
// $("#messageError").show();
@ -281,6 +283,7 @@ function setcolor(pre, s, s1, s2, s3) {
function getNet() {
var up, down;
$.get("/system/network", function(net) {
$("#InterfaceSpeed").html(lan.index.interfacespeed + ": 1.0Gbps");
$("#upSpeed").html(toSize(net.up));
$("#downSpeed").html(toSize(net.down));
@ -293,12 +296,17 @@ function getNet() {
setcolor(net.cpu[0], "#state", 30, 70, 90);
setCookie("upNet", net.up);
setCookie("downNet", net.down);
//负载
getLoad(net.load);
// setMemImg(net.mem);
setImg();
//内存
setMemImg(net.mem);
//绑定hover事件
setImg();
showCpuTips(net);
},'json');
}
@ -344,7 +352,7 @@ function netImg() {
tmp = getCookie("downNet");
}
var tmpSize = toSize(tmp);
default_unit = tmpSize.split(' ')[1];
default_unit = tmpSize.split(' ')[1] + '/s';
var upNetTmp = toSize(getCookie("upNet"));
@ -399,14 +407,10 @@ function netImg() {
yAxis: {
name: '单位 '+ default_unit,
splitLine: {
lineStyle: {
color: "#eee"
}
lineStyle: { color: "#eee" }
},
axisLine: {
lineStyle: {
color: "#666"
}
lineStyle: { color: "#666" }
}
},
series: [{
@ -474,6 +478,11 @@ function netImg() {
getNet();
addData(true);
echartsNetImg.setOption({
yAxis: {
name: '单位 '+ default_unit,
splitLine: { lineStyle: { color: "#eee" } },
axisLine: { lineStyle: { color: "#666" } }
},
xAxis: {
data: xData
},
@ -632,7 +641,6 @@ function reBoot() {
content: '<div class="rebt-con"><div class="rebt-li"><a data-id="server" href="javascript:;">重启服务器</a></div><div class="rebt-li"><a data-id="panel" href="javascript:;">重启面板</a></div></div>'
});
$('.rebt-con a').click(function () {
var type = $(this).attr('data-id');
switch (type) {
@ -757,6 +765,7 @@ function setSafeHide() {
setCookie('safeMsg', '1');
$("#safeMsg").remove();
}
//查看报告
function showDanger(num, port) {
var atxt = "因未使用安全隔离登录,所有IP都可以尝试连接,存在较高风险,请立即处理。";
@ -770,15 +779,15 @@ function showDanger(num, port) {
closeBtn: 1,
shift: 5,
content: '<div class="pd20">\
<table class="f14 showDanger"><tbody>\
<tr><td class="text-right" width="150">风险类型</td><td class="f16" style="color:red">暴力破解 <a href="https://www.bt.cn/bbs/thread-9562-1-1.html" class="btlink f14" style="margin-left:10px" target="_blank">说明</a></td></tr>\
<tr><td class="text-right">累计遭遇攻击总数</td><td class="f16" style="color:red">' + num + ' <a href="javascript:showDangerIP();" class="btlink f14" style="margin-left:10px"></a><span class="c9 f12" style="margin-left:10px"></span></td></tr>\
<tr><td class="text-right">风险等级</td><td class="f16" style="color:red"></td></tr>\
<tr><td class="text-right" style="vertical-align:top">风险描述</td><td style="line-height:20px">' + atxt + '</td></tr>\
<tr><td class="text-right" style="vertical-align:top">可参考解决方案</td><td><p style="margin-bottom:8px">SSHSSH</p><p>便</p></td></tr>\
</tbody></table>\
<div class="mtb20 text-center"><a href="https://www.bt.cn/admin/index.html" target="_blank" class="btn btn-success">立即部署隔离防护</a></div>\
</div>'
<table class="f14 showDanger"><tbody>\
<tr><td class="text-right" width="150">风险类型</td><td class="f16" style="color:red">暴力破解 <a href="https://www.bt.cn/bbs/thread-9562-1-1.html" class="btlink f14" style="margin-left:10px" target="_blank">说明</a></td></tr>\
<tr><td class="text-right">累计遭遇攻击总数</td><td class="f16" style="color:red">' + num + ' <a href="javascript:showDangerIP();" class="btlink f14" style="margin-left:10px"></a><span class="c9 f12" style="margin-left:10px"></span></td></tr>\
<tr><td class="text-right">风险等级</td><td class="f16" style="color:red"></td></tr>\
<tr><td class="text-right" style="vertical-align:top">风险描述</td><td style="line-height:20px">' + atxt + '</td></tr>\
<tr><td class="text-right" style="vertical-align:top">可参考解决方案</td><td><p style="margin-bottom:8px">SSHSSH</p><p>便</p></td></tr>\
</tbody></table>\
<div class="mtb20 text-center"><a href="https://www.bt.cn/admin/index.html" target="_blank" class="btn btn-success">立即部署隔离防护</a></div>\
</div>'
});
$(".showDanger td").css("padding", "8px")
}

@ -403,7 +403,12 @@ function indexListHtml(callback){
//首页软件列表
function indexSoft() {
indexListHtml(function(){
$("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "<div class='col-sm-3 col-md-3 col-lg-3 dashed-border'></div>" });
$("#indexsoft").dragsort({
dragSelector: ".spanmove",
dragBetween: true,
dragEnd: saveOrder,
placeHolderTemplate: "<div class='col-sm-3 col-md-3 col-lg-3 dashed-border'></div>"
});
});
function saveOrder() {

@ -135,7 +135,7 @@ setTimeout(function() {
setTimeout(function() {
getInfo();
}, 1500);
}, 200);
</script>
{% endblock %}
Loading…
Cancel
Save