@signageos/front-applet 8.7.0 → 8.8.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/dist/bundle.js +2 -2
- package/dist/bundle.js.map +1 -1
- package/docs/sos_management/index.md +2 -2
- package/docs/sos_management/network.md +73 -0
- package/docs/sos_management/package.md +20 -0
- package/es6/FrontApplet/Management/IManagement.d.ts +1 -1
- package/es6/FrontApplet/Management/Network/INetwork.d.ts +2 -0
- package/es6/FrontApplet/Management/Network/INetwork.js.map +1 -1
- package/es6/FrontApplet/Management/Network/Network.d.ts +35 -0
- package/es6/FrontApplet/Management/Network/Network.js +68 -0
- package/es6/FrontApplet/Management/Network/Network.js.map +1 -1
- package/es6/FrontApplet/Management/Network/wakeOnLan.d.ts +18 -0
- package/es6/FrontApplet/Management/Network/wakeOnLan.js +43 -0
- package/es6/FrontApplet/Management/Network/wakeOnLan.js.map +1 -0
- package/es6/FrontApplet/Management/Package/Package.d.ts +9 -0
- package/es6/FrontApplet/Management/Package/Package.js +15 -0
- package/es6/FrontApplet/Management/Package/Package.js.map +1 -1
- package/es6/Monitoring/Management/Network/handleManagementNetworkRequests.js +14 -0
- package/es6/Monitoring/Management/Network/handleManagementNetworkRequests.js.map +1 -1
- package/es6/Monitoring/Management/Network/managementNetworkCommands.d.ts +23 -1
- package/es6/Monitoring/Management/Network/managementNetworkCommands.js +5 -1
- package/es6/Monitoring/Management/Network/managementNetworkCommands.js.map +1 -1
- package/package.json +1 -1
|
@@ -121,7 +121,7 @@ For more information what are capabilities, see the description of the `supports
|
|
|
121
121
|
```ts expandable
|
|
122
122
|
getCapabilities(): Promise<ManagementCapability[]>;
|
|
123
123
|
// show-more
|
|
124
|
-
type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | AnyString;
|
|
124
|
+
type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | 'SEND_UDP' | 'WAKE_ON_LAN' | 'CLEAR_PACKAGE_DATA' | AnyString;
|
|
125
125
|
|
|
126
126
|
type AnyString = string & {};
|
|
127
127
|
|
|
@@ -376,7 +376,7 @@ or check the **ManagementCapability** type in `supports()` method. It has a list
|
|
|
376
376
|
```ts expandable
|
|
377
377
|
supports(capability: ManagementCapability): Promise<boolean>;
|
|
378
378
|
// show-more
|
|
379
|
-
type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | AnyString;
|
|
379
|
+
type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | 'SEND_UDP' | 'WAKE_ON_LAN' | 'CLEAR_PACKAGE_DATA' | AnyString;
|
|
380
380
|
|
|
381
381
|
type AnyString = string & {};
|
|
382
382
|
|
|
@@ -174,6 +174,79 @@ interfaces.forEach((iface) => {
|
|
|
174
174
|
|
|
175
175
|
<Separator />
|
|
176
176
|
|
|
177
|
+
### sendUdp()
|
|
178
|
+
|
|
179
|
+
The `sendUdp()` method sends a raw UDP datagram to the specified IP address and port.
|
|
180
|
+
This is a low-level network primitive that can be used for protocols like Wake-on-LAN.
|
|
181
|
+
|
|
182
|
+
```ts expandable
|
|
183
|
+
sendUdp(ip: string, port: number, data: number[]): Promise<void>;
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
#### Params
|
|
187
|
+
|
|
188
|
+
| Name | Type | Required | Description |
|
|
189
|
+
|--------|------------|------------------|-----------------------------------------------------------------------------------------------------------------------|
|
|
190
|
+
| `ip` | `string` | <div>Yes</div> | The destination IP address. Use `'255.255.255.255'` for broadcast. |
|
|
191
|
+
| `port` | `number` | <div>Yes</div> | The destination UDP port number (1-65535). |
|
|
192
|
+
| `data` | `number[]` | <div>Yes</div> | The payload as a byte array. Each element must be an integer between 0 and 255. Maximum 1500 elements (Ethernet MTU). |
|
|
193
|
+
|
|
194
|
+
#### Return value
|
|
195
|
+
|
|
196
|
+
A promise that resolves when the UDP packet has been sent.
|
|
197
|
+
|
|
198
|
+
#### Possible errors
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
- If the parameters are invalid.
|
|
202
|
+
- If the device does not support sending UDP packets.
|
|
203
|
+
|
|
204
|
+
#### Example
|
|
205
|
+
|
|
206
|
+
```ts
|
|
207
|
+
// Send a Wake-on-LAN magic packet
|
|
208
|
+
await sos.management.network.sendUdp('255.255.255.255', 9, [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, ...]);
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
<Separator />
|
|
212
|
+
|
|
213
|
+
### sendWakeOnLan()
|
|
214
|
+
|
|
215
|
+
The `sendWakeOnLan()` method sends a Wake-on-LAN magic packet to wake a device with the given MAC address.
|
|
216
|
+
The target device must have Wake-on-LAN enabled and be on the same local network.
|
|
217
|
+
|
|
218
|
+
Internally, this generates a 102-byte magic packet (6×0xFF + 16× MAC address) and sends it
|
|
219
|
+
as a UDP broadcast to `255.255.255.255` on port 9 via `sendUdp()`.
|
|
220
|
+
|
|
221
|
+
```ts expandable
|
|
222
|
+
sendWakeOnLan(macAddress: string): Promise<void>;
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
#### Params
|
|
226
|
+
|
|
227
|
+
| Name | Type | Required | Description |
|
|
228
|
+
|--------------|----------|------------------|-------------------------------------------------------------------------------------------------------------------|
|
|
229
|
+
| `macAddress` | `string` | <div>Yes</div> | The MAC address of the target device. Accepted formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`. |
|
|
230
|
+
|
|
231
|
+
#### Return value
|
|
232
|
+
|
|
233
|
+
A promise that resolves when the magic packet has been sent.
|
|
234
|
+
|
|
235
|
+
#### Possible errors
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
- If the MAC address format is invalid.
|
|
239
|
+
- If the device does not support sending UDP packets.
|
|
240
|
+
|
|
241
|
+
#### Example
|
|
242
|
+
|
|
243
|
+
```ts
|
|
244
|
+
// Wake a device by its MAC address
|
|
245
|
+
await sos.management.network.sendWakeOnLan('AA:BB:CC:DD:EE:FF');
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
<Separator />
|
|
249
|
+
|
|
177
250
|
### setDHCP(interfaceName)
|
|
178
251
|
|
|
179
252
|
The `setDHCP()` method configures a selected network interface to use DHCP.
|
|
@@ -18,6 +18,26 @@ The `sos.management.package` API groups together methods for installing custom A
|
|
|
18
18
|
|
|
19
19
|
## Methods
|
|
20
20
|
|
|
21
|
+
### clearData()
|
|
22
|
+
|
|
23
|
+
The `clearData()` method stops a certain package and clears its user data.
|
|
24
|
+
|
|
25
|
+
```ts expandable
|
|
26
|
+
clearData(packageName: string): Promise<void>;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### Params
|
|
30
|
+
|
|
31
|
+
| Name | Type | Required | Description |
|
|
32
|
+
|---------------|----------|------------------|-----------------------------|
|
|
33
|
+
| `packageName` | `string` | <div>Yes</div> | Name of the android package |
|
|
34
|
+
|
|
35
|
+
#### Return value
|
|
36
|
+
|
|
37
|
+
Resolves if the package data was cleared.
|
|
38
|
+
|
|
39
|
+
<Separator />
|
|
40
|
+
|
|
21
41
|
### install()
|
|
22
42
|
|
|
23
43
|
The `install()` method installs a particular package from the specified URL.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import INetworkInfo from './Network/INetworkInfo';
|
|
2
2
|
import IBatteryStatus from './IBatteryStatus';
|
|
3
3
|
import { AnyString } from '../../utils/types';
|
|
4
|
-
export type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | AnyString;
|
|
4
|
+
export type ManagementCapability = 'MODEL' | 'SERIAL_NUMBER' | 'BRAND' | 'OS_VERSION' | 'BATTERY_STATUS' | 'STORAGE_UNITS' | 'TEMPERATURE' | 'SCREENSHOT_UPLOAD' | 'NETWORK_INFO' | 'WIFI' | 'WIFI_SCAN' | 'WIFI_AP' | 'WIFI_STRENGTH' | 'TIMERS_PROPRIETARY' | 'BRIGHTNESS_SCHEDULING' | 'TIMERS_NATIVE' | 'SET_BRIGHTNESS' | 'GET_BRIGHTNESS' | 'SCREEN_RESIZE' | 'SET_TIME' | 'SET_TIMEZONE' | 'GET_TIMEZONE' | 'NTP_TIME' | 'APP_UPGRADE' | 'FIRMWARE_UPGRADE' | 'PACKAGE_INSTALL' | 'SET_VOLUME' | 'GET_VOLUME' | 'SET_REMOTE_CONTROL_ENABLED' | 'SET_DEBUG' | 'SYSTEM_REBOOT' | 'APP_RESTART' | 'DISPLAY_POWER' | 'SERVLET' | 'HARDWARE_LED_SET_COLOR' | 'PROXIMITY_SENSOR' | 'FACTORY_RESET' | 'ORIENTATION_LANDSCAPE' | 'ORIENTATION_PORTRAIT' | 'ORIENTATION_LANDSCAPE_FLIPPED' | 'ORIENTATION_PORTRAIT_FLIPPED' | 'ORIENTATION_AUTO' | 'SCHEDULE_POWER_ACTION' | 'EXTENDED_MANAGEMENT' | 'SYSTEM_CPU' | 'SYSTEM_MEMORY' | 'PROXY' | 'AUTO_RECOVERY' | 'PEER_RECOVERY' | 'FILE_SYSTEM_WIPEOUT' | 'REMOTE_DESKTOP' | 'HOTEL_MODE' | 'VPN' | 'CUSTOM_SCRIPTS' | 'NATIVE_COMMANDS_MDC' | 'DEVICE_OWNER' | 'ACCESSIBILITY_SERVICE' | 'DISPLAY_MANAGER' | 'SECRETS' | 'HARDWARE_ACCELERATION' | 'WIFI_COUNTRY' | 'STOP_PACKAGE' | 'SEND_UDP' | 'WAKE_ON_LAN' | 'CLEAR_PACKAGE_DATA' | AnyString;
|
|
5
5
|
export default interface IManagement {
|
|
6
6
|
supports(capability: ManagementCapability): Promise<boolean>;
|
|
7
7
|
getModel(): Promise<string>;
|
|
@@ -22,6 +22,8 @@ export default interface INetwork {
|
|
|
22
22
|
setDHCP(interfaceName: string): Promise<void>;
|
|
23
23
|
disableInterface(interfaceName: string): Promise<void>;
|
|
24
24
|
importCertificate(details: CertificateEapDetails): Promise<void>;
|
|
25
|
+
sendUdp(ip: string, port: number, data: number[]): Promise<void>;
|
|
26
|
+
sendWakeOnLan(macAddress: string): Promise<void>;
|
|
25
27
|
}
|
|
26
28
|
export declare const VCertificateEapDetails: {
|
|
27
29
|
type: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"INetwork.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Network/INetwork.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"INetwork.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Network/INetwork.ts"],"names":[],"mappings":";;;AA8Ba,QAAA,sBAAsB,GAAG;IACrC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IACzC,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,SAAS;IAC5B,SAAS,EAAE,SAAS;IACpB,yBAAyB,EAAE,SAAS;CACpC,CAAC"}
|
|
@@ -136,5 +136,40 @@ export default class Network implements INetwork {
|
|
|
136
136
|
* await sos.management.network.importCertificate(certDetailsEapTtls);
|
|
137
137
|
*/
|
|
138
138
|
importCertificate(details: CertificateEapDetails): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* The `sendUdp()` method sends a raw UDP datagram to the specified IP address and port.
|
|
141
|
+
* This is a low-level network primitive that can be used for protocols like Wake-on-LAN.
|
|
142
|
+
*
|
|
143
|
+
* @param ip The destination IP address. Use `'255.255.255.255'` for broadcast.
|
|
144
|
+
* @param port The destination UDP port number (1-65535).
|
|
145
|
+
* @param data The payload as a byte array. Each element must be an integer between 0 and 255. Maximum 1500 elements (Ethernet MTU).
|
|
146
|
+
* @returns {Promise<void>} A promise that resolves when the UDP packet has been sent.
|
|
147
|
+
* @throws {Error} If the parameters are invalid.
|
|
148
|
+
* @throws {Error} If the device does not support sending UDP packets.
|
|
149
|
+
* @since 9.0.0
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* // Send a Wake-on-LAN magic packet
|
|
153
|
+
* await sos.management.network.sendUdp('255.255.255.255', 9, [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, ...]);
|
|
154
|
+
*/
|
|
155
|
+
sendUdp(ip: string, port: number, data: number[]): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* The `sendWakeOnLan()` method sends a Wake-on-LAN magic packet to wake a device with the given MAC address.
|
|
158
|
+
* The target device must have Wake-on-LAN enabled and be on the same local network.
|
|
159
|
+
*
|
|
160
|
+
* Internally, this generates a 102-byte magic packet (6×0xFF + 16× MAC address) and sends it
|
|
161
|
+
* as a UDP broadcast to `255.255.255.255` on port 9 via `sendUdp()`.
|
|
162
|
+
*
|
|
163
|
+
* @param macAddress The MAC address of the target device. Accepted formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`.
|
|
164
|
+
* @returns {Promise<void>} A promise that resolves when the magic packet has been sent.
|
|
165
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
166
|
+
* @throws {Error} If the device does not support sending UDP packets.
|
|
167
|
+
* @since 9.0.0
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* // Wake a device by its MAC address
|
|
171
|
+
* await sos.management.network.sendWakeOnLan('AA:BB:CC:DD:EE:FF');
|
|
172
|
+
*/
|
|
173
|
+
sendWakeOnLan(macAddress: string): Promise<void>;
|
|
139
174
|
private getMessage;
|
|
140
175
|
}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const INetworkInfo_1 = require("./INetworkInfo");
|
|
7
7
|
const Validate_1 = __importDefault(require("../../Validate/Validate"));
|
|
8
8
|
const INetwork_1 = require("./INetwork");
|
|
9
|
+
const wakeOnLan_1 = require("./wakeOnLan");
|
|
9
10
|
/**
|
|
10
11
|
* The `sos.management.network` API groups together networking methods. For Wi-Fi setup, use the [Wi-Fi API](https://developers.signageos.io/sdk/sos_management/wifi).
|
|
11
12
|
*
|
|
@@ -168,6 +169,73 @@ class Network {
|
|
|
168
169
|
details,
|
|
169
170
|
});
|
|
170
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* The `sendUdp()` method sends a raw UDP datagram to the specified IP address and port.
|
|
174
|
+
* This is a low-level network primitive that can be used for protocols like Wake-on-LAN.
|
|
175
|
+
*
|
|
176
|
+
* @param ip The destination IP address. Use `'255.255.255.255'` for broadcast.
|
|
177
|
+
* @param port The destination UDP port number (1-65535).
|
|
178
|
+
* @param data The payload as a byte array. Each element must be an integer between 0 and 255. Maximum 1500 elements (Ethernet MTU).
|
|
179
|
+
* @returns {Promise<void>} A promise that resolves when the UDP packet has been sent.
|
|
180
|
+
* @throws {Error} If the parameters are invalid.
|
|
181
|
+
* @throws {Error} If the device does not support sending UDP packets.
|
|
182
|
+
* @since 9.0.0
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* // Send a Wake-on-LAN magic packet
|
|
186
|
+
* await sos.management.network.sendUdp('255.255.255.255', 9, [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, ...]);
|
|
187
|
+
*/
|
|
188
|
+
async sendUdp(ip, port, data) {
|
|
189
|
+
(0, Validate_1.default)({ ip })
|
|
190
|
+
.required()
|
|
191
|
+
.string()
|
|
192
|
+
.lengthMin(1)
|
|
193
|
+
.own((subject) => {
|
|
194
|
+
const IP_REGEX = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
|
|
195
|
+
return IP_REGEX.test(subject.subject) || 'must be a valid IPv4 address';
|
|
196
|
+
});
|
|
197
|
+
(0, Validate_1.default)({ port }).required().number().min(1).max(65535);
|
|
198
|
+
(0, Validate_1.default)({ data })
|
|
199
|
+
.required()
|
|
200
|
+
.array('number')
|
|
201
|
+
.lengthMax(1500)
|
|
202
|
+
.own((subject) => {
|
|
203
|
+
for (const byte of subject.subject) {
|
|
204
|
+
if (byte < 0 || byte > 255 || !Number.isInteger(byte)) {
|
|
205
|
+
return 'each element must be an integer between 0 and 255';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return true;
|
|
209
|
+
});
|
|
210
|
+
await this.postMessage({
|
|
211
|
+
type: this.getMessage('send_udp'),
|
|
212
|
+
ip,
|
|
213
|
+
port,
|
|
214
|
+
data,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The `sendWakeOnLan()` method sends a Wake-on-LAN magic packet to wake a device with the given MAC address.
|
|
219
|
+
* The target device must have Wake-on-LAN enabled and be on the same local network.
|
|
220
|
+
*
|
|
221
|
+
* Internally, this generates a 102-byte magic packet (6×0xFF + 16× MAC address) and sends it
|
|
222
|
+
* as a UDP broadcast to `255.255.255.255` on port 9 via `sendUdp()`.
|
|
223
|
+
*
|
|
224
|
+
* @param macAddress The MAC address of the target device. Accepted formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`.
|
|
225
|
+
* @returns {Promise<void>} A promise that resolves when the magic packet has been sent.
|
|
226
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
227
|
+
* @throws {Error} If the device does not support sending UDP packets.
|
|
228
|
+
* @since 9.0.0
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* // Wake a device by its MAC address
|
|
232
|
+
* await sos.management.network.sendWakeOnLan('AA:BB:CC:DD:EE:FF');
|
|
233
|
+
*/
|
|
234
|
+
async sendWakeOnLan(macAddress) {
|
|
235
|
+
(0, Validate_1.default)({ macAddress }).required().string().lengthMin(1);
|
|
236
|
+
const magicPacket = (0, wakeOnLan_1.createMagicPacket)(macAddress);
|
|
237
|
+
await this.sendUdp('255.255.255.255', 9, magicPacket);
|
|
238
|
+
}
|
|
171
239
|
getMessage(name) {
|
|
172
240
|
return this.messagePrefix + '.' + name;
|
|
173
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Network.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Network/Network.ts"],"names":[],"mappings":";;;;;AACA,iDAQwB;AACxB,uEAA+C;AAC/C,yCAAqF;
|
|
1
|
+
{"version":3,"file":"Network.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Network/Network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses a MAC address string into an array of 6 bytes.
|
|
3
|
+
* Accepts formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`.
|
|
4
|
+
*
|
|
5
|
+
* @param macAddress The MAC address string to parse.
|
|
6
|
+
* @returns An array of 6 bytes (numbers 0-255).
|
|
7
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseMacAddress(macAddress: string): number[];
|
|
10
|
+
/**
|
|
11
|
+
* Creates a Wake-on-LAN magic packet for the given MAC address.
|
|
12
|
+
* The packet is 102 bytes: 6 bytes of 0xFF followed by the MAC address repeated 16 times.
|
|
13
|
+
*
|
|
14
|
+
* @param macAddress The target MAC address (formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`).
|
|
15
|
+
* @returns The magic packet as a number array (102 bytes, each 0-255).
|
|
16
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createMagicPacket(macAddress: string): number[];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMacAddress = parseMacAddress;
|
|
4
|
+
exports.createMagicPacket = createMagicPacket;
|
|
5
|
+
const MAC_REGEX = /^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$|^([0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2}$|^[0-9A-Fa-f]{12}$/;
|
|
6
|
+
/**
|
|
7
|
+
* Parses a MAC address string into an array of 6 bytes.
|
|
8
|
+
* Accepts formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`.
|
|
9
|
+
*
|
|
10
|
+
* @param macAddress The MAC address string to parse.
|
|
11
|
+
* @returns An array of 6 bytes (numbers 0-255).
|
|
12
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
13
|
+
*/
|
|
14
|
+
function parseMacAddress(macAddress) {
|
|
15
|
+
if (!macAddress || !MAC_REGEX.test(macAddress)) {
|
|
16
|
+
throw new Error(`Invalid MAC address: "${macAddress}". Expected format: AA:BB:CC:DD:EE:FF, AA-BB-CC-DD-EE-FF, or AABBCCDDEEFF`);
|
|
17
|
+
}
|
|
18
|
+
const hex = macAddress.replace(/[:-]/g, '');
|
|
19
|
+
const bytes = [];
|
|
20
|
+
for (let i = 0; i < 12; i += 2) {
|
|
21
|
+
bytes.push(parseInt(hex.substring(i, i + 2), 16));
|
|
22
|
+
}
|
|
23
|
+
return bytes;
|
|
24
|
+
}
|
|
25
|
+
const MAGIC_PACKET_HEADER = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff];
|
|
26
|
+
const MAC_REPETITIONS = 16;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a Wake-on-LAN magic packet for the given MAC address.
|
|
29
|
+
* The packet is 102 bytes: 6 bytes of 0xFF followed by the MAC address repeated 16 times.
|
|
30
|
+
*
|
|
31
|
+
* @param macAddress The target MAC address (formats: `AA:BB:CC:DD:EE:FF`, `AA-BB-CC-DD-EE-FF`, `AABBCCDDEEFF`).
|
|
32
|
+
* @returns The magic packet as a number array (102 bytes, each 0-255).
|
|
33
|
+
* @throws {Error} If the MAC address format is invalid.
|
|
34
|
+
*/
|
|
35
|
+
function createMagicPacket(macAddress) {
|
|
36
|
+
const macBytes = parseMacAddress(macAddress);
|
|
37
|
+
const packet = [...MAGIC_PACKET_HEADER];
|
|
38
|
+
for (let i = 0; i < MAC_REPETITIONS; i++) {
|
|
39
|
+
packet.push(...macBytes);
|
|
40
|
+
}
|
|
41
|
+
return packet;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=wakeOnLan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wakeOnLan.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Network/wakeOnLan.ts"],"names":[],"mappings":";;AAUA,0CAYC;AAaD,8CASC;AA5CD,MAAM,SAAS,GAAG,6FAA6F,CAAC;AAEhH;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,UAAkB;IACjD,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,2EAA2E,CAAC,CAAC;IACjI,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,UAAkB;IACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAa,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -41,5 +41,14 @@ export default class Package implements IPackage {
|
|
|
41
41
|
* @since 8.2.0
|
|
42
42
|
*/
|
|
43
43
|
stop(packageName: string): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* The `clearData()` method stops a certain package and clears its user data.
|
|
46
|
+
*
|
|
47
|
+
* @param packageName Name of the android package
|
|
48
|
+
*
|
|
49
|
+
* @returns {Promise<void>} Resolves if the package data was cleared.
|
|
50
|
+
* @since 8.8.0
|
|
51
|
+
*/
|
|
52
|
+
clearData(packageName: string): Promise<void>;
|
|
44
53
|
private getMessage;
|
|
45
54
|
}
|
|
@@ -67,6 +67,21 @@ class Package {
|
|
|
67
67
|
});
|
|
68
68
|
return stopped;
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* The `clearData()` method stops a certain package and clears its user data.
|
|
72
|
+
*
|
|
73
|
+
* @param packageName Name of the android package
|
|
74
|
+
*
|
|
75
|
+
* @returns {Promise<void>} Resolves if the package data was cleared.
|
|
76
|
+
* @since 8.8.0
|
|
77
|
+
*/
|
|
78
|
+
async clearData(packageName) {
|
|
79
|
+
(0, Validate_1.default)({ packageName }).required().string();
|
|
80
|
+
await this.postMessage({
|
|
81
|
+
type: this.getMessage('clear_package_data'),
|
|
82
|
+
packageName,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
70
85
|
getMessage(name) {
|
|
71
86
|
return this.messagePrefix + '.' + name;
|
|
72
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Package.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Package/Package.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;;;;;;;;;;;GAYG;AACH,MAAqB,OAAO;IAGlB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,WAAmB,EAAE,OAAe,EAAE,KAAoB;QAC/F,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;QACvC,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAA,kBAAQ,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACxC,OAAO;YACP,WAAW;YACX,OAAO;YACP,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,IAAI,CAAC,WAAmB;QACpC,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACrC,WAAW;SACX,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"Package.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Package/Package.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;;;;;;;;;;;GAYG;AACH,MAAqB,OAAO;IAGlB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,WAAmB,EAAE,OAAe,EAAE,KAAoB;QAC/F,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;QACvC,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAA,kBAAQ,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACxC,OAAO;YACP,WAAW;YACX,OAAO;YACP,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,IAAI,CAAC,WAAmB;QACpC,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACrC,WAAW;SACX,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,SAAS,CAAC,WAAmB;QACzC,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAC3C,WAAW;SACX,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAvED,0BAuEC"}
|
|
@@ -32,6 +32,20 @@ function handleManagementNetworkRequests(onCommand, dispatch, frontApplet) {
|
|
|
32
32
|
result: {},
|
|
33
33
|
});
|
|
34
34
|
break;
|
|
35
|
+
case managementNetworkCommands_1.ManagementNetworkSendUdpRequest:
|
|
36
|
+
await frontApplet.management.network.sendUdp(commandEvent.command.ip, commandEvent.command.port, commandEvent.command.data);
|
|
37
|
+
await dispatch({
|
|
38
|
+
type: managementNetworkCommands_1.ManagementNetworkSendUdpResult,
|
|
39
|
+
result: {},
|
|
40
|
+
});
|
|
41
|
+
break;
|
|
42
|
+
case managementNetworkCommands_1.ManagementNetworkSendWakeOnLanRequest:
|
|
43
|
+
await frontApplet.management.network.sendWakeOnLan(commandEvent.command.macAddress);
|
|
44
|
+
await dispatch({
|
|
45
|
+
type: managementNetworkCommands_1.ManagementNetworkSendWakeOnLanResult,
|
|
46
|
+
result: {},
|
|
47
|
+
});
|
|
48
|
+
break;
|
|
35
49
|
default:
|
|
36
50
|
}
|
|
37
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleManagementNetworkRequests.js","sourceRoot":"","sources":["../../../../src/Monitoring/Management/Network/handleManagementNetworkRequests.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"handleManagementNetworkRequests.js","sourceRoot":"","sources":["../../../../src/Monitoring/Management/Network/handleManagementNetworkRequests.ts"],"names":[],"mappings":";;AAmBA,0EAmDC;AAnED,2EAcqC;AAErC,SAAgB,+BAA+B,CAC9C,SAA6G,EAC7G,QAAyE,EACzE,WAAwB;IAExB,SAAS,CAAC,KAAK,EAAE,YAA2D,EAAE,EAAE;QAC/E,QAAQ,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnC,KAAK,kEAAsC;gBAC1C,MAAM,QAAQ,CAAwC;oBACrD,IAAI,EAAE,iEAAqC;oBAC3C,MAAM,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE;iBAC7D,CAAC,CAAC;gBACH,MAAM;YACP,KAAK,6DAAiC;gBACrC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjH,MAAM,QAAQ,CAAmC;oBAChD,IAAI,EAAE,4DAAgC;oBACtC,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,MAAM;YACP,KAAK,iEAAqC;gBACzC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjF,MAAM,QAAQ,CAAuC;oBACpD,IAAI,EAAE,gEAAoC;oBAC1C,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,MAAM;YACP,KAAK,oEAAwC;gBAC5C,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC1F,MAAM,QAAQ,CAA0C;oBACvD,IAAI,EAAE,mEAAuC;oBAC7C,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,MAAM;YACP,KAAK,2DAA+B;gBACnC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5H,MAAM,QAAQ,CAAiC;oBAC9C,IAAI,EAAE,0DAA8B;oBACpC,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,MAAM;YACP,KAAK,iEAAqC;gBACzC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpF,MAAM,QAAQ,CAAuC;oBACpD,IAAI,EAAE,gEAAoC;oBAC1C,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,MAAM;YACP,QAAQ;QACT,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INetworkInterface, INetworkOptions } from '../../../FrontApplet/Management/Network/INetworkInfo';
|
|
2
2
|
import { EmptyObject } from '../../EmptyObject';
|
|
3
|
-
export type ManagementNetworkRequests = ManagementNetworkListInterfacesRequest | ManagementNetworkSetManualRequest | ManagementNetworkSetDHCPServerRequest | ManagementNetworkDisableInterfaceRequest;
|
|
3
|
+
export type ManagementNetworkRequests = ManagementNetworkListInterfacesRequest | ManagementNetworkSetManualRequest | ManagementNetworkSetDHCPServerRequest | ManagementNetworkDisableInterfaceRequest | ManagementNetworkSendUdpRequest | ManagementNetworkSendWakeOnLanRequest;
|
|
4
4
|
export declare const ManagementNetworkListInterfacesRequest = "sos.Monitoring.Management.Network.ListInterfacesRequest";
|
|
5
5
|
export interface ManagementNetworkListInterfacesRequest {
|
|
6
6
|
type: typeof ManagementNetworkListInterfacesRequest;
|
|
@@ -41,3 +41,25 @@ export interface ManagementNetworkDisableInterfaceResult {
|
|
|
41
41
|
type: typeof ManagementNetworkDisableInterfaceResult;
|
|
42
42
|
result: EmptyObject;
|
|
43
43
|
}
|
|
44
|
+
export declare const ManagementNetworkSendUdpRequest = "sos.Monitoring.Management.Network.SendUdpRequest";
|
|
45
|
+
export interface ManagementNetworkSendUdpRequest {
|
|
46
|
+
type: typeof ManagementNetworkSendUdpRequest;
|
|
47
|
+
ip: string;
|
|
48
|
+
port: number;
|
|
49
|
+
data: number[];
|
|
50
|
+
}
|
|
51
|
+
export declare const ManagementNetworkSendUdpResult = "sos.Monitoring.Management.Network.SendUdpResult";
|
|
52
|
+
export interface ManagementNetworkSendUdpResult {
|
|
53
|
+
type: typeof ManagementNetworkSendUdpResult;
|
|
54
|
+
result: EmptyObject;
|
|
55
|
+
}
|
|
56
|
+
export declare const ManagementNetworkSendWakeOnLanRequest = "sos.Monitoring.Management.Network.SendWakeOnLanRequest";
|
|
57
|
+
export interface ManagementNetworkSendWakeOnLanRequest {
|
|
58
|
+
type: typeof ManagementNetworkSendWakeOnLanRequest;
|
|
59
|
+
macAddress: string;
|
|
60
|
+
}
|
|
61
|
+
export declare const ManagementNetworkSendWakeOnLanResult = "sos.Monitoring.Management.Network.SendWakeOnLanResult";
|
|
62
|
+
export interface ManagementNetworkSendWakeOnLanResult {
|
|
63
|
+
type: typeof ManagementNetworkSendWakeOnLanResult;
|
|
64
|
+
result: EmptyObject;
|
|
65
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ManagementNetworkDisableInterfaceResult = exports.ManagementNetworkDisableInterfaceRequest = exports.ManagementNetworkSetDHCPServerResult = exports.ManagementNetworkSetDHCPServerRequest = exports.ManagementNetworkSetManualResult = exports.ManagementNetworkSetManualRequest = exports.ManagementNetworkListInterfacesResult = exports.ManagementNetworkListInterfacesRequest = void 0;
|
|
3
|
+
exports.ManagementNetworkSendWakeOnLanResult = exports.ManagementNetworkSendWakeOnLanRequest = exports.ManagementNetworkSendUdpResult = exports.ManagementNetworkSendUdpRequest = exports.ManagementNetworkDisableInterfaceResult = exports.ManagementNetworkDisableInterfaceRequest = exports.ManagementNetworkSetDHCPServerResult = exports.ManagementNetworkSetDHCPServerRequest = exports.ManagementNetworkSetManualResult = exports.ManagementNetworkSetManualRequest = exports.ManagementNetworkListInterfacesResult = exports.ManagementNetworkListInterfacesRequest = void 0;
|
|
4
4
|
exports.ManagementNetworkListInterfacesRequest = 'sos.Monitoring.Management.Network.ListInterfacesRequest';
|
|
5
5
|
exports.ManagementNetworkListInterfacesResult = 'sos.Monitoring.Management.Network.ListInterfacesResult';
|
|
6
6
|
exports.ManagementNetworkSetManualRequest = 'sos.Monitoring.Management.Network.SetManualRequest';
|
|
@@ -9,4 +9,8 @@ exports.ManagementNetworkSetDHCPServerRequest = 'sos.Monitoring.Management.Netwo
|
|
|
9
9
|
exports.ManagementNetworkSetDHCPServerResult = 'sos.Monitoring.Management.Network.SetDHCPServerResult';
|
|
10
10
|
exports.ManagementNetworkDisableInterfaceRequest = 'sos.Monitoring.Management.Network.DisableInterfaceRequest';
|
|
11
11
|
exports.ManagementNetworkDisableInterfaceResult = 'sos.Monitoring.Management.Network.DisableInterfaceResult';
|
|
12
|
+
exports.ManagementNetworkSendUdpRequest = 'sos.Monitoring.Management.Network.SendUdpRequest';
|
|
13
|
+
exports.ManagementNetworkSendUdpResult = 'sos.Monitoring.Management.Network.SendUdpResult';
|
|
14
|
+
exports.ManagementNetworkSendWakeOnLanRequest = 'sos.Monitoring.Management.Network.SendWakeOnLanRequest';
|
|
15
|
+
exports.ManagementNetworkSendWakeOnLanResult = 'sos.Monitoring.Management.Network.SendWakeOnLanResult';
|
|
12
16
|
//# sourceMappingURL=managementNetworkCommands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managementNetworkCommands.js","sourceRoot":"","sources":["../../../../src/Monitoring/Management/Network/managementNetworkCommands.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"managementNetworkCommands.js","sourceRoot":"","sources":["../../../../src/Monitoring/Management/Network/managementNetworkCommands.ts"],"names":[],"mappings":";;;AAWa,QAAA,sCAAsC,GAAG,yDAAyD,CAAC;AAKnG,QAAA,qCAAqC,GAAG,wDAAwD,CAAC;AAMjG,QAAA,iCAAiC,GAAG,oDAAoD,CAAC;AAOzF,QAAA,gCAAgC,GAAG,mDAAmD,CAAC;AAMvF,QAAA,qCAAqC,GAAG,wDAAwD,CAAC;AAMjG,QAAA,oCAAoC,GAAG,uDAAuD,CAAC;AAM/F,QAAA,wCAAwC,GAAG,2DAA2D,CAAC;AAMvG,QAAA,uCAAuC,GAAG,0DAA0D,CAAC;AAMrG,QAAA,+BAA+B,GAAG,kDAAkD,CAAC;AAQrF,QAAA,8BAA8B,GAAG,iDAAiD,CAAC;AAMnF,QAAA,qCAAqC,GAAG,wDAAwD,CAAC;AAMjG,QAAA,oCAAoC,GAAG,uDAAuD,CAAC"}
|