mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
@@ -122,8 +122,8 @@ fi''';
|
|||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
|
|
||||||
# If macSign & bsdSign are both empty, then it's linux
|
# If macSign & bsdSign are both empty, then it's linux
|
||||||
macSign=\$(uname 2>&1 | grep "Darwin")
|
macSign=\$(uname -a 2>&1 | grep "Darwin")
|
||||||
bsdSign=\$(uname 2>&1 | grep "BSD")
|
bsdSign=\$(uname -a 2>&1 | grep "BSD")
|
||||||
|
|
||||||
# Link /bin/sh to busybox?
|
# Link /bin/sh to busybox?
|
||||||
isBusybox=\$(ls -l /bin/sh | grep "busybox")
|
isBusybox=\$(ls -l /bin/sh | grep "busybox")
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:toolbox/data/model/server/system.dart';
|
import 'package:toolbox/data/model/server/system.dart';
|
||||||
|
import 'package:toolbox/data/res/logger.dart';
|
||||||
|
|
||||||
import '../app/shell_func.dart';
|
import '../app/shell_func.dart';
|
||||||
import 'cpu.dart';
|
import 'cpu.dart';
|
||||||
@@ -29,14 +30,20 @@ Future<ServerStatus> getStatus(ServerStatusUpdateReq req) async {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Wrap each operation with a try-catch, so that if one operation fails,
|
||||||
|
// the following operations can still be executed.
|
||||||
Future<ServerStatus> _getLinuxStatus(ServerStatusUpdateReq req) async {
|
Future<ServerStatus> _getLinuxStatus(ServerStatusUpdateReq req) async {
|
||||||
final segments = req.segments;
|
final segments = req.segments;
|
||||||
|
|
||||||
|
try {
|
||||||
final time = int.parse(StatusCmdType.time.find(segments));
|
final time = int.parse(StatusCmdType.time.find(segments));
|
||||||
|
|
||||||
final net = parseNetSpeed(StatusCmdType.net.find(segments), time);
|
final net = parseNetSpeed(StatusCmdType.net.find(segments), time);
|
||||||
req.ss.netSpeed.update(net);
|
req.ss.netSpeed.update(net);
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
final sys = _parseSysVer(
|
final sys = _parseSysVer(
|
||||||
StatusCmdType.sys.find(segments),
|
StatusCmdType.sys.find(segments),
|
||||||
StatusCmdType.host.find(segments),
|
StatusCmdType.host.find(segments),
|
||||||
@@ -44,54 +51,103 @@ Future<ServerStatus> _getLinuxStatus(ServerStatusUpdateReq req) async {
|
|||||||
if (sys != null) {
|
if (sys != null) {
|
||||||
req.ss.sysVer = sys;
|
req.ss.sysVer = sys;
|
||||||
}
|
}
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
final cpus = parseCPU(StatusCmdType.cpu.find(segments));
|
final cpus = parseCPU(StatusCmdType.cpu.find(segments));
|
||||||
req.ss.cpu.update(cpus);
|
req.ss.cpu.update(cpus);
|
||||||
|
|
||||||
req.ss.temps.parse(
|
req.ss.temps.parse(
|
||||||
StatusCmdType.tempType.find(segments),
|
StatusCmdType.tempType.find(segments),
|
||||||
StatusCmdType.tempVal.find(segments),
|
StatusCmdType.tempVal.find(segments),
|
||||||
);
|
);
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
final tcp = parseConn(StatusCmdType.conn.find(segments));
|
final tcp = parseConn(StatusCmdType.conn.find(segments));
|
||||||
if (tcp != null) {
|
if (tcp != null) {
|
||||||
req.ss.tcp = tcp;
|
req.ss.tcp = tcp;
|
||||||
}
|
}
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.disk = parseDisk(StatusCmdType.disk.find(segments));
|
req.ss.disk = parseDisk(StatusCmdType.disk.find(segments));
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.mem = parseMem(StatusCmdType.mem.find(segments));
|
req.ss.mem = parseMem(StatusCmdType.mem.find(segments));
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
final uptime = _parseUpTime(StatusCmdType.uptime.find(segments));
|
final uptime = _parseUpTime(StatusCmdType.uptime.find(segments));
|
||||||
if (uptime != null) {
|
if (uptime != null) {
|
||||||
req.ss.uptime = uptime;
|
req.ss.uptime = uptime;
|
||||||
}
|
}
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.swap = parseSwap(StatusCmdType.mem.find(segments));
|
req.ss.swap = parseSwap(StatusCmdType.mem.find(segments));
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
return req.ss;
|
return req.ss;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Same as above, wrap with try-catch
|
||||||
Future<ServerStatus> _getBsdStatus(ServerStatusUpdateReq req) async {
|
Future<ServerStatus> _getBsdStatus(ServerStatusUpdateReq req) async {
|
||||||
final segments = req.segments;
|
final segments = req.segments;
|
||||||
|
|
||||||
|
try {
|
||||||
final time = int.parse(BSDStatusCmdType.time.find(segments));
|
final time = int.parse(BSDStatusCmdType.time.find(segments));
|
||||||
|
|
||||||
final net = parseBsdNetSpeed(BSDStatusCmdType.net.find(segments), time);
|
final net = parseBsdNetSpeed(BSDStatusCmdType.net.find(segments), time);
|
||||||
req.ss.netSpeed.update(net);
|
req.ss.netSpeed.update(net);
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.sysVer = BSDStatusCmdType.sys.find(segments);
|
req.ss.sysVer = BSDStatusCmdType.sys.find(segments);
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.cpu = parseBsdCpu(BSDStatusCmdType.cpu.find(segments));
|
req.ss.cpu = parseBsdCpu(BSDStatusCmdType.cpu.find(segments));
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
//req.ss.mem = parseBsdMem(BSDStatusCmdType.mem.find(segments));
|
// try {
|
||||||
|
// req.ss.mem = parseBsdMem(BSDStatusCmdType.mem.find(segments));
|
||||||
|
// } catch (e, s) {
|
||||||
|
// Loggers.parse.warning(e, s);
|
||||||
|
// }
|
||||||
|
|
||||||
|
try {
|
||||||
final uptime = _parseUpTime(BSDStatusCmdType.uptime.find(segments));
|
final uptime = _parseUpTime(BSDStatusCmdType.uptime.find(segments));
|
||||||
if (uptime != null) {
|
if (uptime != null) {
|
||||||
req.ss.uptime = uptime;
|
req.ss.uptime = uptime;
|
||||||
}
|
}
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
req.ss.disk = parseDisk(BSDStatusCmdType.disk.find(segments));
|
req.ss.disk = parseDisk(BSDStatusCmdType.disk.find(segments));
|
||||||
|
} catch (e, s) {
|
||||||
|
Loggers.parse.warning(e, s);
|
||||||
|
}
|
||||||
return req.ss;
|
return req.ss;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user