manageos 1.0.2 → 2.0.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/dist/Android/adb.d.ts +221 -0
- package/dist/Android/adb.d.ts.map +1 -0
- package/dist/Android/adb.js +1153 -0
- package/dist/Android/adb.js.map +1 -0
- package/dist/Android/fastboot.d.ts +48 -0
- package/dist/Android/fastboot.d.ts.map +1 -0
- package/dist/Android/fastboot.js +173 -0
- package/dist/Android/fastboot.js.map +1 -0
- package/dist/Android/index.d.ts +7 -0
- package/dist/Android/index.d.ts.map +1 -0
- package/dist/Android/index.js +7 -0
- package/dist/Android/index.js.map +1 -0
- package/dist/antivirus.d.ts +23 -0
- package/dist/antivirus.d.ts.map +1 -0
- package/dist/antivirus.js +124 -0
- package/dist/antivirus.js.map +1 -0
- package/dist/audio.js +18 -24
- package/dist/audio.js.map +1 -1
- package/dist/bitlocker.d.ts +43 -0
- package/dist/bitlocker.d.ts.map +1 -0
- package/dist/bitlocker.js +212 -0
- package/dist/bitlocker.js.map +1 -0
- package/dist/clipboard.js +6 -12
- package/dist/clipboard.js.map +1 -1
- package/dist/encryption.js +10 -16
- package/dist/encryption.js.map +1 -1
- package/dist/eventlogs.d.ts +34 -0
- package/dist/eventlogs.d.ts.map +1 -0
- package/dist/eventlogs.js +125 -0
- package/dist/eventlogs.js.map +1 -0
- package/dist/filesystem.js +17 -23
- package/dist/filesystem.js.map +1 -1
- package/dist/firewall.js +6 -9
- package/dist/firewall.js.map +1 -1
- package/dist/index.d.ts +38 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -37
- package/dist/index.js.map +1 -1
- package/dist/localization.d.ts +22 -0
- package/dist/localization.d.ts.map +1 -0
- package/dist/localization.js +102 -0
- package/dist/localization.js.map +1 -0
- package/dist/msconfig.d.ts +32 -0
- package/dist/msconfig.d.ts.map +1 -0
- package/dist/msconfig.js +192 -0
- package/dist/msconfig.js.map +1 -0
- package/dist/network.js +17 -23
- package/dist/network.js.map +1 -1
- package/dist/notification.js +17 -23
- package/dist/notification.js.map +1 -1
- package/dist/power.d.ts +2 -2
- package/dist/power.d.ts.map +1 -1
- package/dist/power.js +12 -15
- package/dist/power.js.map +1 -1
- package/dist/regedit.js +2 -38
- package/dist/regedit.js.map +1 -1
- package/dist/scheduler.d.ts +39 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +116 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/screen.d.ts +223 -0
- package/dist/screen.d.ts.map +1 -1
- package/dist/screen.js +936 -7
- package/dist/screen.js.map +1 -1
- package/dist/secpol.d.ts +22 -0
- package/dist/secpol.d.ts.map +1 -0
- package/dist/secpol.js +88 -0
- package/dist/secpol.js.map +1 -0
- package/dist/services.js +24 -60
- package/dist/services.js.map +1 -1
- package/dist/systeminfo.js +15 -21
- package/dist/systeminfo.js.map +1 -1
- package/dist/taskmgr.js +8 -11
- package/dist/taskmgr.js.map +1 -1
- package/dist/taskscheduler.d.ts +58 -0
- package/dist/taskscheduler.d.ts.map +1 -0
- package/dist/taskscheduler.js +332 -0
- package/dist/taskscheduler.js.map +1 -0
- package/dist/uac.js +7 -10
- package/dist/uac.js.map +1 -1
- package/dist/users.js +3 -6
- package/dist/users.js.map +1 -1
- package/dist/windowsupdate.d.ts +26 -0
- package/dist/windowsupdate.d.ts.map +1 -0
- package/dist/windowsupdate.js +120 -0
- package/dist/windowsupdate.js.map +1 -0
- package/package.json +11 -2
- package/README.md +0 -142
package/dist/audio.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const loudness_1 = __importDefault(require("loudness"));
|
|
7
|
-
const deasync_1 = __importDefault(require("deasync"));
|
|
1
|
+
import loudness from "loudness";
|
|
2
|
+
import deasync from "deasync";
|
|
8
3
|
class Sync {
|
|
9
4
|
static getVolume() {
|
|
10
5
|
let result = new Error("Unknown error");
|
|
11
6
|
let done = false;
|
|
12
|
-
|
|
7
|
+
loudness
|
|
13
8
|
.getVolume()
|
|
14
9
|
.then((volume) => {
|
|
15
10
|
result = volume;
|
|
@@ -19,7 +14,7 @@ class Sync {
|
|
|
19
14
|
result = error instanceof Error ? error : new Error(String(error));
|
|
20
15
|
done = true;
|
|
21
16
|
});
|
|
22
|
-
|
|
17
|
+
deasync.loopWhile(() => !done);
|
|
23
18
|
return result;
|
|
24
19
|
}
|
|
25
20
|
static setVolume(volume) {
|
|
@@ -37,7 +32,7 @@ class Sync {
|
|
|
37
32
|
}
|
|
38
33
|
let result = { success: false };
|
|
39
34
|
let done = false;
|
|
40
|
-
|
|
35
|
+
loudness
|
|
41
36
|
.setVolume(volume)
|
|
42
37
|
.then(() => {
|
|
43
38
|
result = { success: true };
|
|
@@ -50,13 +45,13 @@ class Sync {
|
|
|
50
45
|
};
|
|
51
46
|
done = true;
|
|
52
47
|
});
|
|
53
|
-
|
|
48
|
+
deasync.loopWhile(() => !done);
|
|
54
49
|
return result;
|
|
55
50
|
}
|
|
56
51
|
static isMuted() {
|
|
57
52
|
let result = new Error("Unknown error");
|
|
58
53
|
let done = false;
|
|
59
|
-
|
|
54
|
+
loudness
|
|
60
55
|
.getMuted()
|
|
61
56
|
.then((muted) => {
|
|
62
57
|
result = muted;
|
|
@@ -66,13 +61,13 @@ class Sync {
|
|
|
66
61
|
result = error instanceof Error ? error : new Error(String(error));
|
|
67
62
|
done = true;
|
|
68
63
|
});
|
|
69
|
-
|
|
64
|
+
deasync.loopWhile(() => !done);
|
|
70
65
|
return result;
|
|
71
66
|
}
|
|
72
67
|
static mute() {
|
|
73
68
|
let result = { success: false };
|
|
74
69
|
let done = false;
|
|
75
|
-
|
|
70
|
+
loudness
|
|
76
71
|
.setMuted(true)
|
|
77
72
|
.then(() => {
|
|
78
73
|
result = { success: true };
|
|
@@ -85,13 +80,13 @@ class Sync {
|
|
|
85
80
|
};
|
|
86
81
|
done = true;
|
|
87
82
|
});
|
|
88
|
-
|
|
83
|
+
deasync.loopWhile(() => !done);
|
|
89
84
|
return result;
|
|
90
85
|
}
|
|
91
86
|
static unmute() {
|
|
92
87
|
let result = { success: false };
|
|
93
88
|
let done = false;
|
|
94
|
-
|
|
89
|
+
loudness
|
|
95
90
|
.setMuted(false)
|
|
96
91
|
.then(() => {
|
|
97
92
|
result = { success: true };
|
|
@@ -104,14 +99,14 @@ class Sync {
|
|
|
104
99
|
};
|
|
105
100
|
done = true;
|
|
106
101
|
});
|
|
107
|
-
|
|
102
|
+
deasync.loopWhile(() => !done);
|
|
108
103
|
return result;
|
|
109
104
|
}
|
|
110
105
|
}
|
|
111
106
|
class Async {
|
|
112
107
|
static async getVolume() {
|
|
113
108
|
try {
|
|
114
|
-
const volume = await
|
|
109
|
+
const volume = await loudness.getVolume();
|
|
115
110
|
return volume;
|
|
116
111
|
}
|
|
117
112
|
catch (error) {
|
|
@@ -133,12 +128,12 @@ class Async {
|
|
|
133
128
|
error: new Error("Volume must be an integer."),
|
|
134
129
|
};
|
|
135
130
|
}
|
|
136
|
-
await
|
|
131
|
+
await loudness.setVolume(volume);
|
|
137
132
|
return { success: true };
|
|
138
133
|
}
|
|
139
134
|
static async isMuted() {
|
|
140
135
|
try {
|
|
141
|
-
const muted = await
|
|
136
|
+
const muted = await loudness.getMuted();
|
|
142
137
|
return muted;
|
|
143
138
|
}
|
|
144
139
|
catch (error) {
|
|
@@ -147,7 +142,7 @@ class Async {
|
|
|
147
142
|
}
|
|
148
143
|
static async mute() {
|
|
149
144
|
try {
|
|
150
|
-
await
|
|
145
|
+
await loudness.setMuted(true);
|
|
151
146
|
return { success: true };
|
|
152
147
|
}
|
|
153
148
|
catch (error) {
|
|
@@ -159,7 +154,7 @@ class Async {
|
|
|
159
154
|
}
|
|
160
155
|
static async unmute() {
|
|
161
156
|
try {
|
|
162
|
-
await
|
|
157
|
+
await loudness.setMuted(false);
|
|
163
158
|
return { success: true };
|
|
164
159
|
}
|
|
165
160
|
catch (error) {
|
|
@@ -170,9 +165,8 @@ class Async {
|
|
|
170
165
|
}
|
|
171
166
|
}
|
|
172
167
|
}
|
|
173
|
-
class Audio {
|
|
168
|
+
export default class Audio {
|
|
174
169
|
static Sync = Sync;
|
|
175
170
|
static Async = Async;
|
|
176
171
|
}
|
|
177
|
-
exports.default = Audio;
|
|
178
172
|
//# sourceMappingURL=audio.js.map
|
package/dist/audio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
type BitLockerVolume = {
|
|
2
|
+
volume: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
type?: string;
|
|
5
|
+
size?: string;
|
|
6
|
+
bitLockerVersion?: string;
|
|
7
|
+
conversionStatus?: string;
|
|
8
|
+
percentageEncrypted?: string;
|
|
9
|
+
encryptionMethod?: string;
|
|
10
|
+
protectionStatus?: string;
|
|
11
|
+
lockStatus?: string;
|
|
12
|
+
identificationField?: string;
|
|
13
|
+
automaticUnlock?: string;
|
|
14
|
+
keyProtectors?: string;
|
|
15
|
+
};
|
|
16
|
+
type Result = {
|
|
17
|
+
success: boolean;
|
|
18
|
+
error?: string;
|
|
19
|
+
output?: string;
|
|
20
|
+
data?: BitLockerVolume[];
|
|
21
|
+
};
|
|
22
|
+
declare class Async {
|
|
23
|
+
static encrypt(volume: string, protector: string, password?: string): Promise<Result>;
|
|
24
|
+
static decrypt(volume: string): Promise<Result>;
|
|
25
|
+
static lock(volume: string): Promise<Result>;
|
|
26
|
+
static unlock(volume: string, protector: string, password?: string): Promise<Result>;
|
|
27
|
+
static getKeyProtectors(volume: string): Promise<Result>;
|
|
28
|
+
static status(): Promise<Result>;
|
|
29
|
+
}
|
|
30
|
+
declare class Sync {
|
|
31
|
+
static status(): Result;
|
|
32
|
+
static encrypt(volume: string, protector: string, password?: string): Result;
|
|
33
|
+
static decrypt(volume: string): Result;
|
|
34
|
+
static lock(volume: string): Result;
|
|
35
|
+
static unlock(volume: string, protector: string, password?: string): Result;
|
|
36
|
+
static getKeyProtectors(volume: string): Result;
|
|
37
|
+
}
|
|
38
|
+
export default class BitLocker {
|
|
39
|
+
static readonly Sync: typeof Sync;
|
|
40
|
+
static readonly Async: typeof Async;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=bitlocker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitlocker.d.ts","sourceRoot":"","sources":["../src/bitlocker.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAmFF,cAAM,KAAK;IACT,MAAM,CAAC,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAalB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU/C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa5C,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAalB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxD,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAUjC;AAED,cAAM,IAAI;IACR,MAAM,CAAC,MAAM,IAAI,MAAM;IAUvB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAW5E,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWtC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAW3E,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAUhD;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;CACtC"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { exec, execSync } from "child_process";
|
|
2
|
+
class BitLockerParser {
|
|
3
|
+
static parse(output) {
|
|
4
|
+
const volumes = [];
|
|
5
|
+
const blocks = output.split(/\r?\n\r?\n/).filter(Boolean);
|
|
6
|
+
let current = null;
|
|
7
|
+
for (let block of blocks) {
|
|
8
|
+
const lines = block
|
|
9
|
+
.split(/\r?\n/)
|
|
10
|
+
.map((l) => l.trim())
|
|
11
|
+
.filter(Boolean);
|
|
12
|
+
// Detectar inicio de bloque de volumen
|
|
13
|
+
const volMatch = lines[0].match(/^Volume\s+(.+?)(\s+\[(.+?)\])?$/);
|
|
14
|
+
if (volMatch) {
|
|
15
|
+
if (current)
|
|
16
|
+
volumes.push(current);
|
|
17
|
+
current = {
|
|
18
|
+
volume: volMatch[1].trim(),
|
|
19
|
+
label: volMatch[3]?.trim(),
|
|
20
|
+
};
|
|
21
|
+
// Detectar tipo de volumen
|
|
22
|
+
if (lines[1]?.startsWith("[") && lines[1]?.endsWith("]")) {
|
|
23
|
+
current.type = lines[1].slice(1, -1).trim();
|
|
24
|
+
lines.shift(); // quitar la línea del tipo
|
|
25
|
+
}
|
|
26
|
+
lines.shift(); // quitar la línea de header
|
|
27
|
+
}
|
|
28
|
+
if (!current)
|
|
29
|
+
continue;
|
|
30
|
+
// Parsear propiedades
|
|
31
|
+
for (const line of lines) {
|
|
32
|
+
const [keyRaw, ...valueParts] = line.split(":");
|
|
33
|
+
if (!valueParts.length)
|
|
34
|
+
continue;
|
|
35
|
+
const key = keyRaw.trim().toLowerCase().replace(/\s/g, "");
|
|
36
|
+
const value = valueParts.join(":").trim();
|
|
37
|
+
switch (key) {
|
|
38
|
+
case "size":
|
|
39
|
+
current.size = value;
|
|
40
|
+
break;
|
|
41
|
+
case "bitlockerversion":
|
|
42
|
+
current.bitLockerVersion = value;
|
|
43
|
+
break;
|
|
44
|
+
case "conversionstatus":
|
|
45
|
+
current.conversionStatus = value;
|
|
46
|
+
break;
|
|
47
|
+
case "percentageencrypted":
|
|
48
|
+
current.percentageEncrypted = value;
|
|
49
|
+
break;
|
|
50
|
+
case "encryptionmethod":
|
|
51
|
+
current.encryptionMethod = value;
|
|
52
|
+
break;
|
|
53
|
+
case "protectionstatus":
|
|
54
|
+
current.protectionStatus = value;
|
|
55
|
+
break;
|
|
56
|
+
case "lockstatus":
|
|
57
|
+
current.lockStatus = value;
|
|
58
|
+
break;
|
|
59
|
+
case "identificationfield":
|
|
60
|
+
current.identificationField = value;
|
|
61
|
+
break;
|
|
62
|
+
case "automaticunlock":
|
|
63
|
+
current.automaticUnlock = value;
|
|
64
|
+
break;
|
|
65
|
+
case "keyprotectors":
|
|
66
|
+
current.keyProtectors = value;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (current)
|
|
72
|
+
volumes.push(current);
|
|
73
|
+
return volumes;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
class Async {
|
|
77
|
+
static encrypt(volume, protector, password) {
|
|
78
|
+
return new Promise((resolve) => {
|
|
79
|
+
let cmd = `manage-bde -on ${volume} -${protector}`;
|
|
80
|
+
if (password)
|
|
81
|
+
cmd += ` -pw "${password}"`;
|
|
82
|
+
exec(cmd, (err, stdout, stderr) => {
|
|
83
|
+
if (err)
|
|
84
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
85
|
+
resolve({ success: true, output: stdout });
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
static decrypt(volume) {
|
|
90
|
+
return new Promise((resolve) => {
|
|
91
|
+
exec(`manage-bde -off ${volume}`, (err, stdout, stderr) => {
|
|
92
|
+
if (err)
|
|
93
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
94
|
+
resolve({ success: true, output: stdout });
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
static lock(volume) {
|
|
99
|
+
return new Promise((resolve) => {
|
|
100
|
+
exec(`manage-bde -lock ${volume} -forcedismount`, (err, stdout, stderr) => {
|
|
101
|
+
if (err)
|
|
102
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
103
|
+
resolve({ success: true, output: stdout });
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
static unlock(volume, protector, password) {
|
|
108
|
+
return new Promise((resolve) => {
|
|
109
|
+
let cmd = `manage-bde -unlock ${volume} -${protector}`;
|
|
110
|
+
if (password)
|
|
111
|
+
cmd += ` -pw "${password}"`;
|
|
112
|
+
exec(cmd, (err, stdout, stderr) => {
|
|
113
|
+
if (err)
|
|
114
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
115
|
+
resolve({ success: true, output: stdout });
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
static getKeyProtectors(volume) {
|
|
120
|
+
return new Promise((resolve) => {
|
|
121
|
+
exec(`manage-bde -protectors -get ${volume}`, (err, stdout, stderr) => {
|
|
122
|
+
if (err)
|
|
123
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
124
|
+
resolve({ success: true, output: stdout });
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
static status() {
|
|
129
|
+
return new Promise((resolve) => {
|
|
130
|
+
exec("manage-bde -status", (err, stdout, stderr) => {
|
|
131
|
+
if (err)
|
|
132
|
+
return resolve({ success: false, error: stderr || err.message });
|
|
133
|
+
const data = BitLockerParser.parse(stdout);
|
|
134
|
+
resolve({ success: true, output: stdout, data });
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
class Sync {
|
|
140
|
+
static status() {
|
|
141
|
+
try {
|
|
142
|
+
const output = execSync("manage-bde -status", { encoding: "utf-8" });
|
|
143
|
+
const data = BitLockerParser.parse(output);
|
|
144
|
+
return { success: true, output, data };
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
return { success: false, error: error.message };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
static encrypt(volume, protector, password) {
|
|
151
|
+
try {
|
|
152
|
+
let cmd = `manage-bde -on ${volume} -${protector}`;
|
|
153
|
+
if (password)
|
|
154
|
+
cmd += ` -pw "${password}"`;
|
|
155
|
+
const output = execSync(cmd, { encoding: "utf-8" });
|
|
156
|
+
return { success: true, output };
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
return { success: false, error: error.message };
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
static decrypt(volume) {
|
|
163
|
+
try {
|
|
164
|
+
const output = execSync(`manage-bde -off ${volume}`, {
|
|
165
|
+
encoding: "utf-8",
|
|
166
|
+
});
|
|
167
|
+
return { success: true, output };
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
return { success: false, error: error.message };
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
static lock(volume) {
|
|
174
|
+
try {
|
|
175
|
+
const output = execSync(`manage-bde -lock ${volume} -forcedismount`, {
|
|
176
|
+
encoding: "utf-8",
|
|
177
|
+
});
|
|
178
|
+
return { success: true, output };
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
return { success: false, error: error.message };
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
static unlock(volume, protector, password) {
|
|
185
|
+
try {
|
|
186
|
+
let cmd = `manage-bde -unlock ${volume} -${protector}`;
|
|
187
|
+
if (password)
|
|
188
|
+
cmd += ` -pw "${password}"`;
|
|
189
|
+
const output = execSync(cmd, { encoding: "utf-8" });
|
|
190
|
+
return { success: true, output };
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
return { success: false, error: error.message };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
static getKeyProtectors(volume) {
|
|
197
|
+
try {
|
|
198
|
+
const output = execSync(`manage-bde -protectors -get ${volume}`, {
|
|
199
|
+
encoding: "utf-8",
|
|
200
|
+
});
|
|
201
|
+
return { success: true, output };
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
return { success: false, error: error.message };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
export default class BitLocker {
|
|
209
|
+
static Sync = Sync;
|
|
210
|
+
static Async = Async;
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=bitlocker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitlocker.js","sourceRoot":"","sources":["../src/bitlocker.ts"],"names":[],"mappings":"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"}
|
package/dist/clipboard.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const clipboardy_1 = __importDefault(require("clipboardy"));
|
|
1
|
+
import clipboardy from "clipboardy";
|
|
7
2
|
class Sync {
|
|
8
3
|
static read() {
|
|
9
4
|
try {
|
|
10
|
-
return
|
|
5
|
+
return clipboardy.readSync();
|
|
11
6
|
}
|
|
12
7
|
catch (error) {
|
|
13
8
|
return error;
|
|
@@ -15,7 +10,7 @@ class Sync {
|
|
|
15
10
|
}
|
|
16
11
|
static write(text) {
|
|
17
12
|
try {
|
|
18
|
-
|
|
13
|
+
clipboardy.writeSync(text);
|
|
19
14
|
return true;
|
|
20
15
|
}
|
|
21
16
|
catch (error) {
|
|
@@ -29,7 +24,7 @@ class Sync {
|
|
|
29
24
|
class Async {
|
|
30
25
|
static async read() {
|
|
31
26
|
try {
|
|
32
|
-
return await
|
|
27
|
+
return await clipboardy.read();
|
|
33
28
|
}
|
|
34
29
|
catch (error) {
|
|
35
30
|
return error;
|
|
@@ -37,7 +32,7 @@ class Async {
|
|
|
37
32
|
}
|
|
38
33
|
static async write(text) {
|
|
39
34
|
try {
|
|
40
|
-
await
|
|
35
|
+
await clipboardy.write(text);
|
|
41
36
|
return true;
|
|
42
37
|
}
|
|
43
38
|
catch (error) {
|
|
@@ -48,9 +43,8 @@ class Async {
|
|
|
48
43
|
return await this.write("");
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
|
-
class Clipboard {
|
|
46
|
+
export default class Clipboard {
|
|
52
47
|
static Sync = Sync;
|
|
53
48
|
static Async = Async;
|
|
54
49
|
}
|
|
55
|
-
exports.default = Clipboard;
|
|
56
50
|
//# sourceMappingURL=clipboard.js.map
|
package/dist/clipboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,IAAI;IACR,MAAM,CAAC,IAAI;QACT,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,KAAK;IACT,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IACrB,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC"}
|
package/dist/encryption.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
class Encryption {
|
|
1
|
+
import crypto from "crypto";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
export default class Encryption {
|
|
9
4
|
static algorithm = "aes-256-cbc";
|
|
10
5
|
static key;
|
|
11
6
|
static iv;
|
|
@@ -14,12 +9,12 @@ class Encryption {
|
|
|
14
9
|
throw new Error("La clave debe tener al menos 32 caracteres");
|
|
15
10
|
}
|
|
16
11
|
this.key = Buffer.from(key.slice(0, 32));
|
|
17
|
-
this.iv = iv ||
|
|
12
|
+
this.iv = iv || crypto.randomBytes(16);
|
|
18
13
|
}
|
|
19
14
|
static encrypt(text) {
|
|
20
15
|
if (!this.key)
|
|
21
16
|
throw new Error("Encryption key no inicializada");
|
|
22
|
-
const cipher =
|
|
17
|
+
const cipher = crypto.createCipheriv(this.algorithm, this.key, this.iv);
|
|
23
18
|
let encrypted = cipher.update(text, "utf8", "hex");
|
|
24
19
|
encrypted += cipher.final("hex");
|
|
25
20
|
return {
|
|
@@ -31,23 +26,22 @@ class Encryption {
|
|
|
31
26
|
if (!this.key)
|
|
32
27
|
throw new Error("Encryption key no inicializada");
|
|
33
28
|
const iv = Buffer.from(ivHex, "hex");
|
|
34
|
-
const decipher =
|
|
29
|
+
const decipher = crypto.createDecipheriv(this.algorithm, this.key, iv);
|
|
35
30
|
let decrypted = decipher.update(encryptedData, "hex", "utf8");
|
|
36
31
|
decrypted += decipher.final("utf8");
|
|
37
32
|
return decrypted;
|
|
38
33
|
}
|
|
39
34
|
static hash(data, algorithm = "sha256") {
|
|
40
|
-
return
|
|
35
|
+
return crypto.createHash(algorithm).update(data).digest("hex");
|
|
41
36
|
}
|
|
42
37
|
static generateKey(length = 32) {
|
|
43
|
-
return
|
|
38
|
+
return crypto.randomBytes(length).toString("hex");
|
|
44
39
|
}
|
|
45
40
|
static saveKeyToFile(path, key) {
|
|
46
|
-
|
|
41
|
+
fs.writeFileSync(path, key, { encoding: "utf8" });
|
|
47
42
|
}
|
|
48
43
|
static loadKeyFromFile(path) {
|
|
49
|
-
return
|
|
44
|
+
return fs.readFileSync(path, { encoding: "utf8" });
|
|
50
45
|
}
|
|
51
46
|
}
|
|
52
|
-
exports.default = Encryption;
|
|
53
47
|
//# sourceMappingURL=encryption.js.map
|
package/dist/encryption.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../src/encryption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../src/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,UAAU;IACrB,MAAM,CAAC,SAAS,GAAW,aAAa,CAAC;IACzC,MAAM,CAAC,GAAG,CAAS;IACnB,MAAM,CAAC,EAAE,CAAS;IAE1B,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,EAAW;QAClC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,aAAqB,EAAE,KAAa;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,YAAoB,QAAQ;QACpD,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAiB,EAAE;QACpC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,GAAW;QAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY;QACjC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
type EventLogEntry = {
|
|
2
|
+
index?: number;
|
|
3
|
+
timeGenerated?: string;
|
|
4
|
+
entryType?: string;
|
|
5
|
+
source?: string;
|
|
6
|
+
message?: string;
|
|
7
|
+
};
|
|
8
|
+
type EventLogResult = {
|
|
9
|
+
success: boolean;
|
|
10
|
+
error?: string;
|
|
11
|
+
output?: string;
|
|
12
|
+
data?: EventLogEntry[];
|
|
13
|
+
};
|
|
14
|
+
declare class Async {
|
|
15
|
+
static list(logName?: string, maxEvents?: number): Promise<EventLogResult>;
|
|
16
|
+
static listSystemEvents(maxEvents?: number): Promise<EventLogResult>;
|
|
17
|
+
static listApplicationEvents(maxEvents?: number): Promise<EventLogResult>;
|
|
18
|
+
static listSecurityEvents(maxEvents?: number): Promise<EventLogResult>;
|
|
19
|
+
static watch(logName: string | undefined, callback: (entry: EventLogEntry) => void): void;
|
|
20
|
+
}
|
|
21
|
+
declare class Sync {
|
|
22
|
+
static list(logName?: string, maxEvents?: number): EventLogResult;
|
|
23
|
+
static listSystemEvents(maxEvents?: number): EventLogResult;
|
|
24
|
+
static listApplicationEvents(maxEvents?: number): EventLogResult;
|
|
25
|
+
static listSecurityEvents(maxEvents?: number): EventLogResult;
|
|
26
|
+
}
|
|
27
|
+
export default class EventLogs {
|
|
28
|
+
static readonly Sync: typeof Sync;
|
|
29
|
+
static readonly Async: typeof Async;
|
|
30
|
+
static exportToJson(data: EventLogEntry[], path: string): void;
|
|
31
|
+
static exportToCsv(data: EventLogEntry[], path: string): void;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=eventlogs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventlogs.d.ts","sourceRoot":"","sources":["../src/eventlogs.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAqEF,cAAM,KAAK;IACT,MAAM,CAAC,IAAI,CACT,OAAO,GAAE,MAAiB,EAC1B,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,cAAc,CAAC;IAc1B,MAAM,CAAC,gBAAgB,CAAC,SAAS,SAAK;IAItC,MAAM,CAAC,qBAAqB,CAAC,SAAS,SAAK;IAI3C,MAAM,CAAC,kBAAkB,CAAC,SAAS,SAAK;IAIxC,MAAM,CAAC,KAAK,CACV,OAAO,EAAE,MAAM,YAAW,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;CAS3C;AAED,cAAM,IAAI;IACR,MAAM,CAAC,IAAI,CACT,OAAO,GAAE,MAAiB,EAC1B,SAAS,GAAE,MAAW,GACrB,cAAc;IAWjB,MAAM,CAAC,gBAAgB,CAAC,SAAS,SAAK;IAItC,MAAM,CAAC,qBAAqB,CAAC,SAAS,SAAK;IAI3C,MAAM,CAAC,kBAAkB,CAAC,SAAS,SAAK;CAGzC;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,gBAAuB,IAAI,cAAQ;IACnC,gBAAuB,KAAK,eAAS;IAErC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM;IAIvD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM;CAcvD"}
|