CH-J Tools MobileSSH के ज़रिए सर्वर प्रबंधन
मेनू
प्रकाशित सोर्स

CH-J Tools Mobile

किसी विशेष ऐप्लिकेशन रिलीज़ की डायरेक्टरी और फ़ाइलें देखें।

सोर्स ZIP डाउनलोड करें
CH-J / CH-J Tools Mobile 175 फ़ाइलें
sm-mobile-20261016T185235Z-8e93ecc1b59a जोड़ा गया: · बिल्ड किया गया:
profile_transfer.dart जोड़ा गया: तारीख दर्ज नहीं 1.2 KB · 40 पंक्तियाँ
कोड फ़ाइल डाउनलोड करें
1import 'dart:convert';
2import '../core/failure.dart';
3import '../models/server_profile.dart';
5class ProfileTransfer {
6 static const maxBytes = 5 * 1024 * 1024;
7 static List<ServerProfile> decode(List<int> bytes) {
8 if (bytes.length > maxBytes) throw const Failure('invalidImport');
9 try {
10 final text = utf8.decode(bytes).replaceFirst(RegExp(r'^\uFEFF'), '');
11 final data = jsonDecode(text);
12 if (data is! Map ||
13 data['format'] != 'chj-server-profiles' ||
14 data['version'] != 1 ||
15 data['servers'] is! List ||
16 data['servers'].isEmpty ||
17 data['servers'].length > 10000) {
18 throw const Failure('invalidImport');
19 }
20 return (data['servers'] as List)
21 .map(
22 (e) => ServerProfile.fromJson(
23 Map<String, dynamic>.from(e),
24 portable: true,
25 ),
26 )
27 .toList();
28 } catch (_) {
29 throw const Failure('invalidImport');
30 }
31 }
33 static List<int> encode(List<ServerProfile> profiles) => utf8.encode(
34 const JsonEncoder.withIndent(' ').convert({
35 'format': 'chj-server-profiles',
36 'version': 1,
37 'servers': profiles.map((p) => p.portable()).toList(),
38 }),
39 );
SHA-2569d6b8526a0dabf2e6524e9ddf9a0ed29048131d73d927d0e3262a5e596f93b9a

CH-J Proprietary Software License 1.14 · सोर्स CH-J Proprietary Software License 1.14 के तहत उपलब्ध कराया जाता है। इसकी उपलब्धता लाइसेंस की शर्तें नहीं बदलती और न ही अतिरिक्त अधिकार देती है।

आर्काइव SHA-25646e427a43e87af091004f36145590bda8fe90086dfb0f631afeb5029fb0b5655
फ़ाइलें