mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 15:24:35 +01:00
@@ -1,13 +1,13 @@
|
||||
import '../../../core/extension/stringx.dart';
|
||||
import '../../res/misc.dart';
|
||||
|
||||
class ConnStatus {
|
||||
class Conn {
|
||||
final int maxConn;
|
||||
final int active;
|
||||
final int passive;
|
||||
final int fail;
|
||||
|
||||
ConnStatus({
|
||||
Conn({
|
||||
required this.maxConn,
|
||||
required this.active,
|
||||
required this.passive,
|
||||
@@ -15,13 +15,13 @@ class ConnStatus {
|
||||
});
|
||||
}
|
||||
|
||||
ConnStatus? parseConn(String raw) {
|
||||
Conn? parseConn(String raw) {
|
||||
final lines = raw.split('\n');
|
||||
final idx = lines.lastWhere((element) => element.startsWith('Tcp:'),
|
||||
orElse: () => '');
|
||||
if (idx != '') {
|
||||
final vals = idx.split(numReg);
|
||||
return ConnStatus(
|
||||
return Conn(
|
||||
maxConn: vals[5].i,
|
||||
active: vals[6].i,
|
||||
passive: vals[7].i,
|
||||
@@ -1,7 +1,7 @@
|
||||
class CpuStatus {
|
||||
class Cpus {
|
||||
List<OneTimeCpuStatus> _pre;
|
||||
List<OneTimeCpuStatus> _now;
|
||||
CpuStatus(this._pre, this._now);
|
||||
Cpus(this._pre, this._now);
|
||||
|
||||
double usedPercent({int coreIdx = 0}) {
|
||||
if (_now.length != _pre.length) return 0;
|
||||
@@ -1,6 +1,6 @@
|
||||
import '../../res/misc.dart';
|
||||
|
||||
class DiskInfo {
|
||||
class Disk {
|
||||
final String path;
|
||||
final String loc;
|
||||
final int usedPercent;
|
||||
@@ -8,7 +8,7 @@ class DiskInfo {
|
||||
final String size;
|
||||
final String avail;
|
||||
|
||||
DiskInfo({
|
||||
Disk({
|
||||
required this.path,
|
||||
required this.loc,
|
||||
required this.usedPercent,
|
||||
@@ -18,8 +18,8 @@ class DiskInfo {
|
||||
});
|
||||
}
|
||||
|
||||
List<DiskInfo> parseDisk(String raw) {
|
||||
final list = <DiskInfo>[];
|
||||
List<Disk> parseDisk(String raw) {
|
||||
final list = <Disk>[];
|
||||
final items = raw.split('\n');
|
||||
items.removeAt(0);
|
||||
var pathCache = '';
|
||||
@@ -36,7 +36,7 @@ List<DiskInfo> parseDisk(String raw) {
|
||||
vals[0] = pathCache;
|
||||
pathCache = '';
|
||||
}
|
||||
list.add(DiskInfo(
|
||||
list.add(Disk(
|
||||
path: vals[0],
|
||||
loc: vals[5],
|
||||
usedPercent: int.parse(vals[4].replaceFirst('%', '')),
|
||||
@@ -1,19 +1,19 @@
|
||||
import 'package:toolbox/data/model/server/temp.dart';
|
||||
|
||||
import 'cpu_status.dart';
|
||||
import 'disk_info.dart';
|
||||
import 'cpu.dart';
|
||||
import 'disk.dart';
|
||||
import 'memory.dart';
|
||||
import 'net_speed.dart';
|
||||
import 'conn_status.dart';
|
||||
import 'conn.dart';
|
||||
|
||||
class ServerStatus {
|
||||
CpuStatus cpu;
|
||||
Cpus cpu;
|
||||
Memory mem;
|
||||
Swap swap;
|
||||
String sysVer;
|
||||
String uptime;
|
||||
List<DiskInfo> disk;
|
||||
ConnStatus tcp;
|
||||
List<Disk> disk;
|
||||
Conn tcp;
|
||||
NetSpeed netSpeed;
|
||||
Temperatures temps;
|
||||
String? failedInfo;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import '../../res/server_cmd.dart';
|
||||
import 'cpu_status.dart';
|
||||
import 'disk_info.dart';
|
||||
import 'cpu.dart';
|
||||
import 'disk.dart';
|
||||
import 'memory.dart';
|
||||
import 'net_speed.dart';
|
||||
import 'server_status.dart';
|
||||
import 'conn_status.dart';
|
||||
import 'conn.dart';
|
||||
|
||||
class ServerStatusUpdateReq {
|
||||
final ServerStatus ss;
|
||||
|
||||
@@ -85,7 +85,8 @@ class SftpDownloadWorker {
|
||||
mainSendPort.send((i + form.length) / size * 100);
|
||||
}
|
||||
}
|
||||
localFile.close();
|
||||
await localFile.close();
|
||||
await file.close();
|
||||
mainSendPort.send(watch.elapsed);
|
||||
mainSendPort.send(SftpWorkerStatus.finished);
|
||||
} catch (e) {
|
||||
|
||||
@@ -17,4 +17,4 @@ class VirtualKey {
|
||||
});
|
||||
}
|
||||
|
||||
enum VirtualKeyFunc { toggleIME, backspace, copy, paste, snippet }
|
||||
enum VirtualKeyFunc { toggleIME, backspace, copy, paste, snippet, file }
|
||||
|
||||
@@ -20,6 +20,7 @@ import 'package:highlight/languages/nix.dart';
|
||||
import 'package:highlight/languages/objectivec.dart';
|
||||
import 'package:highlight/languages/perl.dart';
|
||||
import 'package:highlight/languages/php.dart';
|
||||
import 'package:highlight/languages/plaintext.dart';
|
||||
import 'package:highlight/languages/powershell.dart';
|
||||
import 'package:highlight/languages/python.dart';
|
||||
import 'package:highlight/languages/ruby.dart';
|
||||
@@ -34,7 +35,7 @@ import 'package:highlight/languages/yaml.dart';
|
||||
|
||||
// KEY: fileNameSuffix
|
||||
// VAL: highlight
|
||||
final _suffix2HighlightMap = {
|
||||
final suffix2HighlightMap = {
|
||||
'dart': dart,
|
||||
'go': go,
|
||||
'rust': rust,
|
||||
@@ -68,12 +69,16 @@ final _suffix2HighlightMap = {
|
||||
'html': htmlbars,
|
||||
'tex': tex,
|
||||
'vim': vim,
|
||||
'plaintext': plaintext,
|
||||
};
|
||||
|
||||
extension HighlightString on String? {
|
||||
Mode? get highlight {
|
||||
return suffix2HighlightMap[highlightCode];
|
||||
}
|
||||
|
||||
String? get highlightCode {
|
||||
if (this == null) return null;
|
||||
final suffix = this!.split('.').last;
|
||||
return _suffix2HighlightMap[suffix];
|
||||
return this!.split('.').last;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@ final numReg = RegExp(r'\s{1,}');
|
||||
/// Private Key max allowed size is 20kb
|
||||
const privateKeyMaxSize = 20 * 1024;
|
||||
|
||||
// Editor max allowed size is 1mb
|
||||
const editorMaxSize = 1024 * 1024;
|
||||
|
||||
/// Max debug log lines
|
||||
const maxDebugLogLines = 100;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:toolbox/data/model/server/temp.dart';
|
||||
|
||||
import '../model/server/cpu_status.dart';
|
||||
import '../model/server/disk_info.dart';
|
||||
import '../model/server/cpu.dart';
|
||||
import '../model/server/disk.dart';
|
||||
import '../model/server/memory.dart';
|
||||
import '../model/server/net_speed.dart';
|
||||
import '../model/server/server_status.dart';
|
||||
import '../model/server/conn_status.dart';
|
||||
import '../model/server/conn.dart';
|
||||
|
||||
Memory get _initMemory => Memory(
|
||||
total: 1,
|
||||
@@ -23,7 +23,7 @@ OneTimeCpuStatus get _initOneTimeCpuStatus => OneTimeCpuStatus(
|
||||
0,
|
||||
0,
|
||||
);
|
||||
CpuStatus get initCpuStatus => CpuStatus(
|
||||
Cpus get initCpuStatus => Cpus(
|
||||
[_initOneTimeCpuStatus],
|
||||
[_initOneTimeCpuStatus],
|
||||
);
|
||||
@@ -48,7 +48,7 @@ ServerStatus get initStatus => ServerStatus(
|
||||
sysVer: 'Loading...',
|
||||
uptime: '',
|
||||
disk: [
|
||||
DiskInfo(
|
||||
Disk(
|
||||
path: '/',
|
||||
loc: '/',
|
||||
usedPercent: 0,
|
||||
@@ -57,7 +57,7 @@ ServerStatus get initStatus => ServerStatus(
|
||||
avail: '0',
|
||||
)
|
||||
],
|
||||
tcp: ConnStatus(maxConn: 0, active: 0, passive: 0, fail: 0),
|
||||
tcp: Conn(maxConn: 0, active: 0, passive: 0, fail: 0),
|
||||
netSpeed: initNetSpeed,
|
||||
swap: _initSwap,
|
||||
temps: Temperatures(),
|
||||
|
||||
@@ -10,9 +10,9 @@ final virtualKeys = [
|
||||
VirtualKey('Up', key: TerminalKey.arrowUp, icon: Icons.arrow_upward),
|
||||
VirtualKey('End', key: TerminalKey.end),
|
||||
VirtualKey(
|
||||
'Del',
|
||||
key: TerminalKey.delete,
|
||||
icon: Icons.backspace,
|
||||
'File',
|
||||
func: VirtualKeyFunc.file,
|
||||
icon: Icons.file_open,
|
||||
),
|
||||
VirtualKey('Snippet', func: VirtualKeyFunc.snippet, icon: Icons.code),
|
||||
VirtualKey('Tab', key: TerminalKey.tab),
|
||||
|
||||
Reference in New Issue
Block a user