opt.: sftp home & back (#533)

This commit is contained in:
lollipopkit🏳️‍⚧️
2024-08-14 19:01:44 +08:00
committed by GitHub
parent 41e3fcb23a
commit 267b0b0a69
59 changed files with 466 additions and 477 deletions

View File

@@ -1,4 +1,4 @@
import '../../res/misc.dart';
import 'package:server_box/data/res/misc.dart';
class Conn {
final int maxConn;

View File

@@ -30,11 +30,11 @@ final class ServerCustom {
static ServerCustom fromJson(Map<String, dynamic> json) {
//final temperature = json["temperature"] as String?;
final pveAddr = json["pveAddr"] as String?;
final pveIgnoreCert = json["pveIgnoreCert"] as bool;
final cmds = json["cmds"] as Map<String, dynamic>?;
final preferTempDev = json["preferTempDev"] as String?;
final logoUrl = json["logoUrl"] as String?;
final pveAddr = json['pveAddr'] as String?;
final pveIgnoreCert = json['pveIgnoreCert'] as bool;
final cmds = json['cmds'] as Map<String, dynamic>?;
final preferTempDev = json['preferTempDev'] as String?;
final logoUrl = json['logoUrl'] as String?;
return ServerCustom(
//temperature: temperature,
pveAddr: pveAddr,
@@ -51,18 +51,18 @@ final class ServerCustom {
// json["temperature"] = temperature;
// }
if (pveAddr != null) {
json["pveAddr"] = pveAddr;
json['pveAddr'] = pveAddr;
}
json["pveIgnoreCert"] = pveIgnoreCert;
json['pveIgnoreCert'] = pveIgnoreCert;
if (cmds != null) {
json["cmds"] = cmds;
json['cmds'] = cmds;
}
if (preferTempDev != null) {
json["preferTempDev"] = preferTempDev;
json['preferTempDev'] = preferTempDev;
}
if (logoUrl != null) {
json["logoUrl"] = logoUrl;
json['logoUrl'] = logoUrl;
}
return json;
}

View File

@@ -1,7 +1,7 @@
import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/server/time_seq.dart';
import '../../res/misc.dart';
import 'package:server_box/data/res/misc.dart';
class Disk {
final String fs;

View File

@@ -1,6 +1,6 @@
import 'package:fl_lib/fl_lib.dart';
import 'time_seq.dart';
import 'package:server_box/data/model/server/time_seq.dart';
class NetSpeedPart extends TimeSeqIface<NetSpeedPart> {
final String device;

View File

@@ -28,13 +28,13 @@ class PrivateKeyInfo {
}
PrivateKeyInfo.fromJson(Map<String, dynamic> json)
: id = json["id"].toString(),
key = json["private_key"].toString();
: id = json['id'].toString(),
key = json['private_key'].toString();
Map<String, dynamic> toJson() {
final data = <String, String>{};
data["id"] = id;
data["private_key"] = key;
data['id'] = id;
data['private_key'] = key;
return data;
}
}

View File

@@ -1,6 +1,6 @@
import 'package:fl_lib/fl_lib.dart';
import '../../../data/res/misc.dart';
import 'package:server_box/data/res/misc.dart';
class _ProcValIdxMap {
final int pid;
@@ -58,7 +58,7 @@ class Proc {
required this.command,
});
factory Proc.parse(String raw, _ProcValIdxMap map) {
factory Proc._parse(String raw, _ProcValIdxMap map) {
final parts = raw.split(RegExp(r'\s+'));
return Proc(
user: map.user == null ? null : parts[map.user!],
@@ -139,7 +139,7 @@ class PsResult {
final line = lines[i];
if (line.isEmpty) continue;
try {
procs.add(Proc.parse(line, map));
procs.add(Proc._parse(line, map));
} catch (e, trace) {
errs.add('$line: $e');
Loggers.app.warning('Process failed', e, trace);

View File

@@ -90,5 +90,5 @@ enum ServerConn {
/// Status parsing finished
finished;
operator <(ServerConn other) => index < other.index;
bool operator <(ServerConn other) => index < other.index;
}

View File

@@ -6,7 +6,7 @@ import 'package:server_box/data/model/server/server.dart';
import 'package:server_box/data/model/server/wol_cfg.dart';
import 'package:server_box/data/res/provider.dart';
import '../app/error.dart';
import 'package:server_box/data/model/app/error.dart';
part 'server_private_info.g.dart';
@@ -67,23 +67,23 @@ class ServerPrivateInfo {
}) : id = '$user@$ip:$port';
static ServerPrivateInfo fromJson(Map<String, dynamic> json) {
final ip = json["ip"] as String? ?? '';
final port = json["port"] as int? ?? 22;
final user = json["user"] as String? ?? 'root';
final name = json["name"] as String? ?? '';
final pwd = json["pwd"] as String? ?? json["authorization"] as String?;
final keyId = json["pubKeyId"] as String?;
final tags = (json["tags"] as List?)?.cast<String>();
final alterUrl = json["alterUrl"] as String?;
final autoConnect = json["autoConnect"] as bool?;
final jumpId = json["jumpId"] as String?;
final custom = json["customCmd"] == null
final ip = json['ip'] as String? ?? '';
final port = json['port'] as int? ?? 22;
final user = json['user'] as String? ?? 'root';
final name = json['name'] as String? ?? '';
final pwd = json['pwd'] as String? ?? json['authorization'] as String?;
final keyId = json['pubKeyId'] as String?;
final tags = (json['tags'] as List?)?.cast<String>();
final alterUrl = json['alterUrl'] as String?;
final autoConnect = json['autoConnect'] as bool?;
final jumpId = json['jumpId'] as String?;
final custom = json['customCmd'] == null
? null
: ServerCustom.fromJson(json["custom"].cast<String, dynamic>());
final wolCfg = json["wolCfg"] == null
: ServerCustom.fromJson(json['custom'].cast<String, dynamic>());
final wolCfg = json['wolCfg'] == null
? null
: WakeOnLanCfg.fromJson(json["wolCfg"].cast<String, dynamic>());
final envs_ = json["envs"] as Map<String, dynamic>?;
: WakeOnLanCfg.fromJson(json['wolCfg'].cast<String, dynamic>());
final envs_ = json['envs'] as Map<String, dynamic>?;
final envs = <String, String>{};
if (envs_ != null) {
envs_.forEach((key, value) {
@@ -112,36 +112,36 @@ class ServerPrivateInfo {
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data["name"] = name;
data["ip"] = ip;
data["port"] = port;
data["user"] = user;
data['name'] = name;
data['ip'] = ip;
data['port'] = port;
data['user'] = user;
if (pwd != null) {
data["pwd"] = pwd;
data['pwd'] = pwd;
}
if (keyId != null) {
data["pubKeyId"] = keyId;
data['pubKeyId'] = keyId;
}
if (tags != null) {
data["tags"] = tags;
data['tags'] = tags;
}
if (alterUrl != null) {
data["alterUrl"] = alterUrl;
data['alterUrl'] = alterUrl;
}
if (autoConnect != null) {
data["autoConnect"] = autoConnect;
data['autoConnect'] = autoConnect;
}
if (jumpId != null) {
data["jumpId"] = jumpId;
data['jumpId'] = jumpId;
}
if (custom != null) {
data["custom"] = custom?.toJson();
data['custom'] = custom?.toJson();
}
if (wolCfg != null) {
data["wolCfg"] = wolCfg?.toJson();
data['wolCfg'] = wolCfg?.toJson();
}
if (envs != null) {
data["envs"] = envs;
data['envs'] = envs;
}
return data;
}
@@ -160,7 +160,7 @@ class ServerPrivateInfo {
custom?.cmds != old.custom?.cmds;
}
_IpPort fromStringUrl() {
IpPort fromStringUrl() {
if (alterUrl == null) {
throw SSHErr(type: SSHErrType.connect, message: 'alterUrl is null');
}
@@ -177,7 +177,7 @@ class ServerPrivateInfo {
if (port <= 0 || port > 65535) {
throw SSHErr(type: SSHErrType.connect, message: 'alterUrl port error');
}
return _IpPort(ip_, port_);
return IpPort(ip_, port_);
}
@override
@@ -208,9 +208,9 @@ class ServerPrivateInfo {
);
}
class _IpPort {
class IpPort {
final String ip;
final int port;
_IpPort(this.ip, this.port);
IpPort(this.ip, this.port);
}

View File

@@ -5,12 +5,12 @@ import 'package:server_box/data/model/server/sensors.dart';
import 'package:server_box/data/model/server/server.dart';
import 'package:server_box/data/model/server/system.dart';
import '../app/shell_func.dart';
import 'cpu.dart';
import 'disk.dart';
import 'memory.dart';
import 'net_speed.dart';
import 'conn.dart';
import 'package:server_box/data/model/app/shell_func.dart';
import 'package:server_box/data/model/server/cpu.dart';
import 'package:server_box/data/model/server/disk.dart';
import 'package:server_box/data/model/server/memory.dart';
import 'package:server_box/data/model/server/net_speed.dart';
import 'package:server_box/data/model/server/conn.dart';
class ServerStatusUpdateReq {
final ServerStatus ss;

View File

@@ -5,7 +5,7 @@ import 'package:hive_flutter/hive_flutter.dart';
import 'package:server_box/data/model/server/server_private_info.dart';
import 'package:xterm/core.dart';
import '../app/tag_pickable.dart';
import 'package:server_box/data/model/app/tag_pickable.dart';
part 'snippet.g.dart';