telegram-ssh-bot 2.4.1 → 2.5.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.d.ts +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +7 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/dist/wizard/InstallationWizard.d.ts.map +1 -1
- package/dist/wizard/InstallationWizard.js +35 -2
- package/dist/wizard/InstallationWizard.js.map +1 -1
- package/dist/wizard/prompts.d.ts +13 -0
- package/dist/wizard/prompts.d.ts.map +1 -1
- package/dist/wizard/prompts.js +52 -0
- package/dist/wizard/prompts.js.map +1 -1
- package/package.json +3 -2
- package/scripts/postinstall.js +38 -14
- package/scripts/systemd-service.d.ts +55 -0
- package/scripts/systemd-service.js +421 -0
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* A secure Telegram bot for managing SSH connections
|
|
6
6
|
*
|
|
7
|
-
* @version 2.
|
|
7
|
+
* @version 2.5.0
|
|
8
8
|
*/
|
|
9
9
|
import { config as dotenvConfig } from "dotenv";
|
|
10
10
|
import { existsSync } from "fs";
|
|
11
11
|
import { getEnvFilePath } from "../scripts/setup-env.js";
|
|
12
|
+
import { VERSION } from "./version.js";
|
|
12
13
|
import { ConfigReloader, loadConfig, validateOwnerIds, } from "./config/index.js";
|
|
13
14
|
import { Bot, ConnectionPool, SSHClient, ServerManager } from "./core/index.js";
|
|
14
15
|
import { HealthHandler } from "./handlers/HealthHandler.js";
|
|
@@ -67,7 +68,7 @@ class Application {
|
|
|
67
68
|
this.rateLimiter.startAutoCleanup();
|
|
68
69
|
// Initialize health service
|
|
69
70
|
this.healthService = new HealthService({
|
|
70
|
-
version:
|
|
71
|
+
version: VERSION,
|
|
71
72
|
startTime: this.startTime,
|
|
72
73
|
});
|
|
73
74
|
// Initialize notification service
|
|
@@ -216,7 +217,7 @@ class Application {
|
|
|
216
217
|
}
|
|
217
218
|
await this.bot.start();
|
|
218
219
|
// Send startup notification
|
|
219
|
-
await this.notificationService.notifyStartup(
|
|
220
|
+
await this.notificationService.notifyStartup(VERSION);
|
|
220
221
|
this.logger.info("Bot started successfully");
|
|
221
222
|
}
|
|
222
223
|
/**
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallationWizard.d.ts","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"InstallationWizard.d.ts","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;IAMjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAI1C;IAEF;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IA4B3B;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0E1B;;OAEG;YACW,iBAAiB;CAahC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync } from "fs";
|
|
6
6
|
import { generateEncryptionKey, getEnvFilePath, writeEnvFile, } from "../../scripts/setup-env.js";
|
|
7
|
+
import { fullSystemdSetup, } from "../../scripts/systemd-service.js";
|
|
7
8
|
import { displaySummary, promptConfirmation, runPrompts } from "./prompts.js";
|
|
8
9
|
/**
|
|
9
10
|
* Installation wizard class
|
|
@@ -74,8 +75,40 @@ export class InstallationWizard {
|
|
|
74
75
|
console.log("✓ Configuration saved successfully!");
|
|
75
76
|
console.log(` File: ${this.envPath}`);
|
|
76
77
|
console.log("");
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
// Setup systemd service if requested
|
|
79
|
+
if (config.systemd?.setup) {
|
|
80
|
+
console.log("Setting up systemd service...");
|
|
81
|
+
const systemdResult = fullSystemdSetup({
|
|
82
|
+
enable: config.systemd.enable,
|
|
83
|
+
start: config.systemd.start,
|
|
84
|
+
});
|
|
85
|
+
if (systemdResult.success) {
|
|
86
|
+
console.log("✓ Systemd service setup complete!");
|
|
87
|
+
console.log(` Service: ${systemdResult.servicePath}`);
|
|
88
|
+
console.log(` Executable: ${systemdResult.execPath}`);
|
|
89
|
+
if (systemdResult.enabled) {
|
|
90
|
+
console.log(" Status: Enabled (will start on login)");
|
|
91
|
+
}
|
|
92
|
+
if (systemdResult.started) {
|
|
93
|
+
console.log(" Status: Running");
|
|
94
|
+
}
|
|
95
|
+
console.log("");
|
|
96
|
+
console.log("Commands:");
|
|
97
|
+
console.log(" Start: systemctl --user start telegram-ssh-bot");
|
|
98
|
+
console.log(" Stop: systemctl --user stop telegram-ssh-bot");
|
|
99
|
+
console.log(" Status: systemctl --user status telegram-ssh-bot");
|
|
100
|
+
console.log(" Logs: journalctl --user -u telegram-ssh-bot -f");
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
console.log(`✗ Systemd setup failed: ${systemdResult.message}`);
|
|
104
|
+
console.log(" You can run the bot manually with: telegram-ssh-bot");
|
|
105
|
+
}
|
|
106
|
+
console.log("");
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log("Starting application...");
|
|
110
|
+
console.log("");
|
|
111
|
+
}
|
|
79
112
|
}
|
|
80
113
|
catch (error) {
|
|
81
114
|
if (error instanceof Error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallationWizard.js","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9E;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAS;IAEjC;QACE,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,MAAM,CAAU,oBAAoB,GAA2B;QACrE,SAAS,EAAE,yDAAyD;QACpE,WAAW,EAAE,8BAA8B;QAC3C,cAAc,EAAE,eAAe;KAChC,CAAC;IAEF;;;OAGG;IACH,MAAM,CAAC,SAAS;QACd,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QAEjC,gDAAgD;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACpE,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnC,mBAAmB;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oCAAoC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAEvD,kBAAkB;YAClB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAErC,mBAAmB;YACnB,MAAM,SAAS,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,mBAAmB;gBACnB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"InstallationWizard.js","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"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"}
|
package/dist/wizard/prompts.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export interface WizardConfig {
|
|
|
9
9
|
botChatId: string;
|
|
10
10
|
botOwnerIds: string[];
|
|
11
11
|
encryptionKey: string;
|
|
12
|
+
systemd?: {
|
|
13
|
+
setup: boolean;
|
|
14
|
+
enable: boolean;
|
|
15
|
+
start: boolean;
|
|
16
|
+
};
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
19
|
* Display the welcome banner
|
|
@@ -38,6 +43,14 @@ export declare function promptEncryptionKey(generateKey: () => string): Promise<
|
|
|
38
43
|
* Prompt for confirmation to save configuration
|
|
39
44
|
*/
|
|
40
45
|
export declare function promptConfirmation(): Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Prompt for systemd service setup
|
|
48
|
+
*/
|
|
49
|
+
export declare function promptSystemdSetup(): Promise<{
|
|
50
|
+
setup: boolean;
|
|
51
|
+
enable: boolean;
|
|
52
|
+
start: boolean;
|
|
53
|
+
}>;
|
|
41
54
|
/**
|
|
42
55
|
* Run all prompts to collect wizard configuration
|
|
43
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/wizard/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/wizard/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAOD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAc1E;AAsBD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBtD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBpD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBxD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAgDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAa3D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC,CAwDD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBjF"}
|
package/dist/wizard/prompts.js
CHANGED
|
@@ -175,6 +175,56 @@ export async function promptConfirmation() {
|
|
|
175
175
|
}
|
|
176
176
|
return response.confirm;
|
|
177
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Prompt for systemd service setup
|
|
180
|
+
*/
|
|
181
|
+
export async function promptSystemdSetup() {
|
|
182
|
+
console.log("");
|
|
183
|
+
console.log("─────────────────────────────────────────────");
|
|
184
|
+
console.log("Systemd Service Setup (Optional)");
|
|
185
|
+
console.log("─────────────────────────────────────────────");
|
|
186
|
+
console.log("The bot can run as a systemd user service in the background.");
|
|
187
|
+
console.log("This allows it to:");
|
|
188
|
+
console.log(" • Start automatically when you log in");
|
|
189
|
+
console.log(" • Restart automatically if it crashes");
|
|
190
|
+
console.log(" • Run in the background without keeping a terminal open");
|
|
191
|
+
console.log("");
|
|
192
|
+
const setupResponse = await prompts({
|
|
193
|
+
type: "confirm",
|
|
194
|
+
name: "setup",
|
|
195
|
+
message: "Would you like to setup systemd service?",
|
|
196
|
+
initial: true,
|
|
197
|
+
});
|
|
198
|
+
if (setupResponse.setup === undefined) {
|
|
199
|
+
throw new Error("User cancelled the wizard");
|
|
200
|
+
}
|
|
201
|
+
if (!setupResponse.setup) {
|
|
202
|
+
return { setup: false, enable: false, start: false };
|
|
203
|
+
}
|
|
204
|
+
const enableResponse = await prompts({
|
|
205
|
+
type: "confirm",
|
|
206
|
+
name: "enable",
|
|
207
|
+
message: "Enable service (auto-start on login)?",
|
|
208
|
+
initial: true,
|
|
209
|
+
});
|
|
210
|
+
if (enableResponse.enable === undefined) {
|
|
211
|
+
throw new Error("User cancelled the wizard");
|
|
212
|
+
}
|
|
213
|
+
const startResponse = await prompts({
|
|
214
|
+
type: "confirm",
|
|
215
|
+
name: "start",
|
|
216
|
+
message: "Start the service now?",
|
|
217
|
+
initial: false,
|
|
218
|
+
});
|
|
219
|
+
if (startResponse.start === undefined) {
|
|
220
|
+
throw new Error("User cancelled the wizard");
|
|
221
|
+
}
|
|
222
|
+
return {
|
|
223
|
+
setup: true,
|
|
224
|
+
enable: enableResponse.enable,
|
|
225
|
+
start: startResponse.start,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
178
228
|
/**
|
|
179
229
|
* Run all prompts to collect wizard configuration
|
|
180
230
|
*/
|
|
@@ -184,11 +234,13 @@ export async function runPrompts(generateKey) {
|
|
|
184
234
|
const botChatId = await promptChatId();
|
|
185
235
|
const botOwnerIds = await promptOwnerIds();
|
|
186
236
|
const encryptionKey = await promptEncryptionKey(generateKey);
|
|
237
|
+
const systemd = await promptSystemdSetup();
|
|
187
238
|
return {
|
|
188
239
|
botToken,
|
|
189
240
|
botChatId,
|
|
190
241
|
botOwnerIds,
|
|
191
242
|
encryptionKey,
|
|
243
|
+
systemd,
|
|
192
244
|
};
|
|
193
245
|
}
|
|
194
246
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/wizard/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/wizard/prompts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "telegram-ssh-bot",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "A Telegram bot for secure SSH server management and remote command execution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/farhanzzg/telegram-ssh#readme",
|
|
24
24
|
"bin": {
|
|
25
|
-
"telegram-ssh-bot": "./dist/index.js"
|
|
25
|
+
"telegram-ssh-bot": "./dist/index.js",
|
|
26
|
+
"telegram-ssh-bot-systemd": "./scripts/systemd-service.js"
|
|
26
27
|
},
|
|
27
28
|
"files": [
|
|
28
29
|
"dist/**/*",
|
package/scripts/postinstall.js
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Post-install script for npm/pnpm global installation
|
|
4
4
|
* Sets up the .env configuration file if it doesn't exist
|
|
5
|
+
* Updates systemd service if installed
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
8
|
import { envFileExists, main } from "./setup-env.js";
|
|
9
|
+
import {
|
|
10
|
+
isSystemdServiceInstalled,
|
|
11
|
+
updateSystemdService,
|
|
12
|
+
getSystemdServiceStatus,
|
|
13
|
+
} from "./systemd-service.js";
|
|
8
14
|
|
|
9
15
|
/**
|
|
10
16
|
* Check if this is a global installation
|
|
@@ -13,7 +19,6 @@ import { envFileExists, main } from "./setup-env.js";
|
|
|
13
19
|
function isGlobalInstall() {
|
|
14
20
|
// Check various npm config indicators for global install
|
|
15
21
|
const npmConfigGlobal = process.env.npm_config_global;
|
|
16
|
-
const npmPackageConfig = process.env.npm_package_config;
|
|
17
22
|
|
|
18
23
|
// npm_config_global is 'true' when installed with -g flag
|
|
19
24
|
if (npmConfigGlobal === "true") {
|
|
@@ -29,7 +34,8 @@ function isGlobalInstall() {
|
|
|
29
34
|
cwd.includes("/usr/lib") ||
|
|
30
35
|
cwd.includes("/lib/node_modules") ||
|
|
31
36
|
cwd.includes(".npm-global") ||
|
|
32
|
-
cwd.includes(".pnpm-global")
|
|
37
|
+
cwd.includes(".pnpm-global") ||
|
|
38
|
+
cwd.includes("pnpm/global"))
|
|
33
39
|
) {
|
|
34
40
|
return true;
|
|
35
41
|
}
|
|
@@ -40,7 +46,7 @@ function isGlobalInstall() {
|
|
|
40
46
|
process.env.npm_config_user_agent.includes("pnpm")
|
|
41
47
|
) {
|
|
42
48
|
// pnpm sets different paths for global installs
|
|
43
|
-
if (cwd.includes("pnpm-global") || cwd.includes(".pnpm-global")) {
|
|
49
|
+
if (cwd.includes("pnpm-global") || cwd.includes(".pnpm-global") || cwd.includes("pnpm/global")) {
|
|
44
50
|
return true;
|
|
45
51
|
}
|
|
46
52
|
}
|
|
@@ -54,7 +60,7 @@ function isGlobalInstall() {
|
|
|
54
60
|
function runPostinstall() {
|
|
55
61
|
// Only run for global installations
|
|
56
62
|
if (!isGlobalInstall()) {
|
|
57
|
-
console.log("Local installation detected. Skipping
|
|
63
|
+
console.log("Local installation detected. Skipping setup.");
|
|
58
64
|
console.log(
|
|
59
65
|
"For global installation, the .env file would be created at ~/.config/telegram-ssh-bot/.env",
|
|
60
66
|
);
|
|
@@ -67,19 +73,37 @@ function runPostinstall() {
|
|
|
67
73
|
if (envFileExists()) {
|
|
68
74
|
console.log("Configuration file already exists. Skipping setup.");
|
|
69
75
|
console.log("Configuration location: ~/.config/telegram-ssh-bot/.env");
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
} else {
|
|
77
|
+
// Run the main setup function
|
|
78
|
+
const result = main({ generateKey: true, silent: false });
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
if (result.success) {
|
|
81
|
+
console.log("\nConfiguration setup complete!");
|
|
82
|
+
console.log(
|
|
83
|
+
'Run "telegram-ssh-bot" to start the bot after configuring your credentials.',
|
|
84
|
+
);
|
|
85
|
+
} else {
|
|
86
|
+
console.error("Configuration setup failed:", result.message);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
75
89
|
|
|
76
|
-
if
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
);
|
|
90
|
+
// Update systemd service if installed
|
|
91
|
+
console.log("");
|
|
92
|
+
if (isSystemdServiceInstalled()) {
|
|
93
|
+
console.log("Updating systemd service...");
|
|
94
|
+
const result = updateSystemdService();
|
|
95
|
+
if (result.success) {
|
|
96
|
+
console.log("✓ Systemd service updated successfully!");
|
|
97
|
+
console.log(` Executable: ${result.execPath}`);
|
|
98
|
+
if (result.wasRunning) {
|
|
99
|
+
console.log(" Service was running and has been restarted.");
|
|
100
|
+
}
|
|
101
|
+
} else {
|
|
102
|
+
console.log(`✗ Failed to update systemd service: ${result.message}`);
|
|
103
|
+
}
|
|
81
104
|
} else {
|
|
82
|
-
console.
|
|
105
|
+
console.log("Systemd service not installed.");
|
|
106
|
+
console.log("To setup systemd service, run: telegram-ssh-bot-systemd setup");
|
|
83
107
|
}
|
|
84
108
|
}
|
|
85
109
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type declarations for systemd-service.js
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export function getSystemdServiceDir(): string;
|
|
6
|
+
export function getSystemdServicePath(): string;
|
|
7
|
+
export function getConfigDir(): string;
|
|
8
|
+
export function getExecutablePath(): string;
|
|
9
|
+
export function generateServiceFile(execPath: string): string;
|
|
10
|
+
export function isSystemdServiceInstalled(): boolean;
|
|
11
|
+
export function isSystemdServiceRunning(): boolean;
|
|
12
|
+
export function isSystemdServiceEnabled(): boolean;
|
|
13
|
+
|
|
14
|
+
export interface SystemdSetupResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
servicePath: string;
|
|
17
|
+
execPath: string;
|
|
18
|
+
message: string;
|
|
19
|
+
wasRunning: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function setupSystemdService(execPath?: string): SystemdSetupResult;
|
|
23
|
+
export function enableSystemdService(): boolean;
|
|
24
|
+
export function startSystemdService(): boolean;
|
|
25
|
+
export function restartSystemdService(): boolean;
|
|
26
|
+
export function stopSystemdService(): boolean;
|
|
27
|
+
export function disableSystemdService(): boolean;
|
|
28
|
+
|
|
29
|
+
export interface SystemdServiceStatus {
|
|
30
|
+
installed: boolean;
|
|
31
|
+
running: boolean;
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
servicePath: string;
|
|
34
|
+
execPath: string | null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function getSystemdServiceStatus(): SystemdServiceStatus;
|
|
38
|
+
export function updateSystemdService(): SystemdSetupResult;
|
|
39
|
+
|
|
40
|
+
export interface FullSystemdSetupOptions {
|
|
41
|
+
enable?: boolean;
|
|
42
|
+
start?: boolean;
|
|
43
|
+
execPath?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface FullSystemdSetupResult {
|
|
47
|
+
success: boolean;
|
|
48
|
+
message: string;
|
|
49
|
+
servicePath: string;
|
|
50
|
+
execPath: string;
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
started: boolean;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function fullSystemdSetup(options?: FullSystemdSetupOptions): FullSystemdSetupResult;
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Systemd Service Management
|
|
4
|
+
* Handles setup and updates of systemd user service for the bot
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
8
|
+
import { homedir } from "os";
|
|
9
|
+
import { join } from "path";
|
|
10
|
+
import { execSync } from "child_process";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Get the systemd user service directory
|
|
14
|
+
*/
|
|
15
|
+
export function getSystemdServiceDir() {
|
|
16
|
+
return join(homedir(), ".config", "systemd", "user");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get the systemd service file path
|
|
21
|
+
*/
|
|
22
|
+
export function getSystemdServicePath() {
|
|
23
|
+
return join(getSystemdServiceDir(), "telegram-ssh-bot.service");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get the config directory
|
|
28
|
+
*/
|
|
29
|
+
export function getConfigDir() {
|
|
30
|
+
return join(homedir(), ".config", "telegram-ssh-bot");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get the executable path for the bot
|
|
35
|
+
* This finds the actual path to the telegram-ssh-bot executable
|
|
36
|
+
*/
|
|
37
|
+
export function getExecutablePath() {
|
|
38
|
+
try {
|
|
39
|
+
// Try to find the executable using 'which'
|
|
40
|
+
const result = execSync("which telegram-ssh-bot 2>/dev/null", {
|
|
41
|
+
encoding: "utf-8",
|
|
42
|
+
}).trim();
|
|
43
|
+
|
|
44
|
+
if (result && existsSync(result)) {
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
} catch {
|
|
48
|
+
// Ignore errors
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Fallback paths to check
|
|
52
|
+
const fallbackPaths = [
|
|
53
|
+
join(homedir(), ".local", "bin", "telegram-ssh-bot"),
|
|
54
|
+
"/usr/local/bin/telegram-ssh-bot",
|
|
55
|
+
"/usr/bin/telegram-ssh-bot",
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
for (const path of fallbackPaths) {
|
|
59
|
+
if (existsSync(path)) {
|
|
60
|
+
return path;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Try to find in pnpm global
|
|
65
|
+
try {
|
|
66
|
+
const pnpmGlobalDir = join(homedir(), ".local", "share", "pnpm", "global");
|
|
67
|
+
if (existsSync(pnpmGlobalDir)) {
|
|
68
|
+
const findResult = execSync(
|
|
69
|
+
`find ${pnpmGlobalDir} -name "index.js" -path "*/telegram-ssh-bot/dist/index.js" 2>/dev/null | head -1`,
|
|
70
|
+
{ encoding: "utf-8" }
|
|
71
|
+
).trim();
|
|
72
|
+
if (findResult && existsSync(findResult)) {
|
|
73
|
+
return findResult;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
} catch {
|
|
77
|
+
// Ignore
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Default fallback
|
|
81
|
+
return join(homedir(), ".local", "bin", "telegram-ssh-bot");
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Generate systemd service file content
|
|
86
|
+
*/
|
|
87
|
+
export function generateServiceFile(execPath) {
|
|
88
|
+
const configDir = getConfigDir();
|
|
89
|
+
|
|
90
|
+
return `[Unit]
|
|
91
|
+
Description=Telegram SSH Bot - Remote server management via Telegram
|
|
92
|
+
Documentation=https://github.com/farhanzzg/telegram-ssh
|
|
93
|
+
After=network-online.target
|
|
94
|
+
Wants=network-online.target
|
|
95
|
+
|
|
96
|
+
[Service]
|
|
97
|
+
Type=simple
|
|
98
|
+
ExecStart=${execPath}
|
|
99
|
+
WorkingDirectory=${configDir}
|
|
100
|
+
Restart=on-failure
|
|
101
|
+
RestartSec=10
|
|
102
|
+
TimeoutStartSec=30
|
|
103
|
+
TimeoutStopSec=30
|
|
104
|
+
|
|
105
|
+
# Environment
|
|
106
|
+
EnvironmentFile=${configDir}/.env
|
|
107
|
+
|
|
108
|
+
# Security hardening
|
|
109
|
+
NoNewPrivileges=true
|
|
110
|
+
ProtectSystem=strict
|
|
111
|
+
ProtectHome=read-only
|
|
112
|
+
ReadWritePaths=${configDir}
|
|
113
|
+
PrivateTmp=true
|
|
114
|
+
|
|
115
|
+
# Logging
|
|
116
|
+
StandardOutput=journal
|
|
117
|
+
StandardError=journal
|
|
118
|
+
SyslogIdentifier=telegram-ssh-bot
|
|
119
|
+
|
|
120
|
+
[Install]
|
|
121
|
+
WantedBy=default.target
|
|
122
|
+
`;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Check if systemd service is installed
|
|
127
|
+
*/
|
|
128
|
+
export function isSystemdServiceInstalled() {
|
|
129
|
+
return existsSync(getSystemdServicePath());
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Check if systemd service is running
|
|
134
|
+
*/
|
|
135
|
+
export function isSystemdServiceRunning() {
|
|
136
|
+
try {
|
|
137
|
+
const result = execSync("systemctl --user is-active telegram-ssh-bot 2>/dev/null", {
|
|
138
|
+
encoding: "utf-8",
|
|
139
|
+
}).trim();
|
|
140
|
+
return result === "active";
|
|
141
|
+
} catch {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Check if systemd service is enabled
|
|
148
|
+
*/
|
|
149
|
+
export function isSystemdServiceEnabled() {
|
|
150
|
+
try {
|
|
151
|
+
const result = execSync("systemctl --user is-enabled telegram-ssh-bot 2>/dev/null", {
|
|
152
|
+
encoding: "utf-8",
|
|
153
|
+
}).trim();
|
|
154
|
+
return result === "enabled";
|
|
155
|
+
} catch {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Setup systemd service
|
|
162
|
+
*/
|
|
163
|
+
export function setupSystemdService(execPath) {
|
|
164
|
+
const result = {
|
|
165
|
+
success: false,
|
|
166
|
+
servicePath: getSystemdServicePath(),
|
|
167
|
+
execPath: execPath || getExecutablePath(),
|
|
168
|
+
message: "",
|
|
169
|
+
wasRunning: false,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
try {
|
|
173
|
+
// Check if service was running before update
|
|
174
|
+
result.wasRunning = isSystemdServiceRunning();
|
|
175
|
+
|
|
176
|
+
// Create systemd directory if it doesn't exist
|
|
177
|
+
const serviceDir = getSystemdServiceDir();
|
|
178
|
+
if (!existsSync(serviceDir)) {
|
|
179
|
+
mkdirSync(serviceDir, { recursive: true });
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Generate and write service file
|
|
183
|
+
const serviceContent = generateServiceFile(result.execPath);
|
|
184
|
+
writeFileSync(result.servicePath, serviceContent, "utf-8");
|
|
185
|
+
|
|
186
|
+
// Reload systemd daemon
|
|
187
|
+
execSync("systemctl --user daemon-reload", { encoding: "utf-8" });
|
|
188
|
+
|
|
189
|
+
result.success = true;
|
|
190
|
+
result.message = `Systemd service installed at ${result.servicePath}`;
|
|
191
|
+
|
|
192
|
+
return result;
|
|
193
|
+
} catch (error) {
|
|
194
|
+
result.message = `Failed to setup systemd service: ${error instanceof Error ? error.message : String(error)}`;
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Enable systemd service
|
|
201
|
+
*/
|
|
202
|
+
export function enableSystemdService() {
|
|
203
|
+
try {
|
|
204
|
+
execSync("systemctl --user enable telegram-ssh-bot", { encoding: "utf-8" });
|
|
205
|
+
return true;
|
|
206
|
+
} catch {
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Start systemd service
|
|
213
|
+
*/
|
|
214
|
+
export function startSystemdService() {
|
|
215
|
+
try {
|
|
216
|
+
execSync("systemctl --user start telegram-ssh-bot", { encoding: "utf-8" });
|
|
217
|
+
return true;
|
|
218
|
+
} catch {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Restart systemd service
|
|
225
|
+
*/
|
|
226
|
+
export function restartSystemdService() {
|
|
227
|
+
try {
|
|
228
|
+
execSync("systemctl --user restart telegram-ssh-bot", { encoding: "utf-8" });
|
|
229
|
+
return true;
|
|
230
|
+
} catch {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Stop systemd service
|
|
237
|
+
*/
|
|
238
|
+
export function stopSystemdService() {
|
|
239
|
+
try {
|
|
240
|
+
execSync("systemctl --user stop telegram-ssh-bot", { encoding: "utf-8" });
|
|
241
|
+
return true;
|
|
242
|
+
} catch {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Disable systemd service
|
|
249
|
+
*/
|
|
250
|
+
export function disableSystemdService() {
|
|
251
|
+
try {
|
|
252
|
+
execSync("systemctl --user disable telegram-ssh-bot", { encoding: "utf-8" });
|
|
253
|
+
return true;
|
|
254
|
+
} catch {
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Get systemd service status
|
|
261
|
+
*/
|
|
262
|
+
export function getSystemdServiceStatus() {
|
|
263
|
+
const servicePath = getSystemdServicePath();
|
|
264
|
+
let execPath = null;
|
|
265
|
+
|
|
266
|
+
// Try to read ExecStart from service file
|
|
267
|
+
if (existsSync(servicePath)) {
|
|
268
|
+
try {
|
|
269
|
+
const content = readFileSync(servicePath, "utf-8");
|
|
270
|
+
const match = content.match(/ExecStart=(.+)/);
|
|
271
|
+
if (match && match[1]) {
|
|
272
|
+
execPath = match[1].trim();
|
|
273
|
+
}
|
|
274
|
+
} catch {
|
|
275
|
+
// Ignore
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
return {
|
|
280
|
+
installed: existsSync(servicePath),
|
|
281
|
+
running: isSystemdServiceRunning(),
|
|
282
|
+
enabled: isSystemdServiceEnabled(),
|
|
283
|
+
servicePath,
|
|
284
|
+
execPath,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Update systemd service with new executable path
|
|
290
|
+
* This is called after npm/pnpm update to ensure the service points to the correct path
|
|
291
|
+
*/
|
|
292
|
+
export function updateSystemdService() {
|
|
293
|
+
const wasRunning = isSystemdServiceRunning();
|
|
294
|
+
const result = setupSystemdService();
|
|
295
|
+
|
|
296
|
+
if (result.success && wasRunning) {
|
|
297
|
+
// If service was running before update, restart it
|
|
298
|
+
restartSystemdService();
|
|
299
|
+
result.message += "\nService restarted (was running before update).";
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return result;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Full systemd setup with optional auto-start
|
|
307
|
+
*/
|
|
308
|
+
export function fullSystemdSetup(options = {}) {
|
|
309
|
+
const { enable = true, start = false, execPath } = options;
|
|
310
|
+
|
|
311
|
+
const setupResult = setupSystemdService(execPath);
|
|
312
|
+
|
|
313
|
+
if (!setupResult.success) {
|
|
314
|
+
return {
|
|
315
|
+
success: false,
|
|
316
|
+
message: setupResult.message,
|
|
317
|
+
servicePath: setupResult.servicePath,
|
|
318
|
+
execPath: setupResult.execPath,
|
|
319
|
+
enabled: false,
|
|
320
|
+
started: false,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
let enabled = false;
|
|
325
|
+
let started = false;
|
|
326
|
+
|
|
327
|
+
if (enable) {
|
|
328
|
+
enabled = enableSystemdService();
|
|
329
|
+
if (!enabled) {
|
|
330
|
+
return {
|
|
331
|
+
success: false,
|
|
332
|
+
message: "Service installed but failed to enable.",
|
|
333
|
+
servicePath: setupResult.servicePath,
|
|
334
|
+
execPath: setupResult.execPath,
|
|
335
|
+
enabled: false,
|
|
336
|
+
started: false,
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (start) {
|
|
342
|
+
started = startSystemdService();
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
return {
|
|
346
|
+
success: true,
|
|
347
|
+
message: `Systemd service setup complete. Enabled: ${enabled}, Started: ${started}`,
|
|
348
|
+
servicePath: setupResult.servicePath,
|
|
349
|
+
execPath: setupResult.execPath,
|
|
350
|
+
enabled,
|
|
351
|
+
started,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// CLI interface when run directly
|
|
356
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
357
|
+
const args = process.argv.slice(2);
|
|
358
|
+
const command = args[0];
|
|
359
|
+
|
|
360
|
+
switch (command) {
|
|
361
|
+
case "setup":
|
|
362
|
+
case "install": {
|
|
363
|
+
const result = fullSystemdSetup({ enable: true, start: false });
|
|
364
|
+
console.log(result.message);
|
|
365
|
+
process.exit(result.success ? 0 : 1);
|
|
366
|
+
}
|
|
367
|
+
case "update": {
|
|
368
|
+
const result = updateSystemdService();
|
|
369
|
+
console.log(result.message);
|
|
370
|
+
process.exit(result.success ? 0 : 1);
|
|
371
|
+
}
|
|
372
|
+
case "status": {
|
|
373
|
+
const status = getSystemdServiceStatus();
|
|
374
|
+
console.log(JSON.stringify(status, null, 2));
|
|
375
|
+
process.exit(0);
|
|
376
|
+
}
|
|
377
|
+
case "start": {
|
|
378
|
+
const success = startSystemdService();
|
|
379
|
+
console.log(success ? "Service started" : "Failed to start service");
|
|
380
|
+
process.exit(success ? 0 : 1);
|
|
381
|
+
}
|
|
382
|
+
case "stop": {
|
|
383
|
+
const success = stopSystemdService();
|
|
384
|
+
console.log(success ? "Service stopped" : "Failed to stop service");
|
|
385
|
+
process.exit(success ? 0 : 1);
|
|
386
|
+
}
|
|
387
|
+
case "restart": {
|
|
388
|
+
const success = restartSystemdService();
|
|
389
|
+
console.log(success ? "Service restarted" : "Failed to restart service");
|
|
390
|
+
process.exit(success ? 0 : 1);
|
|
391
|
+
}
|
|
392
|
+
case "enable": {
|
|
393
|
+
const success = enableSystemdService();
|
|
394
|
+
console.log(success ? "Service enabled" : "Failed to enable service");
|
|
395
|
+
process.exit(success ? 0 : 1);
|
|
396
|
+
}
|
|
397
|
+
case "disable": {
|
|
398
|
+
const success = disableSystemdService();
|
|
399
|
+
console.log(success ? "Service disabled" : "Failed to disable service");
|
|
400
|
+
process.exit(success ? 0 : 1);
|
|
401
|
+
}
|
|
402
|
+
default:
|
|
403
|
+
console.log(`
|
|
404
|
+
Telegram SSH Bot - Systemd Service Management
|
|
405
|
+
|
|
406
|
+
Commands:
|
|
407
|
+
setup, install - Install and enable the systemd service
|
|
408
|
+
update - Update service with new executable path (use after npm update)
|
|
409
|
+
status - Show service status
|
|
410
|
+
start - Start the service
|
|
411
|
+
stop - Stop the service
|
|
412
|
+
restart - Restart the service
|
|
413
|
+
enable - Enable the service (auto-start on login)
|
|
414
|
+
disable - Disable the service
|
|
415
|
+
|
|
416
|
+
Service file: ${getSystemdServicePath()}
|
|
417
|
+
Config dir: ${getConfigDir()}
|
|
418
|
+
`);
|
|
419
|
+
process.exit(0);
|
|
420
|
+
}
|
|
421
|
+
}
|