@intecoag/inteco-cli 2.1.0 → 2.2.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/index.js CHANGED
@@ -24,6 +24,7 @@ import bundleProduct from './modules/bundleProduct.js';
24
24
  import { azureCreateSyncConfig, azurePush, azurePull } from './modules/azureSync.js';
25
25
  import githubSecurityAdvisories from './modules/githubSecurityAdvisories.js';
26
26
  import listGithubDeploymentKeys from './modules/githubDeploymentKeysList.js';
27
+ import blockDomain from './modules/blockDomain.js';
27
28
  import updateNotifier from 'update-notifier';
28
29
  import { addGithubDeploymentKey } from './modules/githubDeploymentKey.js';
29
30
  const packageJson = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
@@ -139,6 +140,9 @@ function runCommand(command) {
139
140
  case "github_list_deploy_keys":
140
141
  listGithubDeploymentKeys();
141
142
  break;
143
+ case "block_domain":
144
+ blockDomain(cli);
145
+ break;
142
146
  case "help":
143
147
  cli.showHelp();
144
148
  break;
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,2 @@
1
+ export default function blockDomain(_cli: unknown): Promise<void>;
2
+ //# sourceMappingURL=blockDomain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockDomain.d.ts","sourceRoot":"","sources":["../../src/modules/blockDomain.ts"],"names":[],"mappings":"AAOA,wBAA8B,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EtE"}
@@ -0,0 +1,105 @@
1
+ import chalk from "chalk";
2
+ import prompts from "prompts";
3
+ import { readFile } from "fs/promises";
4
+ import { spawn } from "child_process";
5
+ export default async function blockDomain(_cli) {
6
+ let success = true;
7
+ const promptOptions = {
8
+ onCancel: () => {
9
+ console.log();
10
+ console.log(chalk.red("Cancelled operation!"));
11
+ console.log();
12
+ success = false;
13
+ }
14
+ };
15
+ const actionTypeResponse = await prompts({
16
+ // DB-Auswahl von DB
17
+ type: 'select',
18
+ name: 'actionType',
19
+ message: 'What do you want to do?',
20
+ choices: [
21
+ { value: 'blockDomain', title: 'Block Domain' },
22
+ { value: 'unblockDomain', title: 'Unblock Domain' },
23
+ ]
24
+ }, promptOptions);
25
+ if (!success)
26
+ return;
27
+ const hostFile = await readHostFile();
28
+ const hostFileLines = hostFile.split('\n');
29
+ if (actionTypeResponse.actionType === 'blockDomain') {
30
+ const domainResponse = await prompts({
31
+ type: 'text',
32
+ name: 'domain',
33
+ message: 'Enter the domain to block:'
34
+ }, promptOptions);
35
+ if (!success)
36
+ return;
37
+ hostFileLines.push(`0.0.0.0 ${domainResponse.domain}`);
38
+ if (await writeHostFile(hostFileLines.join('\n'))) {
39
+ console.log(chalk.green("Domain blocked. Please restart your browser and/or jWEGAS."));
40
+ }
41
+ else {
42
+ console.log(chalk.red("Failed to block domain."));
43
+ }
44
+ }
45
+ else if (actionTypeResponse.actionType === 'unblockDomain') {
46
+ const blockedDomains = hostFileLines.map((line, number) => ({ line: line, number: number }))
47
+ .filter(lineObj => lineObj.line.startsWith("0.0.0.0"))
48
+ .map(lineObj => ({ title: lineObj.line, value: lineObj.number }));
49
+ if (blockedDomains.length === 0) {
50
+ console.log(chalk.red("No blocked domains found."));
51
+ return;
52
+ }
53
+ const domainResponse = await prompts({
54
+ type: 'select',
55
+ name: 'domain',
56
+ message: 'Select the domain to unblock:',
57
+ choices: blockedDomains
58
+ }, promptOptions);
59
+ if (!success)
60
+ return;
61
+ hostFileLines.splice(domainResponse.domain, 1);
62
+ if (await writeHostFile(hostFileLines.join('\n'))) {
63
+ console.log(chalk.green("Domain unblocked. Please restart your browser and/or jWEGAS."));
64
+ }
65
+ else {
66
+ console.log(chalk.red("Failed to unblock domain."));
67
+ }
68
+ }
69
+ }
70
+ async function readHostFile() {
71
+ const filePath = "C:\\Windows\\System32\\drivers\\etc\\hosts";
72
+ return await readFile(filePath, 'utf8');
73
+ }
74
+ async function writeHostFile(hostFileContent) {
75
+ const contentBase64 = Buffer.from(hostFileContent, "utf8").toString("base64");
76
+ const psScript = `
77
+ $content = [System.Text.Encoding]::UTF8.GetString(
78
+ [Convert]::FromBase64String('${contentBase64}')
79
+ )
80
+
81
+ [System.IO.File]::WriteAllText(
82
+ "C:\\Windows\\System32\\drivers\\etc\\hosts",
83
+ $content,
84
+ [System.Text.UTF8Encoding]::new($false)
85
+ )
86
+
87
+ ipconfig /flushdns
88
+ `;
89
+ const encodedScript = Buffer
90
+ .from(psScript, "utf16le")
91
+ .toString("base64");
92
+ const command = `
93
+ Start-Process powershell.exe `
94
+ + `-Verb RunAs `
95
+ + `-Wait `
96
+ + `-ArgumentList '-NoProfile','-EncodedCommand','${encodedScript}'
97
+ `;
98
+ const child = spawn("powershell.exe", ["-NoProfile", "-Command", command], { stdio: "inherit" });
99
+ return new Promise((resolve) => {
100
+ child.on("exit", (code) => {
101
+ resolve(code === 0);
102
+ });
103
+ });
104
+ }
105
+ //# sourceMappingURL=blockDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockDomain.js","sourceRoot":"","sources":["../../src/modules/blockDomain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=blockDomain.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockDomain.test.d.ts","sourceRoot":"","sources":["../../src/modules/blockDomain.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,281 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ const mocks = vi.hoisted(() => ({
3
+ prompts: vi.fn(),
4
+ readFile: vi.fn(),
5
+ spawn: vi.fn(),
6
+ exitCode: 0,
7
+ }));
8
+ vi.mock("prompts", () => ({
9
+ default: mocks.prompts,
10
+ }));
11
+ vi.mock("fs/promises", () => ({
12
+ readFile: mocks.readFile,
13
+ }));
14
+ vi.mock("child_process", () => ({
15
+ spawn: mocks.spawn,
16
+ }));
17
+ vi.mock("chalk", () => ({
18
+ default: {
19
+ red: (text) => text,
20
+ green: (text) => text,
21
+ },
22
+ }));
23
+ import blockDomain from "./blockDomain.js";
24
+ describe("blockDomain", () => {
25
+ let consoleLogSpy;
26
+ beforeEach(() => {
27
+ vi.clearAllMocks();
28
+ consoleLogSpy = vi
29
+ .spyOn(console, "log")
30
+ .mockImplementation(() => undefined);
31
+ mocks.exitCode = 0;
32
+ mocks.spawn.mockImplementation(() => {
33
+ const child = {
34
+ on: vi.fn((event, callback) => {
35
+ if (event === "exit") {
36
+ callback(mocks.exitCode);
37
+ }
38
+ return child;
39
+ }),
40
+ };
41
+ return child;
42
+ });
43
+ });
44
+ describe("blocking a domain", () => {
45
+ it("adds the domain to the hosts file", async () => {
46
+ mocks.readFile.mockResolvedValue([
47
+ "127.0.0.1 localhost",
48
+ "::1 localhost",
49
+ ].join("\n"));
50
+ mocks.prompts
51
+ .mockResolvedValueOnce({
52
+ actionType: "blockDomain",
53
+ })
54
+ .mockResolvedValueOnce({
55
+ domain: "example.com",
56
+ });
57
+ await blockDomain(undefined);
58
+ expect(mocks.readFile).toHaveBeenCalledWith("C:\\Windows\\System32\\drivers\\etc\\hosts", "utf8");
59
+ expect(mocks.spawn).toHaveBeenCalledOnce();
60
+ const writtenContent = getWrittenHostsContent();
61
+ expect(writtenContent).toBe([
62
+ "127.0.0.1 localhost",
63
+ "::1 localhost",
64
+ "0.0.0.0 example.com",
65
+ ].join("\n"));
66
+ expect(consoleLogSpy).toHaveBeenCalledWith("Domain blocked. Please restart your browser and/or jWEGAS.");
67
+ });
68
+ it("prints an error when writing the hosts file fails", async () => {
69
+ mocks.exitCode = 1;
70
+ mocks.readFile.mockResolvedValue("127.0.0.1 localhost");
71
+ mocks.prompts
72
+ .mockResolvedValueOnce({
73
+ actionType: "blockDomain",
74
+ })
75
+ .mockResolvedValueOnce({
76
+ domain: "example.com",
77
+ });
78
+ await blockDomain(undefined);
79
+ expect(consoleLogSpy).toHaveBeenCalledWith("Failed to block domain.");
80
+ });
81
+ it("starts PowerShell with administrator privileges", async () => {
82
+ mocks.readFile.mockResolvedValue("127.0.0.1 localhost");
83
+ mocks.prompts
84
+ .mockResolvedValueOnce({
85
+ actionType: "blockDomain",
86
+ })
87
+ .mockResolvedValueOnce({
88
+ domain: "example.com",
89
+ });
90
+ await blockDomain(undefined);
91
+ expect(mocks.spawn).toHaveBeenCalledWith("powershell.exe", [
92
+ "-NoProfile",
93
+ "-Command",
94
+ expect.stringContaining("Start-Process powershell.exe"),
95
+ ], {
96
+ stdio: "inherit",
97
+ });
98
+ const [, args] = mocks.spawn.mock.calls[0];
99
+ expect(args[2]).toContain("-Verb RunAs");
100
+ expect(args[2]).toContain("-EncodedCommand");
101
+ });
102
+ it("flushes the DNS cache after writing the hosts file", async () => {
103
+ mocks.readFile.mockResolvedValue("");
104
+ mocks.prompts
105
+ .mockResolvedValueOnce({
106
+ actionType: "blockDomain",
107
+ })
108
+ .mockResolvedValueOnce({
109
+ domain: "example.com",
110
+ });
111
+ await blockDomain(undefined);
112
+ const script = getDecodedPowerShellScript();
113
+ expect(script).toContain("ipconfig /flushdns");
114
+ });
115
+ });
116
+ describe("unblocking a domain", () => {
117
+ it("shows only blocked domains in the selection prompt", async () => {
118
+ mocks.readFile.mockResolvedValue([
119
+ "127.0.0.1 localhost",
120
+ "0.0.0.0 example.com",
121
+ "::1 localhost",
122
+ "0.0.0.0 google.com",
123
+ ].join("\n"));
124
+ mocks.prompts
125
+ .mockResolvedValueOnce({
126
+ actionType: "unblockDomain",
127
+ })
128
+ .mockResolvedValueOnce({
129
+ domain: 1,
130
+ });
131
+ await blockDomain(undefined);
132
+ expect(mocks.prompts).toHaveBeenNthCalledWith(2, {
133
+ type: "select",
134
+ name: "domain",
135
+ message: "Select the domain to unblock:",
136
+ choices: [
137
+ {
138
+ title: "0.0.0.0 example.com",
139
+ value: 1,
140
+ },
141
+ {
142
+ title: "0.0.0.0 google.com",
143
+ value: 3,
144
+ },
145
+ ],
146
+ }, expect.any(Object));
147
+ });
148
+ it("removes the selected blocked domain", async () => {
149
+ mocks.readFile.mockResolvedValue([
150
+ "127.0.0.1 localhost",
151
+ "0.0.0.0 example.com",
152
+ "0.0.0.0 google.com",
153
+ ].join("\n"));
154
+ mocks.prompts
155
+ .mockResolvedValueOnce({
156
+ actionType: "unblockDomain",
157
+ })
158
+ .mockResolvedValueOnce({
159
+ domain: 1,
160
+ });
161
+ await blockDomain(undefined);
162
+ expect(getWrittenHostsContent()).toBe([
163
+ "127.0.0.1 localhost",
164
+ "0.0.0.0 google.com",
165
+ ].join("\n"));
166
+ expect(consoleLogSpy).toHaveBeenCalledWith("Domain unblocked. Please restart your browser and/or jWEGAS.");
167
+ });
168
+ it("can remove a later blocked domain using its original line number", async () => {
169
+ mocks.readFile.mockResolvedValue([
170
+ "127.0.0.1 localhost",
171
+ "0.0.0.0 example.com",
172
+ "::1 localhost",
173
+ "0.0.0.0 google.com",
174
+ ].join("\n"));
175
+ mocks.prompts
176
+ .mockResolvedValueOnce({
177
+ actionType: "unblockDomain",
178
+ })
179
+ .mockResolvedValueOnce({
180
+ domain: 3,
181
+ });
182
+ await blockDomain(undefined);
183
+ expect(getWrittenHostsContent()).toBe([
184
+ "127.0.0.1 localhost",
185
+ "0.0.0.0 example.com",
186
+ "::1 localhost",
187
+ ].join("\n"));
188
+ });
189
+ it("prints an error when unblocking fails", async () => {
190
+ mocks.exitCode = 1;
191
+ mocks.readFile.mockResolvedValue([
192
+ "127.0.0.1 localhost",
193
+ "0.0.0.0 example.com",
194
+ ].join("\n"));
195
+ mocks.prompts
196
+ .mockResolvedValueOnce({
197
+ actionType: "unblockDomain",
198
+ })
199
+ .mockResolvedValueOnce({
200
+ domain: 1,
201
+ });
202
+ await blockDomain(undefined);
203
+ expect(consoleLogSpy).toHaveBeenCalledWith("Failed to unblock domain.");
204
+ });
205
+ it("does not ask for a domain when no blocked domains exist", async () => {
206
+ mocks.readFile.mockResolvedValue([
207
+ "127.0.0.1 localhost",
208
+ "::1 localhost",
209
+ ].join("\n"));
210
+ mocks.prompts.mockResolvedValueOnce({
211
+ actionType: "unblockDomain",
212
+ });
213
+ await blockDomain(undefined);
214
+ expect(mocks.prompts).toHaveBeenCalledOnce();
215
+ expect(consoleLogSpy).toHaveBeenCalledWith("No blocked domains found.");
216
+ expect(mocks.spawn).not.toHaveBeenCalled();
217
+ });
218
+ });
219
+ describe("cancellation", () => {
220
+ it("stops when the action selection is cancelled", async () => {
221
+ mocks.prompts.mockImplementationOnce(async (_prompt, options) => {
222
+ options.onCancel();
223
+ return {};
224
+ });
225
+ await blockDomain(undefined);
226
+ expect(consoleLogSpy).toHaveBeenCalledWith("Cancelled operation!");
227
+ expect(mocks.readFile).not.toHaveBeenCalled();
228
+ expect(mocks.spawn).not.toHaveBeenCalled();
229
+ });
230
+ it("stops when domain input is cancelled while blocking", async () => {
231
+ mocks.readFile.mockResolvedValue("127.0.0.1 localhost");
232
+ mocks.prompts
233
+ .mockResolvedValueOnce({
234
+ actionType: "blockDomain",
235
+ })
236
+ .mockImplementationOnce(async (_prompt, options) => {
237
+ options.onCancel();
238
+ return {};
239
+ });
240
+ await blockDomain(undefined);
241
+ expect(consoleLogSpy).toHaveBeenCalledWith("Cancelled operation!");
242
+ expect(mocks.spawn).not.toHaveBeenCalled();
243
+ });
244
+ it("stops when domain selection is cancelled while unblocking", async () => {
245
+ mocks.readFile.mockResolvedValue([
246
+ "127.0.0.1 localhost",
247
+ "0.0.0.0 example.com",
248
+ ].join("\n"));
249
+ mocks.prompts
250
+ .mockResolvedValueOnce({
251
+ actionType: "unblockDomain",
252
+ })
253
+ .mockImplementationOnce(async (_prompt, options) => {
254
+ options.onCancel();
255
+ return {};
256
+ });
257
+ await blockDomain(undefined);
258
+ expect(consoleLogSpy).toHaveBeenCalledWith("Cancelled operation!");
259
+ expect(mocks.spawn).not.toHaveBeenCalled();
260
+ });
261
+ });
262
+ function getWrittenHostsContent() {
263
+ const script = getDecodedPowerShellScript();
264
+ const match = script.match(/\[Convert\]::FromBase64String\('([^']+)'\)/);
265
+ expect(match).not.toBeNull();
266
+ return Buffer
267
+ .from(match[1], "base64")
268
+ .toString("utf8");
269
+ }
270
+ function getDecodedPowerShellScript() {
271
+ expect(mocks.spawn).toHaveBeenCalled();
272
+ const [, args] = mocks.spawn.mock.calls[0];
273
+ const command = args[2];
274
+ const match = command.match(/'-EncodedCommand','([^']+)'/);
275
+ expect(match).not.toBeNull();
276
+ return Buffer
277
+ .from(match[1], "base64")
278
+ .toString("utf16le");
279
+ }
280
+ });
281
+ //# sourceMappingURL=blockDomain.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockDomain.test.js","sourceRoot":"","sources":["../../src/modules/blockDomain.test.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,9 @@
71
71
  "github_list_deploy_keys": {
72
72
  "desc": "Lists all deployment keys across all repositories in a GitHub organization with their last used dates (requires GitHub CLI or GITHUB_TOKEN)"
73
73
  },
74
+ "block_domain": {
75
+ "desc": "Blocks or unblocks a domain by editing the hosts file. Helpful for testing and development purposes with jWEGAS interfaces (requires elevated privileges)."
76
+ },
74
77
  "help": {
75
78
  "desc": "Shows help and available commands"
76
79
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intecoag/inteco-cli",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "CLI-Tools for Inteco",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",