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
|
||||
|
||||
# If macSign & bsdSign are both empty, then it's linux
|
||||
macSign=\$(uname 2>&1 | grep "Darwin")
|
||||
bsdSign=\$(uname 2>&1 | grep "BSD")
|
||||
macSign=\$(uname -a 2>&1 | grep "Darwin")
|
||||
bsdSign=\$(uname -a 2>&1 | grep "BSD")
|
||||
|
||||
# Link /bin/sh to busybox?
|
||||
isBusybox=\$(ls -l /bin/sh | grep "busybox")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:toolbox/data/model/server/system.dart';
|
||||
import 'package:toolbox/data/res/logger.dart';
|
||||
|
||||
import '../app/shell_func.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 {
|
||||
final segments = req.segments;
|
||||
|
||||
try {
|
||||
final time = int.parse(StatusCmdType.time.find(segments));
|
||||
|
||||
final net = parseNetSpeed(StatusCmdType.net.find(segments), time);
|
||||
req.ss.netSpeed.update(net);
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
final sys = _parseSysVer(
|
||||
StatusCmdType.sys.find(segments),
|
||||
StatusCmdType.host.find(segments),
|
||||
@@ -44,54 +51,103 @@ Future<ServerStatus> _getLinuxStatus(ServerStatusUpdateReq req) async {
|
||||
if (sys != null) {
|
||||
req.ss.sysVer = sys;
|
||||
}
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
final cpus = parseCPU(StatusCmdType.cpu.find(segments));
|
||||
req.ss.cpu.update(cpus);
|
||||
|
||||
req.ss.temps.parse(
|
||||
StatusCmdType.tempType.find(segments),
|
||||
StatusCmdType.tempVal.find(segments),
|
||||
);
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
final tcp = parseConn(StatusCmdType.conn.find(segments));
|
||||
if (tcp != null) {
|
||||
req.ss.tcp = tcp;
|
||||
}
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
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));
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
final uptime = _parseUpTime(StatusCmdType.uptime.find(segments));
|
||||
if (uptime != null) {
|
||||
req.ss.uptime = uptime;
|
||||
}
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
req.ss.swap = parseSwap(StatusCmdType.mem.find(segments));
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
return req.ss;
|
||||
}
|
||||
|
||||
// Same as above, wrap with try-catch
|
||||
Future<ServerStatus> _getBsdStatus(ServerStatusUpdateReq req) async {
|
||||
final segments = req.segments;
|
||||
|
||||
try {
|
||||
final time = int.parse(BSDStatusCmdType.time.find(segments));
|
||||
|
||||
final net = parseBsdNetSpeed(BSDStatusCmdType.net.find(segments), time);
|
||||
req.ss.netSpeed.update(net);
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
req.ss.sysVer = BSDStatusCmdType.sys.find(segments);
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
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));
|
||||
if (uptime != null) {
|
||||
req.ss.uptime = uptime;
|
||||
}
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
|
||||
try {
|
||||
req.ss.disk = parseDisk(BSDStatusCmdType.disk.find(segments));
|
||||
|
||||
} catch (e, s) {
|
||||
Loggers.parse.warning(e, s);
|
||||
}
|
||||
return req.ss;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user