devicely 2.2.20 → 2.3.0
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/README.md +24 -84
- package/bin/devicely.js +1 -1
- package/config/devices.conf +1 -6
- package/lib/aiProviders.js +592 -1
- package/lib/aiProvidersConfig.js +171 -1
- package/lib/aiProviders_new.js +70 -0
- package/lib/androidDeviceDetection.js +1 -1
- package/lib/appMappings.js +1 -1
- package/lib/cognitiveLocator.js +1 -0
- package/lib/commanderService.js +1 -1
- package/lib/deviceDetection.js +1 -1
- package/lib/devices.js +1 -1
- package/lib/doctor.js +1 -1
- package/lib/encryption.js +1 -1
- package/lib/executor.js +1 -1
- package/lib/frontend/asset-manifest.json +3 -5
- package/lib/frontend/index.html +1 -1
- package/lib/frontend/static/css/main.ed39ba12.css +2 -0
- package/lib/frontend/static/js/main.310a0af8.js +3 -0
- package/lib/frontend/static/js/main.310a0af8.js.LICENSE.txt +59 -0
- package/lib/locatorStrategy.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/package.json +6 -7
- package/lib/public/asset-manifest.json +3 -3
- package/lib/public/index.html +1 -1
- package/lib/scriptLoader.js +1 -1
- package/lib/server.js +1 -1
- package/package.json +3 -4
- 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/advanced-logger.js +0 -1
- package/lib/aiProviders.js.strategic-backup +0 -657
- package/lib/aiProvidersConfig.js.backup +0 -218
- package/lib/commanderService.js.backup +0 -5552
- package/lib/devices.js.strategic-backup +0 -57
- package/lib/encryption.js.strategic-backup +0 -61
- package/lib/executor.js.strategic-backup +0 -107
- package/lib/hybridAI.js +0 -1
- package/lib/intelligentLocatorService.js +0 -1
- package/lib/lightweightAI.js +0 -1
- package/lib/localBuiltInAI.js +0 -1
- package/lib/localBuiltInAI_backup.js +0 -1
- package/lib/localBuiltInAI_simple.js +0 -1
- package/lib/logger-demo.js +0 -2
- package/lib/logger-integration-examples.js +0 -102
- package/lib/public/static/css/main.ed39ba12.css.map +0 -1
- package/lib/quick-start-logger.js +0 -2
- package/lib/server.js.strategic-backup +0 -6298
- package/lib/tensorflowAI.js +0 -1
- package/lib/tensorflowAI.js.strategic-backup +0 -717
- package/lib/tinyAI.js +0 -1
- package/lib/universalSessionManager.js +0 -1
package/README.md
CHANGED
|
@@ -14,8 +14,8 @@ devicely start
|
|
|
14
14
|
```
|
|
15
15
|
**Visit [https://devicely-ai.vercel.app/](https://devicely-ai.vercel.app/) and see what happens when devices work together.**
|
|
16
16
|
|
|
17
|
-
[](https://www.npmjs.com/package/devicely)
|
|
18
|
+
[](LICENSE)
|
|
19
19
|
[](https://devicely-ai.vercel.app)
|
|
20
20
|
|
|
21
21
|
[🚀 Quick Start](#-quick-start) • [✨ Key Features](#-the-devicely-advantage) • [🌌 Infinite Possibilities](#-glimpse-of-the-infinite) • [📟 CLI Reference](#-cli-reference)
|
|
@@ -46,12 +46,23 @@ Instead of manually testing the same flow across multiple devices, what if you c
|
|
|
46
46
|
* Touch the leader's screen → all followers mirror the action
|
|
47
47
|
* Switch leaders with a simple dropdown
|
|
48
48
|
* Watch it all happen on your web dashboard
|
|
49
|
+
* **[NEW in v2.3.0]** Enhanced WDA API for iOS device control
|
|
50
|
+
* **[NEW in v2.3.0]** Element caching for faster command execution
|
|
51
|
+
|
|
52
|
+
### 📱 **QR-Based Device Enrollment** - *Connect devices in seconds, not minutes*
|
|
53
|
+
* **[NEW in v2.3.0]** Scan QR code to enroll iOS or Android devices
|
|
54
|
+
* **[NEW in v2.3.0]** Automatic IP address detection and configuration
|
|
55
|
+
* **[NEW in v2.3.0]** Works with both USB and wireless connections
|
|
56
|
+
* iOS: WebDriverAgent auto-detection
|
|
57
|
+
* Android: Automatic ADB setup with privacy controls
|
|
58
|
+
* No more manual IP configuration or device.conf editing
|
|
49
59
|
|
|
50
60
|
### 🔄 **Live Sync** - *What if all your devices moved together?*
|
|
51
61
|
* Commands reach all devices simultaneously via WebSockets
|
|
52
62
|
* iOS and Android understand the same instructions differently (as they should)
|
|
53
63
|
* See live status updates from every connected device
|
|
54
64
|
* No waiting for one device to finish before the next starts
|
|
65
|
+
* **[NEW in v2.3.0]** Improved wireless connectivity with retry logic
|
|
55
66
|
|
|
56
67
|
### 📹 **Record & Replay - Zero-Code Automation**
|
|
57
68
|
* **Visual Recording:** Capture complex workflows with simple button clicks
|
|
@@ -61,7 +72,15 @@ Instead of manually testing the same flow across multiple devices, what if you c
|
|
|
61
72
|
|
|
62
73
|
### 🤖 **AI Integration** - *Talk to your devices like a person*
|
|
63
74
|
* Say *"Open Instagram and find search"* - it just works
|
|
64
|
-
* Choose from 7 AI providers
|
|
75
|
+
* Choose from 7 AI providers with latest models:
|
|
76
|
+
- **OpenAI:** GPT-4o (Aug 2024)
|
|
77
|
+
- **Google:** Gemini 1.5 Pro/Flash
|
|
78
|
+
- **Anthropic:** Claude 3.5 Sonnet (Oct 2024)
|
|
79
|
+
- **Groq:** Llama 3.3 70B (ultra-fast LPU inference)
|
|
80
|
+
- **Cohere:** Command R+ (enterprise)
|
|
81
|
+
- **Mistral:** Mistral Large 2
|
|
82
|
+
- **GitHub:** Copilot powered
|
|
83
|
+
* **[NEW in v2.3.0]** API-only mode - no local models, optimized for speed
|
|
65
84
|
* Devices understand context - no hunting for element IDs
|
|
66
85
|
* Same command, different results on iOS vs Android (intelligently)
|
|
67
86
|
|
|
@@ -92,13 +111,6 @@ Instead of manually testing the same flow across multiple devices, what if you c
|
|
|
92
111
|
* **Point-and-Click Control:** Direct device interaction through inspector
|
|
93
112
|
* **Developer Export:** Clean selectors and coordinates for automation scripts
|
|
94
113
|
|
|
95
|
-
### 📷 **Screenshots Gallery & Management**
|
|
96
|
-
* **Unified Media Library:** Combined recordings and screenshots in tabbed interface
|
|
97
|
-
* **Visual Screenshot Gallery:** Thumbnail grid with device names and timestamps
|
|
98
|
-
* **Full-Screen Viewer:** Click to enlarge screenshots with dark background overlay
|
|
99
|
-
* **Quick Management:** Delete screenshots directly from gallery with one-click
|
|
100
|
-
* **Auto-Collection:** Screenshots captured via commands automatically appear in gallery
|
|
101
|
-
|
|
102
114
|
### 🌌 **The bigger picture**
|
|
103
115
|
* Transform 2-hour manual testing into 5-minute parallel runs
|
|
104
116
|
* Turn your device collection into a web-accessible lab
|
|
@@ -211,81 +223,9 @@ Devicely comes with a powerful command-line interface for quick actions:
|
|
|
211
223
|
|
|
212
224
|
---
|
|
213
225
|
|
|
214
|
-
## 🆕 Latest Features (v2.2.
|
|
215
|
-
|
|
216
|
-
### 🎨 **Major UI & Performance Update (v2.2.13 - Latest)**
|
|
217
|
-
- **📷 Screenshots Gallery:** Complete screenshot management system with tabbed interface
|
|
218
|
-
- **🎨 Apps Menu Redesign:** Beautiful gradient backgrounds and improved visual hierarchy
|
|
219
|
-
- **🤖 AI Bypass Optimization:** App commands now execute instantly without AI processing
|
|
220
|
-
- **⚡ Performance Boost:** Significantly faster app operations and UI responsiveness
|
|
221
|
-
- **🎯 Enhanced UX:** Better z-index management, tooltips, and user feedback
|
|
222
|
-
|
|
223
|
-
### 📷 **Screenshots Gallery & Management (NEW!)**
|
|
224
|
-
- **Unified Media Library:** Combined Recordings and Screenshots in elegant tabbed interface
|
|
225
|
-
- **Visual Gallery:** Responsive thumbnail grid (2-6 columns) with device context
|
|
226
|
-
- **Full-Screen Viewer:** Click any screenshot for full-screen view with dark overlay
|
|
227
|
-
- **Smart Management:** One-click delete with instant feedback and auto-refresh
|
|
228
|
-
- **Device Tracking:** See which device captured each screenshot with timestamps
|
|
229
|
-
- **Auto-Collection:** Screenshots from `screenshot` command automatically appear
|
|
230
|
-
- **Cross-Platform:** Works seamlessly with iOS and Android screenshots
|
|
231
|
-
|
|
232
|
-
### 🎨 **Apps Menu Visual Overhaul**
|
|
233
|
-
- **Gradient Backgrounds:** Each section has beautiful, color-coded gradient styling:
|
|
234
|
-
- 🟢 **Quick Launch:** Green-emerald gradient with enhanced app cards
|
|
235
|
-
- 🚀 **Launch App:** Green-teal gradient for app launching controls
|
|
236
|
-
- ❌ **Kill App:** Red-pink gradient for app termination controls
|
|
237
|
-
- 📦 **Install App:** Blue-cyan gradient for app installation
|
|
238
|
-
- 🗑️ **Uninstall App:** Orange-yellow gradient (NEW dedicated section)
|
|
239
|
-
- 📱 **Installed Apps:** Purple-pink gradient for app listing
|
|
240
|
-
- **Enhanced Visual Hierarchy:** Clear section separation with consistent iconography
|
|
241
|
-
- **Z-Index Management:** Apps Menu now properly appears above all hints and tooltips
|
|
242
|
-
- **Improved Tooltips:** Better button labeling and user guidance throughout
|
|
243
|
-
|
|
244
|
-
### 🤖 **AI Processing Optimization**
|
|
245
|
-
- **Smart Command Detection:** Automatic bypass for app control commands
|
|
246
|
-
- **Regex Pattern Matching:** Detects `launch`, `kill`, `install`, `uninstall` commands
|
|
247
|
-
- **Direct Execution:** App commands execute immediately without AI conversion
|
|
248
|
-
- **Performance Gain:** Eliminated "🤖 Converting with Local Built-In AI" delays
|
|
249
|
-
- **Maintained Intelligence:** Other commands still benefit from AI when enabled
|
|
250
|
-
|
|
251
|
-
### ⚡ **Commander Mode App Launch Fix (v2.2.13)**
|
|
252
|
-
- **Simple Detection:** Pre-tap home screen detection for smart app launches
|
|
253
|
-
- **Skip Coordinate Mirroring:** No more wrong taps when launching apps from home screen
|
|
254
|
-
- **Direct App Sync:** Detects launched app and immediately launches same app on followers
|
|
255
|
-
- **Performance Optimized:** Reduced cache refresh overhead during app launches
|
|
256
|
-
- **Smart Cache Management:** Refresh timing optimized for app launch vs regular tap scenarios
|
|
257
|
-
|
|
258
|
-
### 🔧 **Intelligent Locator System Enhancements**
|
|
259
|
-
- **Advanced Caching:** Smart cache invalidation and refresh strategies
|
|
260
|
-
- **Performance Tuning:** Reduced cache refresh from 10s to 30s for better responsiveness
|
|
261
|
-
- **Session Recovery:** Improved session handling with smart recovery mechanisms
|
|
262
|
-
- **Cross-Device Sync:** Better coordinate scaling and device synchronization
|
|
263
|
-
|
|
264
|
-
### 🐛 **Critical Fixes Applied**
|
|
265
|
-
- **Commander Mode Errors:** Fixed "Error starting commander mode" when devices already connected
|
|
266
|
-
- **Duplicate Follower Mirrors:** Resolved multiple mirror display issues
|
|
267
|
-
- **Coordinate Scaling:** Fixed scaling problems between commander and follower devices
|
|
268
|
-
- **Session Management:** Improved session lifecycle and error recovery
|
|
269
|
-
- **AI Command Order:** Fixed command conversion and execution sequence
|
|
270
|
-
|
|
271
|
-
### 🎯 **Developer Experience Improvements**
|
|
272
|
-
- **Clean Code Architecture:** Improved separation of concerns and modularity
|
|
273
|
-
- **Better Error Handling:** Enhanced error messages and user feedback
|
|
274
|
-
- **Performance Monitoring:** Added metrics and logging for better debugging
|
|
275
|
-
- **Cross-Platform Consistency:** Unified behavior across iOS and Android platforms
|
|
276
|
-
|
|
277
|
-
---
|
|
278
|
-
|
|
279
|
-
### 📋 **Recent Commits on Release_2.2.13 Branch**
|
|
280
|
-
```
|
|
281
|
-
dda75e2 🎨 MAJOR UPDATE: Apps Menu UI Fixes + Screenshots Gallery + AI Bypass
|
|
282
|
-
a267fab 🚀 OPTIMIZE: Simple app launch detection and performance improvements
|
|
283
|
-
0dd3fcc Complete system update: AI fixes, intelligent locators, and comprehensive improvements
|
|
284
|
-
8c437b1 Fix AI command conversion order and follower device execution
|
|
285
|
-
5610575 🔧 MAJOR FIX: Duplicate follower mirrors & coordinate scaling
|
|
286
|
-
```
|
|
226
|
+
## 🆕 Latest Features (v2.2.11 - February 2026)
|
|
287
227
|
|
|
288
|
-
|
|
228
|
+
### 🐛 **Commander Mode Error Fix (v2.2.11)**
|
|
289
229
|
- **Fixed**: "Error starting commander mode" when devices are already connected
|
|
290
230
|
- **Improved**: Commander mode now gracefully handles already-active sessions
|
|
291
231
|
- **Enhanced**: Better error messaging and automatic session management
|
package/bin/devicely.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const _0x4099ee=_0x2a7c;function _0x1be3(){const _0x28f0d2=['B3b0Aw9U','ls1Kzwj1zW','zgvZy3jPChrPB24','q2HLy2SGC3LZDgvTihjLCxvPCMvTzw50CYbMB3iGAu9tigfUzcbbBMrYB2LKigf1Dg9TyxrPB24','BvrsEKi','mtKWB3nRt0Du','cUkDJcbfCNjVCJO','z0PqDxe','rw5HyMXLigrLyNvNigXVz2DPBMC','zMH6t1u','y2HHBgS','rg9nvLa','BMfTzq','rgLZCgXHEsbOzwXWigLUzM9YBwf0Aw9U','rxHLy3v0zsbJB21Tyw5Kig9UignVBM5Ly3rLzcbPt1mVqw5KCM9PzcbKzxzPy2vZ','cVcFMOaGrgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxm','rNDxtgS','CMvWzwf0','iYbmAxn0igrLDMLJzxm','u1f6sgG','cVcFKQeGuxvPy2SGC3rHCNq6','zxHPDa','rg9Uj3qGB3bLBIbICM93C2vYigf1Dg9TyxrPy2fSBhK','rgv0zwn0ifvtqIbKzxzPy2vZig9UBhK','rxHLy3v0zsbVBIbZCgvJAwzPyYbKzxzPy2u','lxaSic0TCg9YDca8Cg9YDd4','cUkAOsbfEgvJDxrPBMCGy29TBwfUzc4UlG','lI4VCgfJA2fNzs5QC29U','lI4VBgLIl3nLCNzLCG','lwqSic0Tzgv2AwnLidXUyw1LpG','ntvbzxDjqxa','rgLZCgXHEsb2zxjZAw9Uig51BwjLCG','u3rHCNqGrgv2AwnLBhKGC2vYDMvYigfUzcbVCgvUihDLyIbPBNrLCMzHy2u','ufjlvei','mtG4mdiWofjXs2fjDG','ls11C2iTB25SEq','yM9Sza','mtuWnZiXnLrjEvvTBG','y2Doq1G','ody0rgjHD3HX','iYbtDgfYDcb0AguGC2vYDMvY','mJK5nZK3nLDyzvnTqq','nxW0Fdj8mhWZFde','u2vYDMvYihbVCNq','ls1UBY1ICM93C2vY','zg9JDg9Y','t0fhwKS','ls12zxjIB3nL','mZC0ntb6z1jbqKm','AgvSCe9WDgLVBG','D21ts0W','yKDcu0i','y29TBwfUza','C3bSAxq','icbKzxzPy2vSEsbSAxn0icaGica','txfpwNi','ywn0Aw9U','u3DMwwG','yvvfv3C','BgvUz3rO','lI4VBgLIl2rVy3rVCG','BwvZC2fNzq','icbKzxzPy2vSEsbKB2n0B3iGica','CgfYC2u','swnOvfy','zxjYB3i','BKTtt0S','z3jHEq','EKz4B08','mZu2ndKZmgritvf2DW','Aw5JBhvKzxm','m1nXBu5TCq','CMvK','yKDXDLO','EKXYs0e','yxjNDG','ls12zxjZAw9U','nhWWFdn8mNW1Fde','iYbdAgvJAYbZExn0zw0','rgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxmUiefjifbVD2vYzwqGtw9IAwXLief1Dg9TyxrPB24','zgv2AwnLBhK','Bg9N','z1bvt0S','DMvYC2LVBG','lxySic0TDMvYC2LVBG','BgLZDa','y29TBwfUzgvY','ve5uDMG','cVcFLi0Gq2HLy2TPBMCGC3LZDgvTihjLCxvPCMvTzw50CY4UlG','ueP4u2q','u2HVDYbKzxrHAwXLzcbKzxzPy2uGAw5MB3jTyxrPB24','icaGquKGug93zxjLzcbnB2jPBguGqxv0B21HDgLVBG','q0jrsgC','mJq0owPtCK5RAG','lwGSic0TAgvSCa','zxHLyYa8y29TBwfUzd4','y3LHBG','zgvgr0u','D2HPDgu','mJC5otuWquDXANfY'];_0x1be3=function(){return _0x28f0d2;};return _0x1be3();}(function(_0x3382cf,_0x24f3fa){const _0x431062=_0x2a7c,_0x5c004a=_0x3382cf();while(!![]){try{const _0x2ab6dd=parseInt(_0x431062(0x14d))/0x1*(parseInt(_0x431062(0x159))/0x2)+parseInt(_0x431062(0x137))/0x3*(parseInt(_0x431062(0x17d))/0x4)+parseInt(_0x431062(0x153))/0x5+-parseInt(_0x431062(0x17b))/0x6*(-parseInt(_0x431062(0x184))/0x7)+parseInt(_0x431062(0x179))/0x8+parseInt(_0x431062(0x176))/0x9+-parseInt(_0x431062(0x135))/0xa*(parseInt(_0x431062(0x172))/0xb);if(_0x2ab6dd===_0x24f3fa)break;else _0x5c004a['push'](_0x5c004a['shift']());}catch(_0x37ce1a){_0x5c004a['push'](_0x5c004a['shift']());}}}(_0x1be3,0x675dc));if(process[_0x4099ee(0x13b)][_0x4099ee(0x136)]('-v')||process[_0x4099ee(0x13b)][_0x4099ee(0x136)](_0x4099ee(0x13c))){const packageJson=require('../package.json');console[_0x4099ee(0x141)](packageJson[_0x4099ee(0x143)]),process[_0x4099ee(0x169)](0x0);}const {program}=require(_0x4099ee(0x146)),chalk=require(_0x4099ee(0x15e)),packageJson=require(_0x4099ee(0x16f)),{startServer}=require(_0x4099ee(0x170)),{listDevices}=require('../lib/devices'),{checkDoctor}=require(_0x4099ee(0x190)),{executeCommand}=require('../lib/executor');program[_0x4099ee(0x160)](_0x4099ee(0x140))[_0x4099ee(0x156)](_0x4099ee(0x13f))[_0x4099ee(0x143)](packageJson['version'],_0x4099ee(0x144),_0x4099ee(0x173))[_0x4099ee(0x185)](_0x4099ee(0x14e),_0x4099ee(0x161)),program[_0x4099ee(0x188)]('start')[_0x4099ee(0x156)](_0x4099ee(0x174))[_0x4099ee(0x154)](_0x4099ee(0x16d),_0x4099ee(0x17f),'3001')['option'](_0x4099ee(0x180),_0x4099ee(0x16a))[_0x4099ee(0x154)](_0x4099ee(0x155),_0x4099ee(0x15c))[_0x4099ee(0x154)](_0x4099ee(0x177),_0x4099ee(0x16b))['option']('--wifi-only','Detect\x20WiFi\x20devices\x20only')[_0x4099ee(0x18c)](async _0x4d1844=>{const _0x53e6ba=_0x4099ee,_0x2b8b9f={'fhzOU':_0x53e6ba(0x163),'XLuoU':_0x53e6ba(0x14b),'mTRzB':function(_0x38b50c,_0x3aa57a){return _0x38b50c(_0x3aa57a);},'PRKTB':_0x53e6ba(0x15a)};try{console[_0x53e6ba(0x141)](chalk[_0x53e6ba(0x150)][_0x53e6ba(0x178)](_0x2b8b9f[_0x53e6ba(0x15d)])),console['log'](chalk[_0x53e6ba(0x197)](_0x2b8b9f['XLuoU'])),console[_0x53e6ba(0x141)](chalk[_0x53e6ba(0x197)]('━'[_0x53e6ba(0x165)](0x32))),await _0x2b8b9f[_0x53e6ba(0x158)](startServer,_0x4d1844);}catch(_0x48adb0){console[_0x53e6ba(0x195)](chalk[_0x53e6ba(0x138)](_0x2b8b9f[_0x53e6ba(0x175)]),_0x48adb0[_0x53e6ba(0x191)]),process[_0x53e6ba(0x169)](0x1);}}),program[_0x4099ee(0x188)](_0x4099ee(0x145))[_0x4099ee(0x156)]('List\x20all\x20connected\x20iOS\x20and\x20Android\x20devices')[_0x4099ee(0x154)](_0x4099ee(0x183),_0x4099ee(0x14a))[_0x4099ee(0x18c)](async _0x1d6113=>{const _0x37adb0=_0x4099ee,_0xad85bf={'zLrKA':function(_0x45c8c0,_0x38fe3c){return _0x45c8c0(_0x38fe3c);},'zFxoO':'\x0a❌\x20Error:'};try{console[_0x37adb0(0x141)](chalk[_0x37adb0(0x150)][_0x37adb0(0x178)]('\x0a📱\x20Scanning\x20for\x20devices...')),console['log'](chalk[_0x37adb0(0x197)]('━'[_0x37adb0(0x165)](0x32))),await _0xad85bf[_0x37adb0(0x13a)](listDevices,_0x1d6113);}catch(_0x85fee4){console[_0x37adb0(0x195)](chalk[_0x37adb0(0x138)](_0xad85bf[_0x37adb0(0x198)]),_0x85fee4[_0x37adb0(0x191)]),process['exit'](0x1);}}),program[_0x4099ee(0x188)](_0x4099ee(0x181))[_0x4099ee(0x156)](_0x4099ee(0x157))[_0x4099ee(0x18c)](async()=>{const _0x4c78dc=_0x4099ee,_0x34f0f6={};_0x34f0f6['gJPuq']=_0x4c78dc(0x13d),_0x34f0f6[_0x4c78dc(0x149)]='\x0a💡\x20Quick\x20start:',_0x34f0f6['gPUOK']=function(_0xb45335,_0x5dd9c3){return _0xb45335+_0x5dd9c3;},_0x34f0f6[_0x4c78dc(0x18d)]=_0x4c78dc(0x18a),_0x34f0f6[_0x4c78dc(0x187)]='\x20\x20devicely\x20start\x20\x20\x20\x20',_0x34f0f6[_0x4c78dc(0x15f)]=_0x4c78dc(0x17c),_0x34f0f6[_0x4c78dc(0x167)]=function(_0x2dcb17,_0x313fd2){return _0x2dcb17+_0x313fd2;},_0x34f0f6[_0x4c78dc(0x164)]=_0x4c78dc(0x13e),_0x34f0f6[_0x4c78dc(0x17a)]=_0x4c78dc(0x15a),_0x34f0f6[_0x4c78dc(0x186)]=function(_0x16ac4a,_0x31b0bd){return _0x16ac4a!==_0x31b0bd;},_0x34f0f6[_0x4c78dc(0x151)]=_0x4c78dc(0x18e),_0x34f0f6[_0x4c78dc(0x147)]=_0x4c78dc(0x148),_0x34f0f6['nKSOK']=_0x4c78dc(0x194);const _0x31cda0=_0x34f0f6;try{if(_0x31cda0[_0x4c78dc(0x186)](_0x4c78dc(0x18e),_0x31cda0[_0x4c78dc(0x151)])){const _0x388fd0=_0x31cda0[_0x4c78dc(0x15b)]['split']('|');let _0x2c4389=0x0;while(!![]){switch(_0x388fd0[_0x2c4389++]){case'0':_0x2d7c6b[_0x4c78dc(0x141)](_0x5e30c1[_0x4c78dc(0x150)](_0x31cda0['PJxSd']));continue;case'1':_0x4d9c57[_0x4c78dc(0x141)]('');continue;case'2':_0x4728bc[_0x4c78dc(0x141)](_0x31cda0[_0x4c78dc(0x142)](_0x109b4a[_0x4c78dc(0x197)](_0x31cda0['SwfYh']),_0x31b565[_0x4c78dc(0x152)](_0x4c78dc(0x166))));continue;case'3':_0x37d12a['log'](_0x3531eb[_0x4c78dc(0x197)](_0x31cda0[_0x4c78dc(0x187)])+_0x216828['white'](_0x31cda0[_0x4c78dc(0x15f)]));continue;case'4':_0x541fac['outputHelp']();continue;case'5':_0x1174e3[_0x4c78dc(0x141)](_0x31cda0[_0x4c78dc(0x167)](_0x3c1108[_0x4c78dc(0x197)](_0x4c78dc(0x192)),_0x245464[_0x4c78dc(0x152)](_0x31cda0[_0x4c78dc(0x164)])));continue;}break;}}else console[_0x4c78dc(0x141)](chalk[_0x4c78dc(0x150)][_0x4c78dc(0x178)](_0x31cda0[_0x4c78dc(0x147)])),console['log'](chalk[_0x4c78dc(0x197)]('━'[_0x4c78dc(0x165)](0x32))),await checkDoctor();}catch(_0x3c9032){_0x31cda0[_0x4c78dc(0x196)]===_0x31cda0[_0x4c78dc(0x196)]?(console[_0x4c78dc(0x195)](chalk[_0x4c78dc(0x138)](_0x31cda0[_0x4c78dc(0x17a)]),_0x3c9032[_0x4c78dc(0x191)]),process[_0x4c78dc(0x169)](0x1)):(_0x159446[_0x4c78dc(0x195)](_0x1759a9[_0x4c78dc(0x138)](_0x31cda0['cgNCX']),_0x2efc30[_0x4c78dc(0x191)]),_0x15a229[_0x4c78dc(0x169)](0x1));}}),program['command'](_0x4099ee(0x14f))['description'](_0x4099ee(0x162))[_0x4099ee(0x154)](_0x4099ee(0x171),_0x4099ee(0x16c))['option']('-a,\x20--all','Execute\x20on\x20all\x20devices\x20(default)')['action'](async(_0x2b571d,_0x49e42d)=>{const _0x657fb2=_0x4099ee,_0x3b3307={'pBQfd':function(_0x4915cf,_0x173261){return _0x4915cf(_0x173261);},'OAGZK':'../package.json','CsPRi':function(_0x3e896e,_0x11630c){return _0x3e896e!==_0x11630c;},'bGqvZ':_0x657fb2(0x14c),'MqOZr':_0x657fb2(0x16e)};try{if(_0x3b3307['CsPRi'](_0x657fb2(0x14c),_0x3b3307[_0x657fb2(0x139)])){const _0x2c5645=LKMOvR['pBQfd'](_0x13c878,LKMOvR[_0x657fb2(0x182)]);_0x27d4a8[_0x657fb2(0x141)](_0x2c5645[_0x657fb2(0x143)]),_0x491fee[_0x657fb2(0x169)](0x0);}else console[_0x657fb2(0x141)](chalk['cyan'][_0x657fb2(0x178)](_0x3b3307[_0x657fb2(0x18b)])),console[_0x657fb2(0x141)](chalk[_0x657fb2(0x197)]('━'[_0x657fb2(0x165)](0x32))),await executeCommand(_0x2b571d,_0x49e42d);}catch(_0x552d5f){console[_0x657fb2(0x195)](chalk[_0x657fb2(0x138)]('\x0a❌\x20Error:'),_0x552d5f[_0x657fb2(0x191)]),process['exit'](0x1);}}),program[_0x4099ee(0x193)](process[_0x4099ee(0x13b)]);function _0x2a7c(_0x5985c1,_0x1b7150){_0x5985c1=_0x5985c1-0x135;const _0x1be3ac=_0x1be3();let _0x2a7c77=_0x1be3ac[_0x5985c1];if(_0x2a7c['dDebDq']===undefined){var _0x46f5c7=function(_0x39fe9a){const _0x5898b7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13ef45='',_0x4bca66='';for(let _0x5499f9=0x0,_0x13c878,_0x27d4a8,_0x491fee=0x0;_0x27d4a8=_0x39fe9a['charAt'](_0x491fee++);~_0x27d4a8&&(_0x13c878=_0x5499f9%0x4?_0x13c878*0x40+_0x27d4a8:_0x27d4a8,_0x5499f9++%0x4)?_0x13ef45+=String['fromCharCode'](0xff&_0x13c878>>(-0x2*_0x5499f9&0x6)):0x0){_0x27d4a8=_0x5898b7['indexOf'](_0x27d4a8);}for(let _0x1df8a2=0x0,_0x4951c1=_0x13ef45['length'];_0x1df8a2<_0x4951c1;_0x1df8a2++){_0x4bca66+='%'+('00'+_0x13ef45['charCodeAt'](_0x1df8a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bca66);};_0x2a7c['XmdJtg']=_0x46f5c7,_0x2a7c['mXKkDm']={},_0x2a7c['dDebDq']=!![];}const _0x4abf4b=_0x1be3ac[0x0],_0x39b295=_0x5985c1+_0x4abf4b,_0x535793=_0x2a7c['mXKkDm'][_0x39b295];return!_0x535793?(_0x2a7c77=_0x2a7c['XmdJtg'](_0x2a7c77),_0x2a7c['mXKkDm'][_0x39b295]=_0x2a7c77):_0x2a7c77=_0x535793,_0x2a7c77;}if(!process[_0x4099ee(0x13b)]['slice'](0x2)[_0x4099ee(0x18f)]){const ljGazV=_0x4099ee(0x17e)[_0x4099ee(0x189)]('|');let ZUSfEc=0x0;while(!![]){switch(ljGazV[ZUSfEc++]){case'0':console['log'](chalk['gray'](_0x4099ee(0x18a))+chalk['white'](_0x4099ee(0x166)));continue;case'1':console[_0x4099ee(0x141)]('');continue;case'2':console['log'](chalk[_0x4099ee(0x197)]('\x20\x20devicely\x20start\x20\x20\x20\x20')+chalk['white'](_0x4099ee(0x17c)));continue;case'3':console[_0x4099ee(0x141)](chalk[_0x4099ee(0x197)](_0x4099ee(0x192))+chalk['white'](_0x4099ee(0x13e)));continue;case'4':console[_0x4099ee(0x141)](chalk[_0x4099ee(0x150)](_0x4099ee(0x168)));continue;case'5':program['outputHelp']();continue;}break;}}
|
|
3
|
+
const _0x13c15f=_0x2412;(function(_0x4e1c2f,_0x5484d5){const _0x550f66=_0x2412,_0x466a87=_0x4e1c2f();while(!![]){try{const _0xe56437=-parseInt(_0x550f66(0x18e))/0x1*(parseInt(_0x550f66(0x16a))/0x2)+-parseInt(_0x550f66(0x180))/0x3+-parseInt(_0x550f66(0x18a))/0x4+-parseInt(_0x550f66(0x19b))/0x5+parseInt(_0x550f66(0x166))/0x6*(parseInt(_0x550f66(0x187))/0x7)+-parseInt(_0x550f66(0x176))/0x8+parseInt(_0x550f66(0x167))/0x9*(parseInt(_0x550f66(0x177))/0xa);if(_0xe56437===_0x5484d5)break;else _0x466a87['push'](_0x466a87['shift']());}catch(_0x4d81b5){_0x466a87['push'](_0x466a87['shift']());}}}(_0x35e5,0x90c6f));function _0x2412(_0x391935,_0x4c2c43){_0x391935=_0x391935-0x14f;const _0x35e556=_0x35e5();let _0x2412a3=_0x35e556[_0x391935];if(_0x2412['blEyZu']===undefined){var _0x5ac3c6=function(_0x15f7cd){const _0x21c28d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3bb97b='',_0x1404a5='';for(let _0x62e5ff=0x0,_0x532fed,_0x1c985d,_0x13a0c0=0x0;_0x1c985d=_0x15f7cd['charAt'](_0x13a0c0++);~_0x1c985d&&(_0x532fed=_0x62e5ff%0x4?_0x532fed*0x40+_0x1c985d:_0x1c985d,_0x62e5ff++%0x4)?_0x3bb97b+=String['fromCharCode'](0xff&_0x532fed>>(-0x2*_0x62e5ff&0x6)):0x0){_0x1c985d=_0x21c28d['indexOf'](_0x1c985d);}for(let _0x33df19=0x0,_0x518988=_0x3bb97b['length'];_0x33df19<_0x518988;_0x33df19++){_0x1404a5+='%'+('00'+_0x3bb97b['charCodeAt'](_0x33df19)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1404a5);};_0x2412['CstFGI']=_0x5ac3c6,_0x2412['UesCKG']={},_0x2412['blEyZu']=!![];}const _0x5c4e7d=_0x35e556[0x0],_0x512436=_0x391935+_0x5c4e7d,_0x14f2e3=_0x2412['UesCKG'][_0x512436];return!_0x14f2e3?(_0x2412a3=_0x2412['CstFGI'](_0x2412a3),_0x2412['UesCKG'][_0x512436]=_0x2412a3):_0x2412a3=_0x14f2e3,_0x2412a3;}const {program}=require(_0x13c15f(0x158)),chalk=require(_0x13c15f(0x175)),packageJson=require(_0x13c15f(0x15e)),{startServer}=require(_0x13c15f(0x191)),{listDevices}=require(_0x13c15f(0x179)),{checkDoctor}=require('../lib/doctor'),{executeCommand}=require('../lib/executor');program['name']('devicely')[_0x13c15f(0x194)](_0x13c15f(0x152))[_0x13c15f(0x198)](packageJson['version'],'-v,\x20--version',_0x13c15f(0x17f))['helpOption'](_0x13c15f(0x15a),'Display\x20help\x20information'),program[_0x13c15f(0x17c)]('start')['description'](_0x13c15f(0x168))['option'](_0x13c15f(0x15c),_0x13c15f(0x1a3),_0x13c15f(0x14f))[_0x13c15f(0x19d)](_0x13c15f(0x15f),_0x13c15f(0x151))[_0x13c15f(0x19d)](_0x13c15f(0x162),_0x13c15f(0x173))[_0x13c15f(0x19d)](_0x13c15f(0x171),_0x13c15f(0x192))['option'](_0x13c15f(0x189),_0x13c15f(0x1a0))[_0x13c15f(0x174)](async _0xce469f=>{const _0x3d17ea=_0x13c15f,_0x3b031c={'tQiJz':_0x3d17ea(0x19e),'xmccG':'\x20\x20\x20AI\x20Powered\x20Mobile\x20Automation','JcMmY':function(_0x2d4b4b,_0x23ec7e){return _0x2d4b4b(_0x23ec7e);},'RrNSn':_0x3d17ea(0x17b)};try{console['log'](chalk[_0x3d17ea(0x1a5)][_0x3d17ea(0x169)](_0x3b031c['tQiJz'])),console[_0x3d17ea(0x18d)](chalk['gray'](_0x3b031c[_0x3d17ea(0x150)])),console['log'](chalk[_0x3d17ea(0x199)]('━'[_0x3d17ea(0x16c)](0x32))),await _0x3b031c['JcMmY'](startServer,_0xce469f);}catch(_0x38d57c){console['error'](chalk[_0x3d17ea(0x197)](_0x3b031c[_0x3d17ea(0x195)]),_0x38d57c['message']),process[_0x3d17ea(0x18b)](0x1);}}),program['command']('list')['description'](_0x13c15f(0x155))[_0x13c15f(0x19d)](_0x13c15f(0x17a),_0x13c15f(0x182))[_0x13c15f(0x174)](async _0x133156=>{const _0x565441=_0x13c15f,_0x115fe9={};_0x115fe9[_0x565441(0x154)]='\x0a📱\x20Scanning\x20for\x20devices...',_0x115fe9[_0x565441(0x15d)]='\x0a❌\x20Error:';const _0x549fed=_0x115fe9;try{console[_0x565441(0x18d)](chalk['cyan'][_0x565441(0x169)](_0x549fed[_0x565441(0x154)])),console[_0x565441(0x18d)](chalk[_0x565441(0x199)]('━'[_0x565441(0x16c)](0x32))),await listDevices(_0x133156);}catch(_0x717eb8){console[_0x565441(0x19a)](chalk[_0x565441(0x197)](_0x549fed[_0x565441(0x15d)]),_0x717eb8[_0x565441(0x18c)]),process[_0x565441(0x18b)](0x1);}}),program[_0x13c15f(0x17c)](_0x13c15f(0x181))['description'](_0x13c15f(0x160))[_0x13c15f(0x174)](async()=>{const _0x4f230f=_0x13c15f,_0x14a0e5={'xewbp':_0x4f230f(0x190),'BJTrZ':function(_0x1f3bd8,_0x4f7a7f){return _0x1f3bd8+_0x4f7a7f;},'gTONm':_0x4f230f(0x16b),'KWauL':function(_0x1cd610,_0x29ba10){return _0x1cd610+_0x29ba10;},'NLtWy':_0x4f230f(0x1a2),'LkGAm':_0x4f230f(0x183),'REgIl':_0x4f230f(0x17e),'ZDfPD':_0x4f230f(0x172),'inYoO':_0x4f230f(0x17b),'IMbfl':function(_0x13d80b,_0x4572b0){return _0x13d80b===_0x4572b0;},'YmZHM':'tOjNS','glrYJ':_0x4f230f(0x163),'GTHDm':function(_0x1cdc62){return _0x1cdc62();},'EnDMw':function(_0x257837,_0x4989ec){return _0x257837!==_0x4989ec;},'SXgXD':'oOxbt'};try{if(_0x14a0e5[_0x4f230f(0x196)](_0x14a0e5[_0x4f230f(0x193)],_0x14a0e5[_0x4f230f(0x193)]))console[_0x4f230f(0x18d)](chalk[_0x4f230f(0x1a5)][_0x4f230f(0x169)](_0x14a0e5[_0x4f230f(0x19f)])),console['log'](chalk['gray']('━'[_0x4f230f(0x16c)](0x32))),await _0x14a0e5['GTHDm'](checkDoctor);else{const _0x359730=_0x14a0e5['xewbp']['split']('|');let _0x4f8334=0x0;while(!![]){switch(_0x359730[_0x4f8334++]){case'0':_0x2f5a98[_0x4f230f(0x18d)](_0x14a0e5[_0x4f230f(0x184)](_0x49e4f0[_0x4f230f(0x199)](_0x14a0e5['gTONm']),_0x14cfd7[_0x4f230f(0x161)](_0x4f230f(0x1a7))));continue;case'1':_0x16cd5e[_0x4f230f(0x18d)](_0x14a0e5[_0x4f230f(0x16f)](_0x498a96[_0x4f230f(0x199)](_0x14a0e5[_0x4f230f(0x186)]),_0x4d2b34[_0x4f230f(0x161)](_0x14a0e5[_0x4f230f(0x178)])));continue;case'2':_0x17dc2f[_0x4f230f(0x18d)](_0x31a1b3[_0x4f230f(0x1a5)](_0x4f230f(0x159)));continue;case'3':_0xd2afc5[_0x4f230f(0x18d)](_0x14a0e5['BJTrZ'](_0x2cc91e[_0x4f230f(0x199)](_0x14a0e5[_0x4f230f(0x188)]),_0x54c31f['white'](_0x14a0e5[_0x4f230f(0x1a4)])));continue;case'4':_0x1100c4[_0x4f230f(0x18d)]('');continue;case'5':_0x13ea64[_0x4f230f(0x16d)]();continue;}break;}}}catch(_0x1e2144){_0x14a0e5[_0x4f230f(0x1a1)](_0x14a0e5[_0x4f230f(0x15b)],_0x14a0e5['SXgXD'])?(_0x2dc28f['error'](_0xbe8114[_0x4f230f(0x197)](LRRBCX[_0x4f230f(0x164)]),_0x3a1573[_0x4f230f(0x18c)]),_0x51bd93[_0x4f230f(0x18b)](0x1)):(console[_0x4f230f(0x19a)](chalk[_0x4f230f(0x197)](_0x14a0e5[_0x4f230f(0x164)]),_0x1e2144[_0x4f230f(0x18c)]),process['exit'](0x1));}}),program['command'](_0x13c15f(0x16e))[_0x13c15f(0x194)]('Execute\x20command\x20on\x20connected\x20iOS/Android\x20devices')[_0x13c15f(0x19d)](_0x13c15f(0x19c),_0x13c15f(0x185))[_0x13c15f(0x19d)](_0x13c15f(0x157),_0x13c15f(0x153))[_0x13c15f(0x174)](async(_0x409889,_0x292b89)=>{const _0x278d82=_0x13c15f,_0x3bf9d6={'yFXwY':'\x0a⚡\x20Executing\x20command...','vgJjb':function(_0x373f78,_0x8df195,_0x5a09a6){return _0x373f78(_0x8df195,_0x5a09a6);},'VRClp':_0x278d82(0x17b)};try{console['log'](chalk['cyan']['bold'](_0x3bf9d6[_0x278d82(0x1a6)])),console['log'](chalk[_0x278d82(0x199)]('━'[_0x278d82(0x16c)](0x32))),await _0x3bf9d6['vgJjb'](executeCommand,_0x409889,_0x292b89);}catch(_0x189f8d){console[_0x278d82(0x19a)](chalk[_0x278d82(0x197)](_0x3bf9d6[_0x278d82(0x156)]),_0x189f8d['message']),process[_0x278d82(0x18b)](0x1);}}),program[_0x13c15f(0x18f)](process[_0x13c15f(0x17d)]);!process[_0x13c15f(0x17d)][_0x13c15f(0x165)](0x2)[_0x13c15f(0x170)]&&(program[_0x13c15f(0x16d)](),console[_0x13c15f(0x18d)](chalk[_0x13c15f(0x1a5)](_0x13c15f(0x159))),console['log'](chalk[_0x13c15f(0x199)](_0x13c15f(0x1a2))+chalk[_0x13c15f(0x161)](_0x13c15f(0x183))),console[_0x13c15f(0x18d)](chalk[_0x13c15f(0x199)](_0x13c15f(0x17e))+chalk['white'](_0x13c15f(0x172))),console[_0x13c15f(0x18d)](chalk['gray']('\x20\x20devicely\x20doctor\x20\x20\x20')+chalk[_0x13c15f(0x161)](_0x13c15f(0x1a7))),console['log'](''));function _0x35e5(){const _0x3e9bc0=['u3rHCNqGrgv2AwnLBhKGC2vYDMvYigfUzcbVCgvUihDLyIbPBNrLCMzHy2u','yM9Sza','ndG3otj0zNfVDKe','icbKzxzPy2vSEsbKB2n0B3iGica','CMvWzwf0','B3v0Chv0sgvSCa','zxHLyYa8y29TBwfUzd4','s1DHDuW','BgvUz3rO','ls11C2iTB25SEq','iYbmAxn0igrLDMLJzxm','rw5HyMXLigrLyNvNigXVz2DPBMC','ywn0Aw9U','y2HHBgS','odCYnJi0oezLDNDICa','mZuWEMPAvvjj','tgThqw0','lI4VBgLIl2rLDMLJzxm','lxySic0TDMvYyM9Zzq','cUkDJcbfCNjVCJO','y29TBwfUza','yxjNDG','icbKzxzPy2vSEsbSAxn0icaGica','rgLZCgXHEsb2zxjZAw9Uig51BwjLCG','mti1ntKZogLKwgTmBG','zg9JDg9Y','u2HVDYbKzxrHAwXLzcbKzxzPy2uGAw5MB3jTyxrPB24','iYbtDgfYDcb0AguGC2vYDMvY','qKPuCLO','rxHLy3v0zsbVBIbZCgvJAwzPyYbKzxzPy2u','tKX0v3K','mJy4mtG3nuDKBKTIua','uKvNswW','ls13AwzPlw9UBhK','nZq0mJm2BxniCwXP','zxHPDa','BwvZC2fNzq','Bg9N','mLbxzKf2qq','CgfYC2u','nxWYFdf8m3WWFdq','lI4VBgLIl3nLCNzLCG','rgv0zwn0ifvtqIbKzxzPy2vZig9UBhK','ww1Ase0','zgvZy3jPChrPB24','uNjou24','su1IzMW','CMvK','DMvYC2LVBG','z3jHEq','zxjYB3i','mte2mJe1mezfB3rsqq','lwqSic0Tzgv2AwnLidXUyw1LpG','B3b0Aw9U','cVcFMOaGrgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxm','z2XYwuO','rgv0zwn0ifDPrMKGzgv2AwnLCYbVBMX5','rw5etxC','icbKzxzPy2vSEsbZDgfYDcaGica','u2vYDMvYihbVCNq','wKrMueq','y3LHBG','EuzyD1K','iYbdAgvJAYbZExn0zw0','mZaWmq','Eg1Jy0C','rg9Uj3qGB3bLBIbICM93C2vYigf1Dg9TyxrPy2fSBhK','rgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxmUiefjifbVD2vYzwqGtw9IAwXLief1Dg9TyxrPB24','rxHLy3v0zsbVBIbHBgWGzgv2AwnLCYaOzgvMyxvSDcK','y3HczKK','tgLZDcbHBgWGy29UBMvJDgvKigLpuYbHBMqGqw5KCM9PzcbKzxzPy2vZ','vLjdBha','lweSic0TywXS','y29TBwfUzgvY','cVcFKQeGuxvPy2SGC3rHCNq6','lwGSic0TAgvSCa','u1HNweq','lxaSic0TCg9YDca8Cg9YDd4','CuHIEK8','lI4VCgfJA2fNzs5QC29U','ls1UBY1ICM93C2vY','q2HLy2SGC3LZDgvTihjLCxvPCMvTzw50CYbMB3iGAu9tigfUzcbbBMrYB2LKigf1Dg9TyxrPB24','D2HPDgu','ls1Kzwj1zW','cVcFLi0Gq2HLy2TPBMCGC3LZDgvTihjLCxvPCMvTzw50CY4UlG','Aw5zB08','C2XPy2u','nNzZuuTwAq','ntyYmJy2s0TSsxf1'];_0x35e5=function(){return _0x3e9bc0;};return _0x35e5();}
|
package/config/devices.conf
CHANGED
|
@@ -16,9 +16,4 @@
|
|
|
16
16
|
# iPhone17,00008130-001945C63ED3401E,,ios,usb (iOS USB - auto-detected)
|
|
17
17
|
# iPhone16P,00008140-001C24361E41801C,10.173.221.204,ios,wireless (iOS Wireless)
|
|
18
18
|
# Pixel8,1A2B3C4D5E6F,,android,usb (Android USB - auto-detected)
|
|
19
|
-
# GalaxyS23,ABCD1234,192.168.1.150,android,wireless (Android Wireless)
|
|
20
|
-
|
|
21
|
-
iPhone17,00008150-001058D13478401C,,ios,usb
|
|
22
|
-
iPhone16Plus,00008140-001C24361E41801C,,ios,usb
|
|
23
|
-
sdk gphone64 arm64,emulator-5554,,android,usb
|
|
24
|
-
iPadProSuresh,00008132-000A24C022FB801C,,ios,usb
|
|
19
|
+
# GalaxyS23,ABCD1234,192.168.1.150,android,wireless (Android Wireless)
|