manageos 2.3.1 → 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/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # 🧠 ManageOS
2
+
3
+ **ManageOS** es un módulo para **Node.js**, **TypeScript** y **JavaScript** que permite **gestionar, auditar y automatizar tareas del sistema operativo Windows** (y otros entornos como Android) mediante una API sencilla y potente.
4
+
5
+ ---
6
+
7
+ ## 🚀 Características principales
8
+
9
+ - 🪟 Gestión avanzada del sistema operativo Windows.
10
+ - 🔒 Control de **BitLocker**, **Antivirus** y **Políticas de auditoría**.
11
+ - 🧾 Administración de **registros de eventos** y **certificados**.
12
+ - 🔉 Control de **audio**, **cámara**, **portapapeles** y más.
13
+ - 🧠 API unificada para funciones **sincrónicas (Sync)** y **asíncronas (Async)**.
14
+ - 🤖 Soporte extendido para **Android** (ADB y Fastboot).
15
+ - 🔐 Herramientas integradas de **encriptación y hash**.
16
+ - 🪶 Completamente escrito en **TypeScript** con tipado fuerte.
17
+
18
+ ---
19
+
20
+ ## 📦 Instalación
21
+
22
+ ```bash
23
+ npm install manageos
24
+ # o
25
+ yarn add manageos
26
+ ```
27
+
28
+ ---
29
+
30
+ ## 🧰 Ejemplo de uso básico
31
+
32
+ ### Sincrónico
33
+ ```ts
34
+ import { BitLocker } from "manageos";
35
+
36
+ BitLocker.Sync.lockDrive("C:");
37
+ console.log("Unidad C bloqueada con BitLocker.");
38
+ ```
39
+
40
+ ### Asíncrono
41
+ ```ts
42
+ import { AuditPolicy } from "manageos";
43
+
44
+ await AuditPolicy.Async.enable("Logon/Logoff");
45
+ console.log("Política de auditoría activada.");
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 📚 Módulos disponibles
51
+
52
+ | Módulo | Descripción |
53
+ |--------|--------------|
54
+ | `Antivirus` | Controla y verifica el estado del antivirus de Windows. |
55
+ | `Audio` | Administra el volumen, dispositivos y controladores de audio. |
56
+ | `AuditPolicy` | Gestiona políticas de auditoría del sistema. |
57
+ | `BitLocker` | Controla el cifrado de unidades mediante BitLocker. |
58
+ | `Camera` | Accede a la cámara del sistema y gestiona su disponibilidad. |
59
+ | `Certificates` | Gestiona certificados del sistema. |
60
+ | `Clipboard` | Lee y escribe en el portapapeles del sistema. |
61
+ | `Encryption` | Permite encriptar, desencriptar, generar y guardar claves. |
62
+ | `EventLogs` | Lee y exporta registros del visor de eventos. |
63
+ | `Android` | Ejecuta comandos ADB y Fastboot para dispositivos Android. |
64
+
65
+ ---
66
+
67
+ ## 🔐 Ejemplo de encriptación
68
+
69
+ ```ts
70
+ import { Encryption } from "manageos";
71
+
72
+ // Inicializa una clave
73
+ Encryption.init("mi_clave_secreta");
74
+
75
+ // Cifra texto
76
+ const { encryptedData, iv } = Encryption.encrypt("Hola mundo");
77
+
78
+ // Descifra texto
79
+ const texto = Encryption.decrypt(encryptedData, iv);
80
+ console.log(texto); // "Hola mundo"
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 🧩 API consistente
86
+
87
+ Todos los módulos siguen una estructura similar:
88
+ ```ts
89
+ <Modulo>.Sync.<función>()
90
+ <Modulo>.Async.<función>()
91
+ ```
92
+
93
+ Esto permite integrar **ManageOS** fácilmente en cualquier flujo sin preocuparse por compatibilidades entre promesas o ejecuciones bloqueantes.
94
+
95
+ ---
96
+
97
+ ## 🛠️ Requisitos
98
+
99
+ - Windows 10 / 11 o superior
100
+ - Node.js >= 18
101
+ - Permisos administrativos para algunas funciones
102
+
103
+ ---
104
+
105
+ ## 📖 Documentación
106
+
107
+ Consulta la documentación completa en el repositorio oficial:
108
+
109
+ 👉 [GitHub - tizianoluziramos/ManageOS](https://github.com/tizianoluziramos/ManageOS)
110
+
111
+ ---
112
+
113
+ ## 🤝 Contribuir
114
+
115
+ ¡Las contribuciones son bienvenidas!
116
+ Haz un *fork* del proyecto, crea una rama con tus cambios y envía un *pull request*.
117
+
118
+ ```bash
119
+ git clone https://github.com/tizianoluziramos/ManageOS.git
120
+ cd ManageOS
121
+ npm install
122
+ npm run build
123
+ ```
124
+
125
+ ---
126
+
127
+ ## 🧾 Licencia
128
+
129
+ Este proyecto está licenciado bajo la **MIT License**.
130
+
131
+ ---
132
+
133
+ ### ✨ Desarrollado por [Tiziano Luzi Ramos](https://github.com/tizianoluziramos)
@@ -0,0 +1,24 @@
1
+ declare class Async {
2
+ static press(key: string): Promise<boolean>;
3
+ static release(key: string): Promise<boolean>;
4
+ static type(text: string): Promise<boolean>;
5
+ static repeat(key: string, count: number): Promise<boolean>;
6
+ static isKeyDown(key: string): Promise<boolean>;
7
+ static block(): Promise<boolean>;
8
+ static unblock(): Promise<boolean>;
9
+ }
10
+ declare class Sync {
11
+ static press(key: string): boolean;
12
+ static release(key: string): boolean;
13
+ static type(text: string): boolean;
14
+ static repeat(key: string, count: number): boolean;
15
+ static isKeyDown(key: string): boolean;
16
+ static block(): boolean;
17
+ static unblock(): boolean;
18
+ }
19
+ export default class Keyboard {
20
+ static readonly Async: typeof Async;
21
+ static readonly Sync: typeof Sync;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Keyboard/index.ts"],"names":[],"mappings":"AAiBA,cAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3D,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAUhC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CASnC;AAED,cAAM,IAAI;IACR,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMlC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMpC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMlC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAQlD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMtC,MAAM,CAAC,KAAK,IAAI,OAAO;IAMvB,MAAM,CAAC,OAAO,IAAI,OAAO;CAK1B;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,gBAAuB,KAAK,eAAS;IACrC,gBAAuB,IAAI,cAAQ;CACpC"}
@@ -0,0 +1,128 @@
1
+ import { exec, execSync } from "child_process";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ const keyboardExe = path.join(__dirname, "keyboard.exe");
7
+ function parseJSON(stdout) {
8
+ try {
9
+ return JSON.parse(stdout.trim());
10
+ }
11
+ catch (e) {
12
+ throw new Error("Invalid JSON from keyboard.exe: " + stdout);
13
+ }
14
+ }
15
+ class Async {
16
+ static press(key) {
17
+ return new Promise((resolve, reject) => {
18
+ exec(`"${keyboardExe}" press ${key}`, (error, stdout) => {
19
+ if (error)
20
+ return reject(error);
21
+ const result = parseJSON(stdout);
22
+ resolve(result.success || false);
23
+ });
24
+ });
25
+ }
26
+ static release(key) {
27
+ return new Promise((resolve, reject) => {
28
+ exec(`"${keyboardExe}" release ${key}`, (error, stdout) => {
29
+ if (error)
30
+ return reject(error);
31
+ const result = parseJSON(stdout);
32
+ resolve(result.success || false);
33
+ });
34
+ });
35
+ }
36
+ static type(text) {
37
+ return new Promise((resolve, reject) => {
38
+ exec(`"${keyboardExe}" type "${text}"`, (error, stdout) => {
39
+ if (error)
40
+ return reject(error);
41
+ const result = parseJSON(stdout);
42
+ resolve(result.success || false);
43
+ });
44
+ });
45
+ }
46
+ static repeat(key, count) {
47
+ return new Promise((resolve, reject) => {
48
+ exec(`"${keyboardExe}" repeat ${key} ${count}`, (error, stdout) => {
49
+ if (error)
50
+ return reject(error);
51
+ const result = parseJSON(stdout);
52
+ resolve(result.success || false);
53
+ });
54
+ });
55
+ }
56
+ static isKeyDown(key) {
57
+ return new Promise((resolve, reject) => {
58
+ exec(`"${keyboardExe}" iskeydown ${key}`, (error, stdout) => {
59
+ if (error)
60
+ return reject(error);
61
+ const result = parseJSON(stdout);
62
+ resolve(result.keydown || false);
63
+ });
64
+ });
65
+ }
66
+ static block() {
67
+ return new Promise((resolve, reject) => {
68
+ exec(`"${keyboardExe}" block`, (error, stdout) => {
69
+ if (error)
70
+ return reject(error);
71
+ const result = parseJSON(stdout);
72
+ resolve(result.success || false);
73
+ });
74
+ });
75
+ }
76
+ static unblock() {
77
+ return new Promise((resolve, reject) => {
78
+ exec(`"${keyboardExe}" unblock`, (error, stdout) => {
79
+ if (error)
80
+ return reject(error);
81
+ const result = parseJSON(stdout);
82
+ resolve(result.success || false);
83
+ });
84
+ });
85
+ }
86
+ }
87
+ class Sync {
88
+ static press(key) {
89
+ const stdout = execSync(`"${keyboardExe}" press ${key}`).toString();
90
+ const result = parseJSON(stdout);
91
+ return result.success || false;
92
+ }
93
+ static release(key) {
94
+ const stdout = execSync(`"${keyboardExe}" release ${key}`).toString();
95
+ const result = parseJSON(stdout);
96
+ return result.success || false;
97
+ }
98
+ static type(text) {
99
+ const stdout = execSync(`"${keyboardExe}" type "${text}"`).toString();
100
+ const result = parseJSON(stdout);
101
+ return result.success || false;
102
+ }
103
+ static repeat(key, count) {
104
+ const stdout = execSync(`"${keyboardExe}" repeat ${key} ${count}`).toString();
105
+ const result = parseJSON(stdout);
106
+ return result.success || false;
107
+ }
108
+ static isKeyDown(key) {
109
+ const stdout = execSync(`"${keyboardExe}" iskeydown ${key}`).toString();
110
+ const result = parseJSON(stdout);
111
+ return result.keydown || false;
112
+ }
113
+ static block() {
114
+ const stdout = execSync(`"${keyboardExe}" block`).toString();
115
+ const result = parseJSON(stdout);
116
+ return result.success || false;
117
+ }
118
+ static unblock() {
119
+ const stdout = execSync(`"${keyboardExe}" unblock`).toString();
120
+ const result = parseJSON(stdout);
121
+ return result.success || false;
122
+ }
123
+ }
124
+ export default class Keyboard {
125
+ static Async = Async;
126
+ static Sync = Sync;
127
+ }
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Keyboard/index.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
@@ -0,0 +1,28 @@
1
+ import FtpServer, { FtpServerOptions } from "ftp-srv";
2
+ export interface FTPOptions {
3
+ url?: string;
4
+ port?: number;
5
+ host?: string;
6
+ folder: string;
7
+ username?: string;
8
+ password?: string;
9
+ pasvUrl?: string;
10
+ anonymous?: boolean;
11
+ onLogin?: (username: string, password: string) => boolean | Promise<boolean>;
12
+ onStart?: (server: FtpServer) => void;
13
+ onError?: (error: Error) => void;
14
+ onConnection?: (username: string, address: string) => void;
15
+ ftpOptions?: Partial<FtpServerOptions>;
16
+ }
17
+ declare class Async {
18
+ static start(options: FTPOptions): Promise<FtpServer>;
19
+ }
20
+ declare class Sync {
21
+ static start(options: FTPOptions): FtpServer | null;
22
+ }
23
+ export default class FTP {
24
+ static readonly Async: typeof Async;
25
+ static readonly Sync: typeof Sync;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=FTP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FTP.d.ts","sourceRoot":"","sources":["../../src/Server/FTP.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAG3D,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxC;AAQD,cAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;CAkEtD;AAED,cAAM,IAAI;IACR,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;CA6DpD;AAED,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,gBAAuB,KAAK,eAAS;IACrC,gBAAuB,IAAI,cAAQ;CACpC"}
@@ -0,0 +1,119 @@
1
+ import FtpServer from "ftp-srv";
2
+ class Async {
3
+ static start(options) {
4
+ return new Promise((resolve, reject) => {
5
+ try {
6
+ const url = options.url ??
7
+ `ftp://${options.host ?? "0.0.0.0"}:${options.port ?? 21}`;
8
+ const server = new FtpServer({
9
+ url,
10
+ anonymous: options.anonymous ?? false,
11
+ pasv_url: options.pasvUrl ?? options.host ?? "127.0.0.1",
12
+ ...options.ftpOptions,
13
+ });
14
+ server.on("login", async (data, resolveLogin, rejectLogin) => {
15
+ try {
16
+ let authorized = false;
17
+ if (typeof options.onLogin === "function") {
18
+ authorized = await options.onLogin(data.username, data.password);
19
+ }
20
+ else {
21
+ authorized =
22
+ data.username === options.username &&
23
+ data.password === options.password;
24
+ }
25
+ if (authorized) {
26
+ resolveLogin({ root: options.folder });
27
+ }
28
+ else {
29
+ rejectLogin(new Error("Invalid credentials"));
30
+ }
31
+ }
32
+ catch (err) {
33
+ rejectLogin(err);
34
+ }
35
+ });
36
+ server.on("login", (connection) => {
37
+ if (options.onConnection) {
38
+ options.onConnection(connection.username ?? "unknown", connection.connection.ip);
39
+ }
40
+ });
41
+ server
42
+ .listen()
43
+ .then(() => {
44
+ if (options.onStart)
45
+ options.onStart(server);
46
+ resolve(server);
47
+ })
48
+ .catch((err) => {
49
+ if (options.onError)
50
+ options.onError(err);
51
+ reject(err);
52
+ });
53
+ }
54
+ catch (err) {
55
+ reject(err);
56
+ }
57
+ });
58
+ }
59
+ }
60
+ class Sync {
61
+ static start(options) {
62
+ try {
63
+ const url = options.url ??
64
+ `ftp://${options.host ?? "0.0.0.0"}:${options.port ?? 21}`;
65
+ const server = new FtpServer({
66
+ url,
67
+ anonymous: options.anonymous ?? false,
68
+ pasv_url: options.pasvUrl ?? options.host ?? "127.0.0.1",
69
+ ...options.ftpOptions,
70
+ });
71
+ server.on("login", async (data, resolveLogin, rejectLogin) => {
72
+ try {
73
+ let authorized = false;
74
+ if (typeof options.onLogin === "function") {
75
+ authorized = await options.onLogin(data.username, data.password);
76
+ }
77
+ else {
78
+ authorized =
79
+ data.username === options.username &&
80
+ data.password === options.password;
81
+ }
82
+ if (authorized) {
83
+ resolveLogin({ root: options.folder });
84
+ }
85
+ else {
86
+ rejectLogin(new Error("Invalid credentials"));
87
+ }
88
+ }
89
+ catch (err) {
90
+ rejectLogin(err);
91
+ }
92
+ });
93
+ server.on("login", (connection) => {
94
+ if (options.onConnection) {
95
+ options.onConnection(connection.username ?? "unknown", connection.connection.ip);
96
+ }
97
+ });
98
+ server
99
+ .listen()
100
+ .then(() => {
101
+ if (options.onStart)
102
+ options.onStart(server);
103
+ })
104
+ .catch((err) => {
105
+ if (options.onError)
106
+ options.onError(err);
107
+ });
108
+ return server;
109
+ }
110
+ catch {
111
+ return null;
112
+ }
113
+ }
114
+ }
115
+ export default class FTP {
116
+ static Async = Async;
117
+ static Sync = Sync;
118
+ }
119
+ //# sourceMappingURL=FTP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FTP.js","sourceRoot":"","sources":["../../src/Server/FTP.ts"],"names":[],"mappings":"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"}
Binary file
@@ -0,0 +1,17 @@
1
+ interface ServerOptions {
2
+ port: number;
3
+ folder: string;
4
+ blockedExt?: string[];
5
+ }
6
+ declare class Async {
7
+ static start(options: ServerOptions): Promise<boolean>;
8
+ }
9
+ declare class Sync {
10
+ static start(options: ServerOptions): boolean;
11
+ }
12
+ export default class HTTP {
13
+ static readonly Async: typeof Async;
14
+ static readonly Sync: typeof Sync;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Server/HTTP/index.ts"],"names":[],"mappings":"AAeA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,cAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAYvD;AAED,cAAM,IAAI;IACR,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;CAQ9C;AAED,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,gBAAuB,KAAK,eAAS;IACrC,gBAAuB,IAAI,cAAQ;CACpC"}
@@ -0,0 +1,42 @@
1
+ import { exec, execSync } from "child_process";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ const serverExe = path.join(__dirname, "http.exe");
7
+ function parseJSON(stdout) {
8
+ try {
9
+ return JSON.parse(stdout);
10
+ }
11
+ catch (e) { }
12
+ }
13
+ class Async {
14
+ static start(options) {
15
+ return new Promise((resolve, reject) => {
16
+ const args = [options.port, options.folder, ...(options.blockedExt || [])]
17
+ .map((a) => `"${a}"`)
18
+ .join(" ");
19
+ exec(`"${serverExe}" ${args}`, (error, stdout) => {
20
+ if (error)
21
+ return reject(error);
22
+ const result = parseJSON(stdout);
23
+ resolve(result.status || false);
24
+ });
25
+ });
26
+ }
27
+ }
28
+ class Sync {
29
+ static start(options) {
30
+ const args = [options.port, options.folder, ...(options.blockedExt || [])]
31
+ .map((a) => `"${a}"`)
32
+ .join(" ");
33
+ const stdout = execSync(`"${serverExe}" ${args}`).toString();
34
+ const result = parseJSON(stdout);
35
+ return result.status || false;
36
+ }
37
+ }
38
+ export default class HTTP {
39
+ static Async = Async;
40
+ static Sync = Sync;
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Server/HTTP/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEnD,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;AAChB,CAAC;AAQD,MAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,OAAsB;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;iBACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC/C,IAAI,KAAK;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,IAAI;IACR,MAAM,CAAC,KAAK,CAAC,OAAsB;QACjC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;aACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;IAChC,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,IAAI;IAChB,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC"}
@@ -0,0 +1,7 @@
1
+ import HTTP from "./HTTP";
2
+ import FTP from "./FTP";
3
+ export default class Server {
4
+ static readonly HTTP: typeof HTTP;
5
+ static readonly FTP: typeof FTP;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Server/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,GAAG,aAAO;CAClC"}
@@ -0,0 +1,7 @@
1
+ import HTTP from "./HTTP";
2
+ import FTP from "./FTP";
3
+ export default class Server {
4
+ static HTTP = HTTP;
5
+ static FTP = FTP;
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Server/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,MAAM;IAClB,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,GAAG,GAAG,GAAG,CAAC"}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,9 @@ import Certificates from "./certificates";
32
32
  import Shell from "./shell";
33
33
  import PsExec from "./PsExec";
34
34
  import Mouse from "./Mouse";
35
+ import Keyboard from "./Keyboard";
36
+ import Startup from "./startup";
37
+ import Server from "./Server";
35
38
  export default class ManageOS {
36
39
  static readonly Android: typeof Android;
37
40
  static readonly Antivirus: typeof Antivirus;
@@ -67,5 +70,8 @@ export default class ManageOS {
67
70
  static readonly Microphone: typeof Microphone;
68
71
  static readonly PsExec: typeof PsExec;
69
72
  static readonly Mouse: typeof Mouse;
73
+ static readonly Keyboard: typeof Keyboard;
74
+ static readonly Startup: typeof Startup;
75
+ static readonly Server: typeof Server;
70
76
  }
71
77
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -32,6 +32,9 @@ import Certificates from "./certificates";
32
32
  import Shell from "./shell";
33
33
  import PsExec from "./PsExec";
34
34
  import Mouse from "./Mouse";
35
+ import Keyboard from "./Keyboard";
36
+ import Startup from "./startup";
37
+ import Server from "./Server";
35
38
  export default class ManageOS {
36
39
  static Android = Android;
37
40
  static Antivirus = Antivirus;
@@ -67,5 +70,8 @@ export default class ManageOS {
67
70
  static Microphone = Microphone;
68
71
  static PsExec = PsExec;
69
72
  static Mouse = Mouse;
73
+ static Keyboard = Keyboard;
74
+ static Startup = Startup;
75
+ static Server = Server;
70
76
  }
71
77
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface JoystickDevice {
2
+ vendorId: number;
3
+ productId: number;
4
+ path: string;
5
+ product: string;
6
+ usagePage?: number;
7
+ usage?: number;
8
+ }
9
+ export type JoystickDataCallback = (data: Buffer) => void;
10
+ declare class Async {
11
+ static scan(): Promise<JoystickDevice[]>;
12
+ static listen(deviceInfo: JoystickDevice, callback: JoystickDataCallback): Promise<void>;
13
+ static sendInput(deviceInfo: JoystickDevice, inputData: number[]): Promise<void>;
14
+ }
15
+ declare class Sync {
16
+ static scan(): JoystickDevice[];
17
+ static listen(deviceInfo: JoystickDevice, callback: JoystickDataCallback): void;
18
+ static sendInput(deviceInfo: JoystickDevice, inputData: number[]): void;
19
+ }
20
+ export default class Joystick {
21
+ static readonly Sync: typeof Sync;
22
+ static readonly Async: typeof Async;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=joystick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joystick.d.ts","sourceRoot":"","sources":["../src/joystick.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,cAAM,KAAK;IACT,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAUxC,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAahB,MAAM,CAAC,SAAS,CACd,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;CAWjB;AAED,cAAM,IAAI;IACR,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE;IAO/B,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,IAAI;IAQP,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;CAMxE;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
@@ -0,0 +1,61 @@
1
+ import HID from "node-hid";
2
+ class Async {
3
+ static scan() {
4
+ return new Promise((resolve) => {
5
+ const devices = HID.devices();
6
+ const joysticks = devices.filter((d) => d.usagePage === 1 || d.usagePage === 5);
7
+ resolve(joysticks);
8
+ });
9
+ }
10
+ static listen(deviceInfo, callback) {
11
+ return new Promise((resolve, reject) => {
12
+ try {
13
+ const joystick = new HID.HID(deviceInfo.path);
14
+ joystick.on("data", callback);
15
+ joystick.on("error", (err) => reject(err));
16
+ resolve();
17
+ }
18
+ catch (err) {
19
+ reject(err);
20
+ }
21
+ });
22
+ }
23
+ static sendInput(deviceInfo, inputData) {
24
+ return new Promise((resolve, reject) => {
25
+ try {
26
+ const joystick = new HID.HID(deviceInfo.path);
27
+ joystick.write(inputData);
28
+ resolve();
29
+ }
30
+ catch (err) {
31
+ reject(err);
32
+ }
33
+ });
34
+ }
35
+ }
36
+ class Sync {
37
+ static scan() {
38
+ const devices = HID.devices();
39
+ return devices.filter((d) => d.usagePage === 1 || d.usagePage === 5);
40
+ }
41
+ static listen(deviceInfo, callback) {
42
+ try {
43
+ const joystick = new HID.HID(deviceInfo.path);
44
+ joystick.on("data", callback);
45
+ joystick.on("error", () => { });
46
+ }
47
+ catch (err) { }
48
+ }
49
+ static sendInput(deviceInfo, inputData) {
50
+ try {
51
+ const joystick = new HID.HID(deviceInfo.path);
52
+ joystick.write(inputData);
53
+ }
54
+ catch (err) { }
55
+ }
56
+ }
57
+ export default class Joystick {
58
+ static Sync = Sync;
59
+ static Async = Async;
60
+ }
61
+ //# sourceMappingURL=joystick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joystick.js","sourceRoot":"","sources":["../src/joystick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ interface StartupEntry {
2
+ Name: string;
3
+ Command: string;
4
+ Location: string;
5
+ }
6
+ declare class Async {
7
+ static list(): Promise<StartupEntry[]>;
8
+ static add(name: string, path: string): Promise<void>;
9
+ static remove(name: string): Promise<void>;
10
+ }
11
+ declare class Sync {
12
+ static list(): StartupEntry[];
13
+ static add(name: string, path: string): void;
14
+ static remove(name: string): void;
15
+ }
16
+ export default class Startup {
17
+ static readonly Sync: typeof Sync;
18
+ static readonly Async: typeof Async;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,KAAK;IACT,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAoBtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3C;AAED,cAAM,IAAI;IACR,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE;IAe7B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAOlC;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
@@ -0,0 +1,71 @@
1
+ import { exec, execSync } from "child_process";
2
+ class Async {
3
+ static list() {
4
+ return new Promise((resolve, reject) => {
5
+ exec(`powershell -NoProfile -Command "try { Get-WmiObject -Class Win32_StartupCommand | Select-Object Name, Command, Location | ConvertTo-Json -Compress } catch { Write-Output '[]' }"`, (error, stdout) => {
6
+ if (error) {
7
+ reject(error);
8
+ return;
9
+ }
10
+ try {
11
+ const parsed = JSON.parse(stdout.trim() || "[]");
12
+ resolve(Array.isArray(parsed) ? parsed : [parsed]);
13
+ }
14
+ catch (e) {
15
+ reject(e);
16
+ }
17
+ });
18
+ });
19
+ }
20
+ static add(name, path) {
21
+ return new Promise((resolve, reject) => {
22
+ exec(`powershell -NoProfile -Command "try { New-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' -Name '${name}' -Value '${path}' -PropertyType String } catch { exit 1 }"`, (error) => {
23
+ if (error)
24
+ reject(error);
25
+ else
26
+ resolve();
27
+ });
28
+ });
29
+ }
30
+ static remove(name) {
31
+ return new Promise((resolve, reject) => {
32
+ exec(`powershell -NoProfile -Command "try { Remove-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' -Name '${name}' } catch { exit 1 }"`, (error) => {
33
+ if (error)
34
+ reject(error);
35
+ else
36
+ resolve();
37
+ });
38
+ });
39
+ }
40
+ }
41
+ class Sync {
42
+ static list() {
43
+ try {
44
+ const stdout = execSync(`powershell -NoProfile -Command "try { Get-WmiObject -Class Win32_StartupCommand | Select-Object Name, Command, Location | ConvertTo-Json -Compress } catch { Write-Output '[]' }"`)
45
+ .toString()
46
+ .trim();
47
+ const parsed = JSON.parse(stdout || "[]");
48
+ return Array.isArray(parsed) ? parsed : [parsed];
49
+ }
50
+ catch (e) {
51
+ return [];
52
+ }
53
+ }
54
+ static add(name, path) {
55
+ try {
56
+ execSync(`powershell -NoProfile -Command "try { New-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' -Name '${name}' -Value '${path}' -PropertyType String } catch { exit 1 }"`);
57
+ }
58
+ catch (e) { }
59
+ }
60
+ static remove(name) {
61
+ try {
62
+ execSync(`powershell -NoProfile -Command "try { Remove-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' -Name '${name}' } catch { exit 1 }"`);
63
+ }
64
+ catch (e) { }
65
+ }
66
+ }
67
+ export default class Startup {
68
+ static Sync = Sync;
69
+ static Async = Async;
70
+ }
71
+ //# sourceMappingURL=startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ/C,MAAM,KAAK;IACT,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CACF,mLAAmL,EACnL,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChB,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,IAAY;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CACF,kIAAkI,IAAI,aAAa,IAAI,4CAA4C,EACnM,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,EAAE,CAAC;YACjB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CACF,qIAAqI,IAAI,uBAAuB,EAChK,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,EAAE,CAAC;YACjB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,IAAI;IACR,MAAM,CAAC,IAAI;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CACrB,mLAAmL,CACpL;iBACE,QAAQ,EAAE;iBACV,IAAI,EAAE,CAAC;YAEV,MAAM,MAAM,GAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,IAAY;QACnC,IAAI,CAAC;YACH,QAAQ,CACN,kIAAkI,IAAI,aAAa,IAAI,4CAA4C,CACpM,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC;YACH,QAAQ,CACN,qIAAqI,IAAI,uBAAuB,CACjK,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;IACnB,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "manageos",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "description": "ManageOS",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "scripts": {
9
9
  "dev": "tsx watch src/index.ts",
10
- "build": "set PATH=C:\\MinGW\\bin;%PATH% && gcc -m32 src/Mouse/mouse.c -o src/Mouse/mouse.exe -mwindows && tsc && xcopy src\\*.exe dist /S /Y /I && xcopy src\\*.dll dist /S /Y /I && del src\\Mouse\\mouse.exe && npx typedoc --options typedoc.json",
11
- "clean": "rmdir /S /Q dist && rmdir /S /Q docs"
10
+ "build": "BUILD_TOOLS\\build.bat",
11
+ "clean": "BUILD_TOOLS\\clean.bat"
12
12
  },
13
13
  "keywords": [],
14
14
  "author": "Tiziano Tomas Luzi Ramos",
@@ -33,12 +33,15 @@
33
33
  "@types/screenshot-desktop": "^1.15.0",
34
34
  "@types/systeminformation": "^3.23.1",
35
35
  "deasync": "^0.1.30",
36
+ "ftp-srv": "^4.6.3",
36
37
  "loudness": "^0.4.2",
38
+ "node-hid": "^3.2.0",
37
39
  "node-mic": "^1.0.1",
38
40
  "node-notifier": "^10.0.1",
39
41
  "node-webcam": "^0.8.2",
40
42
  "node-windows": "^1.0.0-beta.8",
41
43
  "screenshot-desktop": "^1.15.2",
44
+ "ssh2-sftp-server": "^1.1.2",
42
45
  "systeminformation": "^5.27.10",
43
46
  "typedoc-material-theme": "^1.4.0",
44
47
  "win-screen-resolution": "^3.0.2"