connect.dart 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. class Connect {
  2. Connect({
  3. required this.downloadTotal,
  4. required this.uploadTotal,
  5. required this.connections,
  6. });
  7. late int downloadTotal;
  8. late int uploadTotal;
  9. late List<ConnectConnection> connections;
  10. Connect.fromJson(Map<String, dynamic> json) {
  11. downloadTotal = json['downloadTotal'];
  12. uploadTotal = json['uploadTotal'];
  13. connections = List.from(json['connections']).map((e) => ConnectConnection.fromJson(e)).toList();
  14. }
  15. Map<String, dynamic> toJson() {
  16. final data = <String, dynamic>{};
  17. data['downloadTotal'] = downloadTotal;
  18. data['uploadTotal'] = uploadTotal;
  19. data['connections'] = connections.map((e) => e.toJson()).toList();
  20. return data;
  21. }
  22. @override
  23. String toString() {
  24. return toJson().toString();
  25. }
  26. }
  27. class ConnectConnection {
  28. ConnectConnection({
  29. required this.id,
  30. required this.speed,
  31. required this.metadata,
  32. required this.upload,
  33. required this.download,
  34. required this.start,
  35. required this.chains,
  36. required this.rule,
  37. required this.rulePayload,
  38. });
  39. late String id;
  40. late ConnectConnectionSpeed speed;
  41. late ConnectConnectionMetadata metadata;
  42. late int upload;
  43. late int download;
  44. late String start;
  45. late List<String> chains;
  46. late String rule;
  47. late String rulePayload;
  48. ConnectConnection.fromJson(Map<String, dynamic> json) {
  49. id = json['id'];
  50. speed = ConnectConnectionSpeed.fromJson(json['speed']);
  51. metadata = ConnectConnectionMetadata.fromJson(json['metadata']);
  52. upload = json['upload'];
  53. download = json['download'];
  54. start = json['start'];
  55. chains = List.castFrom<dynamic, String>(json['chains']);
  56. rule = json['rule'];
  57. rulePayload = json['rulePayload'];
  58. }
  59. Map<String, dynamic> toJson() {
  60. final data = <String, dynamic>{};
  61. data['id'] = id;
  62. data['speed'] = speed.toJson();
  63. data['metadata'] = metadata.toJson();
  64. data['upload'] = upload;
  65. data['download'] = download;
  66. data['start'] = start;
  67. data['chains'] = chains;
  68. data['rule'] = rule;
  69. data['rulePayload'] = rulePayload;
  70. return data;
  71. }
  72. @override
  73. String toString() {
  74. return toJson().toString();
  75. }
  76. }
  77. class ConnectConnectionSpeed {
  78. ConnectConnectionSpeed({
  79. required this.download,
  80. required this.upload,
  81. });
  82. late int download;
  83. late int upload;
  84. ConnectConnectionSpeed.fromJson(Map<String, dynamic>? json) {
  85. download = json?['download'] ?? 0;
  86. upload = json?['upload'] ?? 0;
  87. }
  88. Map<String, dynamic> toJson() {
  89. final data = <String, dynamic>{};
  90. data['download'] = download;
  91. data['upload'] = upload;
  92. return data;
  93. }
  94. @override
  95. String toString() {
  96. return toJson().toString();
  97. }
  98. }
  99. class ConnectConnectionMetadata {
  100. ConnectConnectionMetadata({
  101. required this.network,
  102. required this.type,
  103. required this.sourceIP,
  104. required this.destinationIP,
  105. required this.sourcePort,
  106. required this.destinationPort,
  107. required this.host,
  108. required this.dnsMode,
  109. required this.processPath,
  110. });
  111. late String network;
  112. late String type;
  113. late String sourceIP;
  114. late String destinationIP;
  115. late String sourcePort;
  116. late String destinationPort;
  117. late String host;
  118. late String dnsMode;
  119. late String processPath;
  120. ConnectConnectionMetadata.fromJson(Map<String, dynamic> json) {
  121. network = json['network'];
  122. type = json['type'];
  123. sourceIP = json['sourceIP'];
  124. destinationIP = json['destinationIP'];
  125. sourcePort = json['sourcePort'];
  126. destinationPort = json['destinationPort'];
  127. host = json['host'];
  128. dnsMode = json['dnsMode'];
  129. processPath = json['processPath'];
  130. }
  131. Map<String, dynamic> toJson() {
  132. final data = <String, dynamic>{};
  133. data['network'] = network;
  134. data['type'] = type;
  135. data['sourceIP'] = sourceIP;
  136. data['destinationIP'] = destinationIP;
  137. data['sourcePort'] = sourcePort;
  138. data['destinationPort'] = destinationPort;
  139. data['host'] = host;
  140. data['dnsMode'] = dnsMode;
  141. data['processPath'] = processPath;
  142. return data;
  143. }
  144. @override
  145. String toString() {
  146. return toJson().toString();
  147. }
  148. }