From ff8bc49074488b59560555f191088baab44cafe0 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Tue, 16 Apr 2024 00:19:00 +0800 Subject: [PATCH] fix: wrong hostname display (#336) --- lib/data/model/app/shell_func.dart | 8 ++++---- lib/data/model/server/server_status_update_req.dart | 10 ++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/data/model/app/shell_func.dart b/lib/data/model/app/shell_func.dart index 4a4237e4..4fe19766 100644 --- a/lib/data/model/app/shell_func.dart +++ b/lib/data/model/app/shell_func.dart @@ -18,7 +18,7 @@ enum ShellFunc { /// The suffix `\t` is for formatting static const cmdDivider = '\necho $seperator\n\t'; static const _srvBoxDir = '.config/server_box'; - static const _scriptFile = 'mobile_v${BuildData.script}.sh'; + static const scriptFile = 'mobile_v${BuildData.script}.sh'; /// Issue #159 /// @@ -27,10 +27,10 @@ enum ShellFunc { /// So different version of app can run at the same time. /// /// **Can't** use it in SFTP, because SFTP can't recognize `$HOME` - static String getShellPath(String home) => '$home/$_srvBoxDir/$_scriptFile'; + static String getShellPath(String home) => '$home/$_srvBoxDir/$scriptFile'; static const srvBoxDir = '$_homeVar/$_srvBoxDir'; - static const _installShellPath = '$_homeVar/$_srvBoxDir/$_scriptFile'; + static const _installShellPath = '$_homeVar/$_srvBoxDir/$scriptFile'; // Issue #299, chmod ~/.config to avoid permission issue static const installShellCmd = """ @@ -226,7 +226,7 @@ const _statusCmds = [ "cat /proc/meminfo | grep -E 'Mem|Swap'", 'cat /sys/class/thermal/thermal_zone*/type', 'cat /sys/class/thermal/thermal_zone*/temp', - 'hostname', + 'cat /etc/hostname', 'cat /proc/diskstats', 'for f in /sys/class/power_supply/*/uevent; do cat "\$f"; echo; done', 'nvidia-smi -q -x', diff --git a/lib/data/model/server/server_status_update_req.dart b/lib/data/model/server/server_status_update_req.dart index 6fb924ab..ac79fa09 100644 --- a/lib/data/model/server/server_status_update_req.dart +++ b/lib/data/model/server/server_status_update_req.dart @@ -60,8 +60,8 @@ Future _getLinuxStatus(ServerStatusUpdateReq req) async { } try { - final host = StatusCmdType.host.find(segments); - if (host.isNotEmpty) { + final host = _parseHostName(StatusCmdType.host.find(segments)); + if (host != null) { req.ss.more[StatusCmdType.host] = host; } } catch (e, s) { @@ -237,3 +237,9 @@ String? _parseSysVer(String raw) { } return null; } + +String? _parseHostName(String raw) { + if (raw.isEmpty) return null; + if (raw.contains(ShellFunc.scriptFile)) return null; + return raw; +}