devicely 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/devicely.js +1 -1
- package/config/devices.conf +1 -1
- package/lib/advanced-logger.js +1 -0
- package/lib/aiProviders.js +1 -592
- package/lib/aiProviders.js.strategic-backup +657 -0
- package/lib/aiProvidersConfig.js +1 -171
- package/lib/androidDeviceDetection.js +1 -1
- package/lib/appMappings.js +1 -1
- package/lib/cognitiveLocator.js +1 -1
- package/lib/commanderService.js +1 -1
- package/lib/deviceDetection.js +1 -1
- package/lib/devices.js +1 -1
- package/lib/devices.js.strategic-backup +57 -0
- package/lib/doctor.js +1 -1
- package/lib/encryption.js +1 -1
- package/lib/encryption.js.strategic-backup +61 -0
- package/lib/executor.js +1 -1
- package/lib/executor.js.strategic-backup +107 -0
- package/lib/frontend/asset-manifest.json +3 -3
- package/lib/frontend/index.html +1 -1
- package/lib/frontend/static/js/main.686bc72a.js +3 -0
- package/lib/hybridAI.js +1 -0
- package/lib/intelligentLocatorService.js +1 -0
- package/lib/lightweightAI.js +1 -0
- package/lib/localBuiltInAI.js +1 -0
- package/lib/localBuiltInAI_backup.js +1 -0
- package/lib/localBuiltInAI_simple.js +1 -0
- package/lib/locatorStrategy.js +1 -1
- package/lib/logger-demo.js +2 -0
- package/lib/logger-integration-examples.js +102 -0
- package/lib/logger.js +1 -1
- package/lib/package.json +2 -0
- package/lib/quick-start-logger.js +2 -0
- package/lib/scriptLoader.js +1 -1
- package/lib/server.js +1 -1
- package/lib/server.js.strategic-backup +6298 -0
- package/lib/tensorflowAI.js +1 -0
- package/lib/tensorflowAI.js.strategic-backup +717 -0
- package/lib/tinyAI.js +1 -0
- package/lib/universalSessionManager.js +1 -0
- package/package.json +5 -2
- package/scripts/shell/android_device_control.enc +1 -1
- package/scripts/shell/connect_ios_usb_multi_final.enc +1 -1
- package/scripts/shell/connect_ios_wireless_multi_final.enc +1 -1
- package/lib/aiProviders_new.js +0 -70
- package/lib/frontend/static/js/main.310a0af8.js +0 -3
- /package/lib/frontend/static/js/{main.310a0af8.js.LICENSE.txt → main.686bc72a.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const crypto = require('crypto');
|
|
2
|
+
|
|
3
|
+
const ENCRYPTION_CONFIG = {
|
|
4
|
+
algorithm: 'aes-256-cbc',
|
|
5
|
+
encoding: {
|
|
6
|
+
input: 'utf8',
|
|
7
|
+
output: 'hex'
|
|
8
|
+
},
|
|
9
|
+
keyDerivation: 'sha256',
|
|
10
|
+
keySeed: 'devicely-encryption-key-v1'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
function generateKey() {
|
|
14
|
+
let packageName = 'devicely';
|
|
15
|
+
try {
|
|
16
|
+
const pkg = require('../../npm-package/package.json');
|
|
17
|
+
packageName = pkg.name;
|
|
18
|
+
} catch (e) {
|
|
19
|
+
try {
|
|
20
|
+
const pkg = require('../../package.json');
|
|
21
|
+
packageName = pkg.name;
|
|
22
|
+
} catch (e2) {
|
|
23
|
+
packageName = 'devicely';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const keySource = `${packageName}-${ENCRYPTION_CONFIG.keySeed}`;
|
|
27
|
+
return crypto.createHash(ENCRYPTION_CONFIG.keyDerivation).update(keySource).digest();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function generateIV() {
|
|
31
|
+
const ivSource = `${ENCRYPTION_CONFIG.keySeed}-iv`;
|
|
32
|
+
return crypto.createHash('md5').update(ivSource).digest();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function encrypt(content) {
|
|
36
|
+
try {
|
|
37
|
+
const key = generateKey();
|
|
38
|
+
const iv = generateIV();
|
|
39
|
+
const cipher = crypto.createCipheriv(ENCRYPTION_CONFIG.algorithm, key, iv);
|
|
40
|
+
let encrypted = cipher.update(content, ENCRYPTION_CONFIG.encoding.input, ENCRYPTION_CONFIG.encoding.output);
|
|
41
|
+
encrypted += cipher.final(ENCRYPTION_CONFIG.encoding.output);
|
|
42
|
+
return encrypted;
|
|
43
|
+
} catch (error) {
|
|
44
|
+
throw new Error(`Encryption failed: ${error.message}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function decrypt(encrypted) {
|
|
49
|
+
try {
|
|
50
|
+
const key = generateKey();
|
|
51
|
+
const iv = generateIV();
|
|
52
|
+
const decipher = crypto.createDecipheriv(ENCRYPTION_CONFIG.algorithm, key, iv);
|
|
53
|
+
let decrypted = decipher.update(encrypted, ENCRYPTION_CONFIG.encoding.output, ENCRYPTION_CONFIG.encoding.input);
|
|
54
|
+
decrypted += decipher.final(ENCRYPTION_CONFIG.encoding.input);
|
|
55
|
+
return decrypted;
|
|
56
|
+
} catch (error) {
|
|
57
|
+
throw new Error(`Decryption failed: ${error.message}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = { encrypt, decrypt, ENCRYPTION_CONFIG };
|
package/lib/executor.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x79392d=_0x575d;(function(_0x5ede47,_0x626207){const _0xb79be8=_0x575d,_0x1ff2ab=_0x5ede47();while(!![]){try{const _0x90c81f=-parseInt(_0xb79be8(0x168))/0x1*(parseInt(_0xb79be8(0x1b3))/0x2)+parseInt(_0xb79be8(0x1a9))/0x3+parseInt(_0xb79be8(0x193))/0x4+parseInt(_0xb79be8(0x1b1))/0x5*(-parseInt(_0xb79be8(0x175))/0x6)+parseInt(_0xb79be8(0x1ba))/0x7*(parseInt(_0xb79be8(0x179))/0x8)+-parseInt(_0xb79be8(0x16d))/0x9*(parseInt(_0xb79be8(0x170))/0xa)+parseInt(_0xb79be8(0x172))/0xb;if(_0x90c81f===_0x626207)break;else _0x1ff2ab['push'](_0x1ff2ab['shift']());}catch(_0x155dc5){_0x1ff2ab['push'](_0x1ff2ab['shift']());}}}(_0x3e87,0x28bec));function _0x575d(_0x5a3386,_0x530878){_0x5a3386=_0x5a3386-0x15b;const _0x3e87cc=_0x3e87();let _0x575d50=_0x3e87cc[_0x5a3386];if(_0x575d['cSFzpL']===undefined){var _0x36f446=function(_0x4a7be7){const _0x22266e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b5040='',_0x4fe314='';for(let _0x55aea8=0x0,_0x2e8afa,_0x4a72a4,_0x5ce56e=0x0;_0x4a72a4=_0x4a7be7['charAt'](_0x5ce56e++);~_0x4a72a4&&(_0x2e8afa=_0x55aea8%0x4?_0x2e8afa*0x40+_0x4a72a4:_0x4a72a4,_0x55aea8++%0x4)?_0x3b5040+=String['fromCharCode'](0xff&_0x2e8afa>>(-0x2*_0x55aea8&0x6)):0x0){_0x4a72a4=_0x22266e['indexOf'](_0x4a72a4);}for(let _0x509e0b=0x0,_0x562596=_0x3b5040['length'];_0x509e0b<_0x562596;_0x509e0b++){_0x4fe314+='%'+('00'+_0x3b5040['charCodeAt'](_0x509e0b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fe314);};_0x575d['bxqiwb']=_0x36f446,_0x575d['NNVLCj']={},_0x575d['cSFzpL']=!![];}const _0x57b7ce=_0x3e87cc[0x0],_0x868e63=_0x5a3386+_0x57b7ce,_0x926662=_0x575d['NNVLCj'][_0x868e63];return!_0x926662?(_0x575d50=_0x575d['bxqiwb'](_0x575d50),_0x575d['NNVLCj'][_0x868e63]=_0x575d50):_0x575d50=_0x926662,_0x575d50;}const {spawn}=require(_0x79392d(0x15d)),path=require(_0x79392d(0x19f)),chalk=require(_0x79392d(0x16f));let discoverAllDevices;try{({discoverAllDevices}=require(_0x79392d(0x15e)));}catch(_0x29a318){({discoverAllDevices}=require(_0x79392d(0x1ac)));}async function executeCommand(_0x14c396,_0x330d91={}){const _0x443ccf=_0x79392d,_0x1d9b27={'nzENE':function(_0x34f16a,_0x13851e){return _0x34f16a(_0x13851e);},'psDuD':function(_0x361fa4,_0x56a0e1){return _0x361fa4(_0x56a0e1);},'yPKwq':_0x443ccf(0x1ac),'kIKHy':function(_0x1c590d,_0x4a0aca){return _0x1c590d!==_0x4a0aca;},'jjWxm':_0x443ccf(0x17a),'qbrNU':_0x443ccf(0x1b6),'mGKKr':function(_0x9b5beb,_0x1c0b15){return _0x9b5beb!==_0x1c0b15;},'wDjTT':_0x443ccf(0x173),'zdBQy':function(_0x588733,_0x8ef847){return _0x588733===_0x8ef847;},'ZKuZL':'sIryJ','pTumV':_0x443ccf(0x178),'CNxaH':function(_0x33b349){return _0x33b349();},'nmakE':_0x443ccf(0x18f),'GSREV':_0x443ccf(0x1b5),'tXriT':'close','owTRS':function(_0x369a3e){return _0x369a3e();},'BEIxp':'\x0a❌\x20No\x20devices\x20found','TwHCF':_0x443ccf(0x1aa),'pXPoM':_0x443ccf(0x183),'ABPtq':function(_0x3bc6fa,_0x7871e4){return _0x3bc6fa===_0x7871e4;},'lmFHx':_0x443ccf(0x176),'otvhQ':function(_0x44cb24,_0x4d4401){return _0x44cb24===_0x4d4401;},'voqSw':_0x443ccf(0x164),'dEDav':_0x443ccf(0x1b7),'KrHFI':_0x443ccf(0x1b0),'jbIHG':'connect_ios_wireless_multi_final.sh','rBrVw':function(_0x39a267,_0x11fde4){return _0x39a267===_0x11fde4;},'UCCLH':_0x443ccf(0x18c),'RmInf':_0x443ccf(0x171),'zAedX':function(_0x2923f0,_0x36841a){return _0x2923f0===_0x36841a;},'UIupc':function(_0x212ad2,_0x4c0714){return _0x212ad2!==_0x4c0714;},'qBBOh':_0x443ccf(0x1a0),'WuMSr':'SwwFP','IKWyI':function(_0x1de305,_0x313789,_0x152fc8,_0x2a605a){return _0x1de305(_0x313789,_0x152fc8,_0x2a605a);},'UDShu':_0x443ccf(0x186)},_0x3a01d4=await _0x1d9b27[_0x443ccf(0x166)](discoverAllDevices);if(!_0x3a01d4||_0x1d9b27['zdBQy'](_0x3a01d4[_0x443ccf(0x1ad)],0x0)){console[_0x443ccf(0x197)](chalk[_0x443ccf(0x18a)](_0x1d9b27['BEIxp']));return;}let _0x2cbf2e=_0x3a01d4['filter'](_0x298676=>_0x298676[_0x443ccf(0x18d)]===_0x443ccf(0x182));if(_0x330d91[_0x443ccf(0x1a1)]){_0x2cbf2e=_0x3a01d4[_0x443ccf(0x15c)](_0x20adfa=>_0x20adfa[_0x443ccf(0x163)]===_0x330d91['device']&&_0x20adfa[_0x443ccf(0x18d)]===_0x443ccf(0x182));if(_0x1d9b27[_0x443ccf(0x19b)](_0x2cbf2e['length'],0x0)){console[_0x443ccf(0x197)](chalk[_0x443ccf(0x18a)](_0x443ccf(0x19a)+_0x330d91[_0x443ccf(0x1a1)]+_0x443ccf(0x188)));return;}}if(_0x1d9b27[_0x443ccf(0x19b)](_0x2cbf2e[_0x443ccf(0x1ad)],0x0)){console[_0x443ccf(0x197)](chalk[_0x443ccf(0x1b8)](_0x1d9b27['TwHCF']));return;}console[_0x443ccf(0x197)](chalk[_0x443ccf(0x1a8)](_0x443ccf(0x1a2)+_0x2cbf2e[_0x443ccf(0x1ad)]+_0x443ccf(0x190))),_0x2cbf2e[_0x443ccf(0x1ab)](_0x4429ef=>console[_0x443ccf(0x197)](_0x443ccf(0x1ae)+_0x4429ef[_0x443ccf(0x163)])),console[_0x443ccf(0x197)]('');const _0x29537a=path['join'](__dirname,_0x1d9b27['pXPoM']);for(const _0x502ab6 of _0x2cbf2e){const _0xd728ae=_0x502ab6[_0x443ccf(0x189)],_0xc9aa43=_0x502ab6[_0x443ccf(0x15f)];let _0x24f820;if(_0x1d9b27['ABPtq'](_0xd728ae,_0x1d9b27[_0x443ccf(0x160)])&&_0x1d9b27[_0x443ccf(0x19c)](_0xc9aa43,_0x1d9b27[_0x443ccf(0x1b9)])){if(_0x1d9b27['kIKHy'](_0x1d9b27['dEDav'],_0x1d9b27['dEDav'])){const _0x47bf14=_0x55b781[_0x443ccf(0x184)]()[_0x443ccf(0x167)]('\x0a')['filter'](_0x53a410=>_0x53a410['trim']());_0x47bf14[_0x443ccf(0x1ab)](_0x39918d=>{const _0x1344e6=_0x443ccf;_0x28f03c[_0x1344e6(0x197)](_0x20b728[_0x1344e6(0x18a)]('\x20\x20'+_0x39918d));});}else _0x24f820=_0x443ccf(0x18b);}else{if(_0x1d9b27[_0x443ccf(0x198)](_0xd728ae,_0x1d9b27[_0x443ccf(0x160)])&&_0xc9aa43===_0x1d9b27['KrHFI'])_0x24f820=_0x1d9b27[_0x443ccf(0x191)];else{if(_0x1d9b27[_0x443ccf(0x1bc)](_0xd728ae,_0x1d9b27[_0x443ccf(0x174)])&&_0xc9aa43===_0x1d9b27[_0x443ccf(0x1b9)])_0x24f820=_0x1d9b27[_0x443ccf(0x15b)];else{if(_0x1d9b27['zAedX'](_0xd728ae,_0x1d9b27[_0x443ccf(0x174)])&&_0x1d9b27[_0x443ccf(0x19b)](_0xc9aa43,'wireless'))_0x1d9b27[_0x443ccf(0x17f)](_0x1d9b27[_0x443ccf(0x194)],_0x1d9b27['WuMSr'])?_0x24f820=_0x1d9b27[_0x443ccf(0x16e)]:{discoverAllDevices:_0x55aea8}=iBAMwP[_0x443ccf(0x17b)](_0x2e8afa,_0x443ccf(0x15e));else{console['log'](chalk[_0x443ccf(0x1b8)](_0x443ccf(0x1af)+_0xd728ae+'-'+_0xc9aa43));continue;}}}}const _0x3deeb7=path[_0x443ccf(0x1a5)](_0x29537a,_0x24f820);console[_0x443ccf(0x197)](chalk[_0x443ccf(0x16c)]('['+_0x502ab6[_0x443ccf(0x163)]+_0x443ccf(0x195)));const _0x38787a={};_0x38787a[_0x443ccf(0x1a7)]='pipe';const _0x564642=_0x1d9b27[_0x443ccf(0x1bb)](spawn,_0x3deeb7,['-d',_0x502ab6[_0x443ccf(0x163)],..._0x14c396['split']('\x20')],_0x38787a);_0x564642[_0x443ccf(0x187)]['on'](_0x1d9b27[_0x443ccf(0x1a6)],_0x4f160b=>{const _0x5bff0f=_0x443ccf,_0x42f76e=_0x4f160b['toString']()[_0x5bff0f(0x167)]('\x0a')[_0x5bff0f(0x15c)](_0x16bea2=>_0x16bea2['trim']());_0x42f76e[_0x5bff0f(0x1ab)](_0x4a22d3=>{const _0x3dfa0d=_0x5bff0f;console[_0x3dfa0d(0x197)](chalk['gray']('\x20\x20'+_0x4a22d3));});}),_0x564642['stderr']['on'](_0x443ccf(0x186),_0x93118e=>{const _0x3a4961=_0x443ccf,_0x3be922={'QKASE':function(_0x313b2f,_0x117f51){const _0x21c6cf=_0x575d;return _0x1d9b27[_0x21c6cf(0x17c)](_0x313b2f,_0x117f51);},'RBPoi':_0x1d9b27['yPKwq']};if(_0x1d9b27[_0x3a4961(0x1b4)](_0x1d9b27[_0x3a4961(0x16a)],_0x1d9b27[_0x3a4961(0x16a)]))({discoverAllDevices:_0x509e0b}=KuZvNF[_0x3a4961(0x17e)](_0x562596,KuZvNF[_0x3a4961(0x16b)]));else{const _0x1cb694=_0x93118e[_0x3a4961(0x184)]()[_0x3a4961(0x167)]('\x0a')[_0x3a4961(0x15c)](_0x6628e9=>_0x6628e9[_0x3a4961(0x199)]());_0x1cb694[_0x3a4961(0x1ab)](_0x519d32=>{const _0x4bb3ed=_0x3a4961;console[_0x4bb3ed(0x197)](chalk[_0x4bb3ed(0x18a)]('\x20\x20'+_0x519d32));});}}),await new Promise(_0x5eeb39=>{const _0x28a77a=_0x443ccf,_0x2c4775={'urHwU':_0x1d9b27[_0x28a77a(0x16e)],'XYozn':function(_0x5b5952,_0x1b2d9c){const _0x12974b=_0x28a77a;return _0x1d9b27[_0x12974b(0x1a3)](_0x5b5952,_0x1b2d9c);},'DONvp':_0x1d9b27[_0x28a77a(0x177)],'oJFDu':function(_0x2c87a2,_0x25607f){const _0x2695d1=_0x28a77a;return _0x1d9b27[_0x2695d1(0x19b)](_0x2c87a2,_0x25607f);},'WmqYH':_0x1d9b27[_0x28a77a(0x19e)],'CQujs':_0x1d9b27['pTumV'],'kBSqK':function(_0x544e77){const _0x233107=_0x28a77a;return _0x1d9b27[_0x233107(0x17d)](_0x544e77);}};if(_0x1d9b27[_0x28a77a(0x1b4)](_0x1d9b27[_0x28a77a(0x161)],_0x1d9b27['GSREV']))_0x564642['on'](_0x1d9b27['tXriT'],_0x5e5e3f=>{const _0x122ff2=_0x28a77a;_0x2c4775[_0x122ff2(0x1a4)](_0x2c4775[_0x122ff2(0x181)],'uRcXx')?(_0x5e5e3f===0x0?console[_0x122ff2(0x197)](chalk[_0x122ff2(0x192)]('['+_0x502ab6[_0x122ff2(0x163)]+_0x122ff2(0x196))):_0x2c4775[_0x122ff2(0x165)](_0x2c4775[_0x122ff2(0x162)],_0x2c4775[_0x122ff2(0x185)])?_0x588b9e['log'](_0x1c4704[_0x122ff2(0x192)]('['+_0x5118dc[_0x122ff2(0x163)]+_0x122ff2(0x196))):console['log'](chalk['red']('['+_0x502ab6['name']+_0x122ff2(0x169)+_0x5e5e3f+')\x0a')),_0x2c4775[_0x122ff2(0x18e)](_0x5eeb39)):_0x267eb2=uoDCbJ[_0x122ff2(0x180)];});else{_0x2174ab[_0x28a77a(0x197)](_0x1222bc[_0x28a77a(0x18a)](_0x28a77a(0x19a)+_0x47eda1[_0x28a77a(0x1a1)]+_0x28a77a(0x188)));return;}});}}const _0x36a3d4={};function _0x3e87(){const _0x21bf03=['y2HPBgrFChjVy2vZCW','lI9KzxzPy2vezxrLy3rPB24','DhLWzq','Bg1gshG','BM1HA0u','v21XwuG','BMfTzq','DxnI','B0Pgrhu','B3DuuLm','C3bSAxq','mJm4swvnENHr','xsdINyWGrMfPBgvKicHLEgL0ignVzgu6ia','AMPxEg0','uKjqB2K','yMX1zq','nJnTyu55D2O','CwjYtLu','y2HHBgS','ndu3mZqWrxvhv1HW','y29UBMvJDf9HBMrYB2LKx3vZyL9TDwX0Av9MAw5HBc5ZAa','ndy1ntm2nwfzuwLMEq','C1fkvMq','vundteG','mtHrBgXzEve','Aw9Z','D0rQvfq','DK1RswK','mtCYmZK2mfPuz3b2Ea','qKfID1q','BNPftKu','ChneDuq','q054yuG','uuTbu0u','vuL1Cgm','DxjiD1u','re9oDNa','B25SAw5L','lI4VlI4VC2nYAxb0CY9ZAgvSBa','Dg9tDhjPBMC','q1f1ANm','zgf0yq','C3rKB3v0','iIbUB3qGzM91BMqGB3iGB2zMBgLUzq','CgXHDgzVCM0','CMvK','y29UBMvJDf9PB3nFDxnIx211BhrPx2zPBMfSlNnO','yw5KCM9Pza','C3rHDhvZ','A0jtCuS','EvvnBKe','igrLDMLJzsHZktO','AMjjseC','z3jLzw4','mteXnZG4me5SBhfoCq','Cujct2G','xsbsDw5UAw5NignVBw1HBMqUlI4','xsdINiuGu3vJy2vZCWO','Bg9N','qujqDhe','DhjPBq','cUkDJcbezxzPy2uGiG','EMrcuxK','B3r2Afe','zxHWB3j0CW','wKT1wKW','Cgf0Aa','u1buBha','zgv2AwnL','cKv4zwn1DgLUzYbVBIa','BuDls3i','wfLVEM4','AM9PBG','vurtAhu','C3rKAw8','y3LHBG','oda3owrzCvnJCG','cUkAOo+4JYaGtM8GB25SAw5LigrLDMLJzxmGzM91BMq','zM9YrwfJAa','lI4VlI4Vzgv2AwnLrgv0zwn0Aw9U','BgvUz3rO','icdIGkiG','4PQG77IpicbvBNn1ChbVCNrLzcbKzxzPy2uGDhLWztOG','D2LYzwXLC3m','mJa4ntK1uu9ZAM52','zxHLy3v0zunVBw1HBMq','mJu5ngfzvhHLzq','A0LlshK','AevAC1e','y29UBMvJDf9HBMrYB2LKx3DPCMvSzxnZx211BhrPx2zPBMfSlNnO','DevRDgG','EwvSBg93','DM9Xu3C','n0X1EfbZCa','suTxEuK','CKjYvNC','uM1jBMy','zMLSDgvY'];_0x3e87=function(){return _0x21bf03;};return _0x3e87();}_0x36a3d4[_0x79392d(0x1b2)]=executeCommand,module[_0x79392d(0x19d)]=_0x36a3d4;
|
|
1
|
+
const _0x4f2e6a=_0x4f00;(function(_0x1ba119,_0x3e2fcf){const _0x189825=_0x4f00,_0x3286ea=_0x1ba119();while(!![]){try{const _0x31eb72=parseInt(_0x189825(0x174))/0x1*(-parseInt(_0x189825(0x16e))/0x2)+-parseInt(_0x189825(0x13f))/0x3*(parseInt(_0x189825(0x136))/0x4)+-parseInt(_0x189825(0x163))/0x5+-parseInt(_0x189825(0x140))/0x6+parseInt(_0x189825(0x13a))/0x7+-parseInt(_0x189825(0x189))/0x8*(parseInt(_0x189825(0x193))/0x9)+parseInt(_0x189825(0x127))/0xa*(parseInt(_0x189825(0x141))/0xb);if(_0x31eb72===_0x3e2fcf)break;else _0x3286ea['push'](_0x3286ea['shift']());}catch(_0x264bea){_0x3286ea['push'](_0x3286ea['shift']());}}}(_0x1f78,0xd95a9));const Logger=require(_0x4f2e6a(0x16b)),logger=new Logger(_0x4f2e6a(0x175)),{spawn}=require(_0x4f2e6a(0x173)),path=require('path'),chalk=require(_0x4f2e6a(0x138));let discoverAllDevices;try{({discoverAllDevices}=require(_0x4f2e6a(0x17b)));}catch(_0x17df97){({discoverAllDevices}=require('../../deviceDetection'));}async function executeCommand(_0x552428,_0x2e6872={}){const _0x3663c3=_0x4f2e6a,_0x553f6a={'qvQoX':function(_0x7b33eb,_0x2865cc){return _0x7b33eb(_0x2865cc);},'ImMQp':'../../deviceDetection','ddBfP':_0x3663c3(0x183),'FaiZL':_0x3663c3(0x17a),'DfbAp':function(_0x1f5bdb,_0x59fe9d){return _0x1f5bdb!==_0x59fe9d;},'veJYs':_0x3663c3(0x190),'LKMpu':'\x0a⚠️\x20\x20No\x20online\x20devices\x20found','NYcbe':_0x3663c3(0x176),'oxZFE':function(_0x308a11){return _0x308a11();},'wYmsq':function(_0x39868d,_0x1b800f){return _0x39868d===_0x1b800f;},'bDoaD':function(_0x142414,_0x5f2c62){return _0x142414===_0x5f2c62;},'sFzwv':_0x3663c3(0x157),'IgdET':'lUOQm','VZHlM':_0x3663c3(0x13c),'fvMTU':_0x3663c3(0x14b),'PYRfv':function(_0x5ed60b,_0x120173){return _0x5ed60b===_0x120173;},'iJpnp':_0x3663c3(0x14d),'fusul':function(_0x3b2e89,_0x1e5c67){return _0x3b2e89===_0x1e5c67;},'jdjFg':_0x3663c3(0x12c),'qZRBh':_0x3663c3(0x170),'DKIPU':function(_0x3fb655,_0x366d3f){return _0x3fb655===_0x366d3f;},'QuKUG':_0x3663c3(0x17d),'rjnRW':function(_0x3c6bdf,_0x309e50){return _0x3c6bdf===_0x309e50;},'SejNY':_0x3663c3(0x14c),'jhORL':_0x3663c3(0x181),'AitEJ':function(_0x44d95c,_0x8438c){return _0x44d95c===_0x8438c;},'etDWc':_0x3663c3(0x191),'OczIL':'android','AxJbQ':function(_0x183d36,_0x4245b7){return _0x183d36===_0x4245b7;},'MIBYA':_0x3663c3(0x13e),'iygBp':_0x3663c3(0x139),'dZeQr':_0x3663c3(0x165),'vqoKE':function(_0x1e21e5,_0x1008ea){return _0x1e21e5!==_0x1008ea;},'JabPq':_0x3663c3(0x162),'ycOYz':function(_0xdc54cc,_0x367da6,_0x1928a9,_0x2da2df){return _0xdc54cc(_0x367da6,_0x1928a9,_0x2da2df);},'HFPRm':_0x3663c3(0x15b)},_0x45dbf4=await _0x553f6a[_0x3663c3(0x133)](discoverAllDevices);if(!_0x45dbf4||_0x553f6a['bDoaD'](_0x45dbf4[_0x3663c3(0x166)],0x0)){logger[_0x3663c3(0x16a)](chalk[_0x3663c3(0x134)](_0x3663c3(0x183)));;return;}let _0x5cab53=_0x45dbf4['filter'](_0x52c612=>_0x52c612[_0x3663c3(0x152)]==='online');if(_0x2e6872['device']){if(_0x553f6a['PYRfv'](_0x3663c3(0x187),_0x3663c3(0x128)))({discoverAllDevices:_0x212ec4}=cYeWEf[_0x3663c3(0x171)](_0x43dcb6,cYeWEf[_0x3663c3(0x178)]));else{_0x5cab53=_0x45dbf4[_0x3663c3(0x154)](_0x2e292f=>_0x2e292f[_0x3663c3(0x132)]===_0x2e6872[_0x3663c3(0x159)]&&_0x2e292f[_0x3663c3(0x152)]==='online');if(_0x553f6a[_0x3663c3(0x145)](_0x5cab53[_0x3663c3(0x166)],0x0)){logger[_0x3663c3(0x16a)](chalk['red']('\x0a❌\x20Device\x20\x22'+_0x2e6872[_0x3663c3(0x159)]+'\x22\x20not\x20found\x20or\x20offline'));;return;}}}if(_0x553f6a[_0x3663c3(0x164)](_0x5cab53[_0x3663c3(0x166)],0x0)){logger[_0x3663c3(0x16a)](chalk['yellow'](_0x553f6a[_0x3663c3(0x156)]));;return;}logger['info'](chalk[_0x3663c3(0x17c)]('\x0aExecuting\x20on\x20'+_0x5cab53[_0x3663c3(0x166)]+_0x3663c3(0x16f)));;_0x5cab53[_0x3663c3(0x158)](_0x417e63=>logger[_0x3663c3(0x16a)]('\x20\x20•\x20'+_0x417e63[_0x3663c3(0x132)]));;logger[_0x3663c3(0x16a)]('');;const _0xe49d60=path[_0x3663c3(0x130)](__dirname,_0x553f6a['iJpnp']);for(const _0x462bd6 of _0x5cab53){if(_0x553f6a[_0x3663c3(0x12b)](_0x553f6a[_0x3663c3(0x15f)],_0x553f6a[_0x3663c3(0x144)])){_0x11dcaa['info'](_0x59c66a[_0x3663c3(0x134)](_0x553f6a[_0x3663c3(0x15a)]));;return;}else{const _0x240a68=_0x462bd6[_0x3663c3(0x18d)],_0x5e9d85=_0x462bd6[_0x3663c3(0x155)];let _0x503f39;if(_0x553f6a[_0x3663c3(0x15c)](_0x240a68,_0x553f6a[_0x3663c3(0x186)])&&_0x553f6a[_0x3663c3(0x13d)](_0x5e9d85,_0x553f6a['SejNY']))_0x503f39=_0x553f6a[_0x3663c3(0x149)];else{if(_0x553f6a[_0x3663c3(0x145)](_0x240a68,'ios')&&_0x553f6a[_0x3663c3(0x129)](_0x5e9d85,_0x3663c3(0x13e)))_0x503f39=_0x553f6a['FaiZL'];else{if(_0x553f6a['rjnRW'](_0x240a68,'android')&&_0x553f6a['wYmsq'](_0x5e9d85,_0x553f6a[_0x3663c3(0x161)]))_0x503f39=_0x553f6a[_0x3663c3(0x18b)];else{if(_0x553f6a[_0x3663c3(0x129)](_0x240a68,_0x553f6a[_0x3663c3(0x16d)])&&_0x553f6a[_0x3663c3(0x18c)](_0x5e9d85,_0x553f6a[_0x3663c3(0x195)]))_0x553f6a['DfbAp'](_0x3663c3(0x146),_0x553f6a[_0x3663c3(0x135)])?_0x503f39=_0x553f6a[_0x3663c3(0x15d)]:_0x408e4b=_0x553f6a['FaiZL'];else{if(_0x553f6a[_0x3663c3(0x13b)](_0x553f6a['JabPq'],_0x3663c3(0x194))){logger[_0x3663c3(0x16a)](chalk[_0x3663c3(0x185)](_0x3663c3(0x12d)+_0x240a68+'-'+_0x5e9d85));;continue;}else{_0x6a3993[_0x3663c3(0x16a)](_0x44c39c[_0x3663c3(0x18a)]('['+_0x2f000c[_0x3663c3(0x132)]+_0x3663c3(0x167)));;}}}}}const _0x1f5868=path[_0x3663c3(0x130)](_0xe49d60,_0x503f39);logger[_0x3663c3(0x16a)](chalk['blue']('['+_0x462bd6[_0x3663c3(0x132)]+_0x3663c3(0x188)));;const _0xa6646b=_0x553f6a[_0x3663c3(0x14f)](spawn,_0x1f5868,['-d',_0x462bd6['name'],..._0x552428[_0x3663c3(0x160)]('\x20')],{'stdio':_0x553f6a[_0x3663c3(0x12f)]});_0xa6646b[_0x3663c3(0x15e)]['on']('data',_0x2348a1=>{const _0xe22a67=_0x3663c3,_0x36da08=_0x2348a1['toString']()[_0xe22a67(0x160)]('\x0a')[_0xe22a67(0x154)](_0x4919d0=>_0x4919d0['trim']());_0x36da08[_0xe22a67(0x158)](_0x2903a3=>{const _0x3da628=_0xe22a67;if(_0x553f6a[_0x3da628(0x182)](_0x553f6a[_0x3da628(0x12a)],_0x553f6a[_0x3da628(0x12a)])){_0x2372d2[_0x3da628(0x16a)](_0x35bfb2[_0x3da628(0x134)]('\x0a❌\x20Device\x20\x22'+_0x52be95[_0x3da628(0x159)]+_0x3da628(0x14e)));;return;}else{logger[_0x3da628(0x16a)](chalk['gray']('\x20\x20'+_0x2903a3));;}});}),_0xa6646b[_0x3663c3(0x147)]['on']('data',_0x5cf9d4=>{const _0x30b781=_0x3663c3,_0x19383d={};_0x19383d[_0x30b781(0x172)]=_0x553f6a['LKMpu'];const _0x384041=_0x19383d;if(_0x553f6a[_0x30b781(0x192)]==='xmGMD'){const _0xd754af=_0x5cf9d4[_0x30b781(0x18f)]()[_0x30b781(0x160)]('\x0a')[_0x30b781(0x154)](_0x540587=>_0x540587[_0x30b781(0x153)]());_0xd754af[_0x30b781(0x158)](_0x400e46=>{const _0x49f0db=_0x30b781;logger[_0x49f0db(0x16a)](chalk[_0x49f0db(0x134)]('\x20\x20'+_0x400e46));;});}else{_0x38c399[_0x30b781(0x16a)](_0x12ddf5[_0x30b781(0x185)](ziwfYm['kFyXw']));;return;}}),await new Promise(_0xa0f510=>{const _0x2368e6=_0x3663c3,_0x3bab32={'Hsihe':function(_0x189616){const _0x3b502e=_0x4f00;return _0x553f6a[_0x3b502e(0x133)](_0x189616);},'BhEXu':function(_0x5502eb,_0x5c0015){const _0x8b43a5=_0x4f00;return _0x553f6a[_0x8b43a5(0x164)](_0x5502eb,_0x5c0015);},'SxzDt':function(_0x1c6ccc,_0x824731){return _0x553f6a['bDoaD'](_0x1c6ccc,_0x824731);},'mQiqH':_0x553f6a[_0x2368e6(0x179)],'flYWQ':function(_0x410dea,_0x1c27c8){const _0x586b55=_0x2368e6;return _0x553f6a[_0x586b55(0x164)](_0x410dea,_0x1c27c8);},'ueNyY':_0x553f6a[_0x2368e6(0x148)],'NxZaV':_0x553f6a['VZHlM'],'hWCZk':function(_0x4b4f96){return _0x4b4f96();}};_0xa6646b['on'](_0x553f6a[_0x2368e6(0x143)],_0x51b775=>{const _0x58ae80=_0x2368e6,_0x2d25a1={'sCwqd':function(_0x4afa36,_0x148cd2){const _0x40b226=_0x4f00;return _0x3bab32[_0x40b226(0x142)](_0x4afa36,_0x148cd2);},'ixrrS':'connect_ios_usb_multi_final.sh'};if(_0x3bab32[_0x58ae80(0x184)](_0x3bab32[_0x58ae80(0x17e)],_0x58ae80(0x131))){const _0x5cc550={'MRQUo':function(_0x4399de){const _0x4dd0a2=_0x58ae80;return _0x3bab32[_0x4dd0a2(0x196)](_0x4399de);}};_0x503da8['on'](_0x58ae80(0x14b),_0x3aa65b=>{const _0x59de9d=_0x58ae80;if(_0x3aa65b===0x0){_0x1c567c[_0x59de9d(0x16a)](_0x586092['green']('['+_0x3290a7[_0x59de9d(0x132)]+']\x20✅\x20Success\x0a'));;}else{_0x1e8d45[_0x59de9d(0x16a)](_0x5ecac7[_0x59de9d(0x134)]('['+_0x37034b[_0x59de9d(0x132)]+_0x59de9d(0x137)+_0x3aa65b+')\x0a'));;}_0x5cc550[_0x59de9d(0x12e)](_0x313c1f);});}else{if(_0x3bab32[_0x58ae80(0x151)](_0x51b775,0x0)){if(_0x3bab32[_0x58ae80(0x18e)]!==_0x58ae80(0x169)){logger[_0x58ae80(0x16a)](chalk[_0x58ae80(0x18a)]('['+_0x462bd6[_0x58ae80(0x132)]+_0x58ae80(0x167)));;}else{if(_0x2d25a1[_0x58ae80(0x168)](_0x105acc,0x0)){_0x2bd810['info'](_0x126cd2[_0x58ae80(0x18a)]('['+_0x47e3f9['name']+_0x58ae80(0x167)));;}else{_0x4bb4e1[_0x58ae80(0x16a)](_0xbac259['red']('['+_0x443129[_0x58ae80(0x132)]+_0x58ae80(0x137)+_0x1984e0+')\x0a'));;}_0x5ef913();}}else{if(_0x3bab32[_0x58ae80(0x184)](_0x3bab32[_0x58ae80(0x17f)],_0x58ae80(0x14a)))_0x320e2a=JHWpBZ[_0x58ae80(0x177)];else{logger['info'](chalk[_0x58ae80(0x134)]('['+_0x462bd6['name']+_0x58ae80(0x137)+_0x51b775+')\x0a'));;}}_0x3bab32[_0x58ae80(0x16c)](_0xa0f510);}});});}}}function _0x4f00(_0x40834e,_0x3eaea4){_0x40834e=_0x40834e-0x127;const _0x1f78ea=_0x1f78();let _0x4f00d7=_0x1f78ea[_0x40834e];if(_0x4f00['nYHQzP']===undefined){var _0x5b9903=function(_0x50de4a){const _0x3549af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ae5d3='',_0x230484='';for(let _0x366d16=0x0,_0x2879fe,_0x103805,_0x14729b=0x0;_0x103805=_0x50de4a['charAt'](_0x14729b++);~_0x103805&&(_0x2879fe=_0x366d16%0x4?_0x2879fe*0x40+_0x103805:_0x103805,_0x366d16++%0x4)?_0x1ae5d3+=String['fromCharCode'](0xff&_0x2879fe>>(-0x2*_0x366d16&0x6)):0x0){_0x103805=_0x3549af['indexOf'](_0x103805);}for(let _0x212ec4=0x0,_0x43dcb6=_0x1ae5d3['length'];_0x212ec4<_0x43dcb6;_0x212ec4++){_0x230484+='%'+('00'+_0x1ae5d3['charCodeAt'](_0x212ec4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x230484);};_0x4f00['FSUhJW']=_0x5b9903,_0x4f00['jZkckt']={},_0x4f00['nYHQzP']=!![];}const _0x3f829d=_0x1f78ea[0x0],_0x578e9f=_0x40834e+_0x3f829d,_0x551501=_0x4f00['jZkckt'][_0x578e9f];return!_0x551501?(_0x4f00d7=_0x4f00['FSUhJW'](_0x4f00d7),_0x4f00['jZkckt'][_0x578e9f]=_0x4f00d7):_0x4f00d7=_0x551501,_0x4f00d7;}const _0x305ddd={};_0x305ddd[_0x4f2e6a(0x180)]=executeCommand,module[_0x4f2e6a(0x150)]=_0x305ddd;function _0x1f78(){const _0x288c18=['y29UBMvJDf9HBMrYB2LKx3vZyL9TDwX0Av9MAw5HBc5ZAa','tLLJyMu','odKZmJuWALrly3DZ','sw5yDw0','tuLcwue','shnPAgu','mZi4mZGXmeLUreHwqG','yKvwBwy','qwL0ruO','DMvkwxm','zNvZDwW','yw5nugC','4PQG77IpicbvBNn1ChbVCNrLzcbKzxzPy2uGDhLWztOG','tvjrvw8','sezquM0','AM9PBG','Dfvct1a','BMfTzq','B3HArKu','CMvK','AxLNqNa','odG3mKDzwhDNzG','xsdINyWGrMfPBgvKicHLEgL0ignVzgu6ia','y2HHBgS','Dvbpt3y','mJGWntuWmKTbyvvrBW','DNfVs0u','AevfvNO','CMPUuLC','D2LYzwXLC3m','mtm3mu1zsK1zqG','mtaWntq1mJrrruzIC1e','mtK4u2vXwhjK','qMHfwhu','zNznvfu','CvPsqMG','yKrVyuq','wNvxuMm','C3rKzxjY','swDKrvq','AMHpuKW','EwvXDui','y2XVC2u','DxnI','lI4VlI4VC2nYAxb0CY9ZAgvSBa','iIbUB3qGzM91BMqGB3iGB2zMBgLUzq','EwnpwxO','zxHWB3j0CW','zMXzv1e','C3rHDhvZ','DhjPBq','zMLSDgvY','DhLWzq','teTnChu','CwvUtK8','zM9YrwfJAa','zgv2AwnL','zgrczLa','CgLWzq','reTjufu','zfPLuxi','C3rKB3v0','AMrQrMC','C3bSAxq','u2vQtLK','wNjLywS','nJy5mdiYme5MA2PuCW','D1LTC3e','y29UBMvJDf9HBMrYB2LKx3DPCMvSzxnZx211BhrPx2zPBMfSlNnO','BgvUz3rO','xsdINiuGu3vJy2vZCWO','C0n3Cwq','ywzqzfK','Aw5MBW','lI9SB2DNzxi','AfDdwMS','t2n6suW','mK1nBwPRuG','igrLDMLJzsHZktO','yNndwLK','CxzrB1G','A0z5whC','y2HPBgrFChjVy2vZCW','mZaYmtG5A0jvDezL','rxHLy3v0B3i','Eg1htuq','AxHYCLm','sw1nuxa','C0z6D3y','y29UBMvJDf9PB3nFD2LYzwXLC3nFBxvSDgLFzMLUywWUC2G','lI9KzxzPy2vezxrLy3rPB24','y3LHBG','Aw9Z','BvfPCuG','tNHAyvy','zxHLy3v0zunVBw1HBMq','y29UBMvJDf9PB3nFDxnIx211BhrPx2zPBMfSlNnO','rgzIqxa','cUkDJcboBYbKzxzPy2vZigzVDw5K','u3H6rhq','EwvSBg93','uxvlvuC','rw54EKG','xsbsDw5UAw5NignVBw1HBMqUlI4','odHSyK9ODwi','z3jLzw4','zxrev2m','qxHkyLe','CgXHDgzVCM0','DwvoEvK','Dg9tDhjPBMC','tefPtha'];_0x1f78=function(){return _0x288c18;};return _0x1f78();}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
|
|
2
|
+
const Logger = require('./logger');
|
|
3
|
+
const logger = new Logger('Executor');
|
|
4
|
+
/**
|
|
5
|
+
* Command executor for Devicely CLI
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { spawn } = require('child_process');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
const chalk = require('chalk');
|
|
11
|
+
|
|
12
|
+
// Import deviceDetection from appropriate location
|
|
13
|
+
let discoverAllDevices;
|
|
14
|
+
try {
|
|
15
|
+
({ discoverAllDevices } = require('./deviceDetection'));
|
|
16
|
+
} catch (err) {
|
|
17
|
+
({ discoverAllDevices } = require('../../deviceDetection'));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function executeCommand(command, options = {}) {
|
|
21
|
+
const devices = await discoverAllDevices();
|
|
22
|
+
|
|
23
|
+
if (!devices || devices.length === 0) {
|
|
24
|
+
logger.info(chalk.red('\n❌ No devices found'));;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let targetDevices = devices.filter(d => d.status === 'online');
|
|
29
|
+
|
|
30
|
+
if (options.device) {
|
|
31
|
+
targetDevices = devices.filter(d =>
|
|
32
|
+
d.name === options.device && d.status === 'online'
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
if (targetDevices.length === 0) {
|
|
36
|
+
logger.info(chalk.red(`\n❌ Device "${options.device}" not found or offline`));;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (targetDevices.length === 0) {
|
|
42
|
+
logger.info(chalk.yellow('\n⚠️ No online devices found'));;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
logger.info(chalk.cyan(`\nExecuting on ${targetDevices.length} device(s):`));;
|
|
47
|
+
targetDevices.forEach(d => logger.info(` • ${d.name}`));;
|
|
48
|
+
logger.info('');;
|
|
49
|
+
|
|
50
|
+
const scriptDir = path.join(__dirname, '../../scripts/shell');
|
|
51
|
+
|
|
52
|
+
for (const device of targetDevices) {
|
|
53
|
+
const platform = device.platform;
|
|
54
|
+
const type = device.type;
|
|
55
|
+
|
|
56
|
+
let scriptName;
|
|
57
|
+
if (platform === 'ios' && type === 'usb') {
|
|
58
|
+
scriptName = 'connect_ios_usb_multi_final.sh';
|
|
59
|
+
} else if (platform === 'ios' && type === 'wireless') {
|
|
60
|
+
scriptName = 'connect_ios_wireless_multi_final.sh';
|
|
61
|
+
} else if (platform === 'android' && type === 'usb') {
|
|
62
|
+
scriptName = 'connect_android_usb_multi_final.sh';
|
|
63
|
+
} else if (platform === 'android' && type === 'wireless') {
|
|
64
|
+
scriptName = 'connect_android_wireless_multi_final.sh';
|
|
65
|
+
} else {
|
|
66
|
+
logger.info(chalk.yellow(`⚠️ Unsupported device type: ${platform}-${type}`));;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const scriptPath = path.join(scriptDir, scriptName);
|
|
71
|
+
|
|
72
|
+
logger.info(chalk.blue(`[${device.name}] Running command...`));;
|
|
73
|
+
|
|
74
|
+
const child = spawn(scriptPath, ['-d', device.name, ...command.split(' ')], {
|
|
75
|
+
stdio: 'pipe'
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
child.stdout.on('data', (data) => {
|
|
79
|
+
const lines = data.toString().split('\n').filter(l => l.trim());
|
|
80
|
+
lines.forEach(line => {
|
|
81
|
+
logger.info(chalk.gray(` ${line}`));;
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
child.stderr.on('data', (data) => {
|
|
86
|
+
const lines = data.toString().split('\n').filter(l => l.trim());
|
|
87
|
+
lines.forEach(line => {
|
|
88
|
+
logger.info(chalk.red(` ${line}`));;
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
await new Promise((resolve) => {
|
|
93
|
+
child.on('close', (code) => {
|
|
94
|
+
if (code === 0) {
|
|
95
|
+
logger.info(chalk.green(`[${device.name}] ✅ Success\n`));;
|
|
96
|
+
} else {
|
|
97
|
+
logger.info(chalk.red(`[${device.name}] ❌ Failed (exit code: ${code})\n`));;
|
|
98
|
+
}
|
|
99
|
+
resolve();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
module.exports = {
|
|
106
|
+
executeCommand
|
|
107
|
+
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/static/css/main.ed39ba12.css",
|
|
4
|
-
"main.js": "/static/js/main.
|
|
4
|
+
"main.js": "/static/js/main.686bc72a.js",
|
|
5
5
|
"index.html": "/index.html",
|
|
6
6
|
"main.ed39ba12.css.map": "/static/css/main.ed39ba12.css.map",
|
|
7
|
-
"main.
|
|
7
|
+
"main.686bc72a.js.map": "/static/js/main.686bc72a.js.map"
|
|
8
8
|
},
|
|
9
9
|
"entrypoints": [
|
|
10
10
|
"static/css/main.ed39ba12.css",
|
|
11
|
-
"static/js/main.
|
|
11
|
+
"static/js/main.686bc72a.js"
|
|
12
12
|
]
|
|
13
13
|
}
|
package/lib/frontend/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Devicely - AI-Powered Device Pool Management - Control your iOS device pool with intelligent automation"/><meta http-equiv="Permissions-Policy" content="local-network-access=*"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Devicely - AI-Powered Device Pool</title><style>@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}</style><script defer="defer" src="/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Devicely - AI-Powered Device Pool Management - Control your iOS device pool with intelligent automation"/><meta http-equiv="Permissions-Policy" content="local-network-access=*"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Devicely - AI-Powered Device Pool</title><style>@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}</style><script defer="defer" src="/static/js/main.686bc72a.js"></script><link href="/static/css/main.ed39ba12.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|