telegram-ssh-bot 2.4.0 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAiC;gBAE1C,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAMtD;;OAEG;IACH,aAAa,IAAI,IAAI;IAqBrB;;OAEG;IACH,YAAY,IAAI,IAAI;IAWpB;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBhC;;OAEG;YACW,QAAQ;IAqCtB;;OAEG;YACW,WAAW;IAqBzB;;OAEG;IACH,OAAO,CAAC,eAAe;CAiCxB;AAwFD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAsFrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAiC;gBAE1C,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;IAMtD;;OAEG;IACH,aAAa,IAAI,IAAI;IAqBrB;;OAEG;IACH,YAAY,IAAI,IAAI;IAWpB;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBhC;;OAEG;YACW,QAAQ;IAqCtB;;OAEG;YACW,WAAW;IAqBzB;;OAEG;IACH,OAAO,CAAC,eAAe;CAiCxB;AAgID;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAsFrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C"}
@@ -182,14 +182,31 @@ const REQUIRED_ENV_KEYS = [
182
182
  "BOT_CHAT_ID",
183
183
  "ENCRYPTION_KEY",
184
184
  ];
185
+ /**
186
+ * Placeholder values that indicate the env var is not properly configured
187
+ */
188
+ const PLACEHOLDER_VALUES = {
189
+ BOT_TOKEN: /your_telegram_bot_token_here|^your_bot_token|^<[^>]+>$/i,
190
+ BOT_CHAT_ID: /your_chat_id_here|^<[^>]+>$/i,
191
+ ENCRYPTION_KEY: /^$|^<[^>]+>$/i,
192
+ };
185
193
  /**
186
194
  * Collect all missing required environment variables
195
+ * Also checks for placeholder values that need to be replaced
187
196
  */
188
197
  function getMissingEnvKeys() {
189
198
  const missing = [];
190
199
  for (const key of REQUIRED_ENV_KEYS) {
191
- if (!process.env[key]) {
200
+ const value = process.env[key];
201
+ // Check if missing
202
+ if (!value) {
192
203
  missing.push(key);
204
+ continue;
205
+ }
206
+ // Check if it's a placeholder value
207
+ const placeholderPattern = PLACEHOLDER_VALUES[key];
208
+ if (placeholderPattern && placeholderPattern.test(value)) {
209
+ missing.push(`${key} (has placeholder value)`);
193
210
  }
194
211
  }
195
212
  return missing;
@@ -202,6 +219,19 @@ function getRequiredEnv(key) {
202
219
  if (!value) {
203
220
  throw new MissingConfigError(key);
204
221
  }
222
+ // Check for placeholder values
223
+ const placeholderPattern = PLACEHOLDER_VALUES[key];
224
+ if (placeholderPattern && placeholderPattern.test(value)) {
225
+ throw new InvalidConfigError(`${key} contains a placeholder value. Please update your .env file with a real value.`);
226
+ }
227
+ // Validate bot token format
228
+ if (key === "BOT_TOKEN") {
229
+ const tokenRegex = /^\d+:[A-Za-z0-9_-]+$/;
230
+ if (!tokenRegex.test(value)) {
231
+ throw new InvalidConfigError(`BOT_TOKEN has invalid format. Expected format: 123456789:ABCdefGHI... ` +
232
+ `Please get your token from @BotFather on Telegram.`);
233
+ }
234
+ }
205
235
  return value;
206
236
  }
207
237
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bot.d.ts","sourceRoot":"","sources":["../../src/core/Bot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAGV,IAAI,EACJ,eAAe,EACf,WAAW,EAEX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD;;GAEG;AACH,qBAAa,GAAI,YAAW,IAAI;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc;IAUrD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAK/C;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAKlC;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAkBhB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;YACW,aAAa;IAY3B;;OAEG;YACW,aAAa;IA8C3B;;OAEG;YACW,oBAAoB;IAsBlC;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,WAAW;CAiB1B"}
1
+ {"version":3,"file":"Bot.d.ts","sourceRoot":"","sources":["../../src/core/Bot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAGV,IAAI,EACJ,eAAe,EACf,WAAW,EAEX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD;;GAEG;AACH,qBAAa,GAAI,YAAW,IAAI;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc;IAUrD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAK/C;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAKlC;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAkBhB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;OAEG;YACW,aAAa;IAY3B;;OAEG;YACW,aAAa;IA8C3B;;OAEG;YACW,oBAAoB;IAsBlC;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,WAAW;CAiB1B"}
package/dist/core/Bot.js CHANGED
@@ -38,7 +38,21 @@ export class Bot {
38
38
  // Register command handlers
39
39
  this.setupHandlers();
40
40
  // Set bot commands
41
- await this.setCommands();
41
+ try {
42
+ await this.setCommands();
43
+ }
44
+ catch (error) {
45
+ // Check for 404 error which indicates invalid bot token
46
+ if (error instanceof Error &&
47
+ (error.message.includes("404") || error.message.includes("Not Found"))) {
48
+ throw new Error("Invalid bot token. Please check your BOT_TOKEN in .env file.\n" +
49
+ "Get your token from @BotFather on Telegram.\n" +
50
+ "Config file: " +
51
+ (process.env.HOME ?? "~") +
52
+ "/.config/telegram-ssh-bot/.env");
53
+ }
54
+ throw error;
55
+ }
42
56
  this.started = true;
43
57
  this.logger.info("Bot started");
44
58
  }
@@ -114,7 +128,26 @@ export class Bot {
114
128
  });
115
129
  // Handle polling errors
116
130
  this.bot.on("polling_error", (error) => {
117
- this.logger.error("Polling error", error);
131
+ // Check for 404 error which indicates invalid bot token
132
+ if (error.message.includes("404") || error.message.includes("Not Found")) {
133
+ this.logger.error("Bot token is invalid. Please check your BOT_TOKEN in .env file.", error);
134
+ console.error("");
135
+ console.error("╔═══════════════════════════════════════════════════════════════╗");
136
+ console.error("║ ERROR: Invalid Bot Token ║");
137
+ console.error("╚═══════════════════════════════════════════════════════════════╝");
138
+ console.error("");
139
+ console.error("The bot token you provided is not valid.");
140
+ console.error("Please:");
141
+ console.error(" 1. Go to @BotFather on Telegram");
142
+ console.error(" 2. Get your bot token");
143
+ console.error(" 3. Update BOT_TOKEN in your .env file:");
144
+ console.error(` ${process.env.HOME}/.config/telegram-ssh-bot/.env`);
145
+ console.error(" 4. Restart the bot");
146
+ console.error("");
147
+ }
148
+ else {
149
+ this.logger.error("Polling error", error);
150
+ }
118
151
  });
119
152
  }
120
153
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Bot.js","sourceRoot":"","sources":["../../src/core/Bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bot.js","sourceRoot":"","sources":["../../src/core/Bot.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * A secure Telegram bot for managing SSH connections
6
6
  *
7
- * @version 2.4.0
7
+ * @version 2.5.0
8
8
  */
9
9
  export {};
10
10
  //# sourceMappingURL=index.d.ts.map
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.4.0
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: "2.0.0",
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("2.0.0");
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,7 @@
1
+ /**
2
+ * Version constant
3
+ * This is the single source of truth for the bot version
4
+ * Update this when releasing a new version
5
+ */
6
+ export declare const VERSION = "2.5.0";
7
+ //# sourceMappingURL=version.d.ts.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Version constant
3
+ * This is the single source of truth for the bot version
4
+ * Update this when releasing a new version
5
+ */
6
+ export const VERSION = "2.5.0";
7
+ //# sourceMappingURL=version.js.map
@@ -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"}
@@ -9,9 +9,13 @@
9
9
  export declare class InstallationWizard {
10
10
  private readonly envPath;
11
11
  constructor();
12
+ /**
13
+ * Placeholder patterns for detecting unconfigured values
14
+ */
15
+ private static readonly PLACEHOLDER_PATTERNS;
12
16
  /**
13
17
  * Check if the wizard should run
14
- * Returns true if .env file is missing or required variables are missing
18
+ * Returns true if .env file is missing or required variables are missing/placeholder
15
19
  */
16
20
  static shouldRun(): boolean;
17
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"InstallationWizard.d.ts","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;IAMjC;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IAmB3B;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C1B;;OAEG;YACW,iBAAiB;CAahC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
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
@@ -14,9 +15,17 @@ export class InstallationWizard {
14
15
  constructor() {
15
16
  this.envPath = getEnvFilePath();
16
17
  }
18
+ /**
19
+ * Placeholder patterns for detecting unconfigured values
20
+ */
21
+ static PLACEHOLDER_PATTERNS = {
22
+ BOT_TOKEN: /your_telegram_bot_token_here|^your_bot_token|^<[^>]+>$/i,
23
+ BOT_CHAT_ID: /your_chat_id_here|^<[^>]+>$/i,
24
+ ENCRYPTION_KEY: /^$|^<[^>]+>$/i,
25
+ };
17
26
  /**
18
27
  * Check if the wizard should run
19
- * Returns true if .env file is missing or required variables are missing
28
+ * Returns true if .env file is missing or required variables are missing/placeholder
20
29
  */
21
30
  static shouldRun() {
22
31
  const envPath = getEnvFilePath();
@@ -27,7 +36,14 @@ export class InstallationWizard {
27
36
  // Check for required environment variables
28
37
  const requiredVars = ["BOT_TOKEN", "BOT_CHAT_ID", "ENCRYPTION_KEY"];
29
38
  for (const varName of requiredVars) {
30
- if (!process.env[varName]) {
39
+ const value = process.env[varName];
40
+ // Check if missing
41
+ if (!value) {
42
+ return true;
43
+ }
44
+ // Check if it's a placeholder value
45
+ const pattern = this.PLACEHOLDER_PATTERNS[varName];
46
+ if (pattern && pattern.test(value)) {
31
47
  return true;
32
48
  }
33
49
  }
@@ -59,8 +75,40 @@ export class InstallationWizard {
59
75
  console.log("✓ Configuration saved successfully!");
60
76
  console.log(` File: ${this.envPath}`);
61
77
  console.log("");
62
- console.log("Starting application...");
63
- console.log("");
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
+ }
64
112
  }
65
113
  catch (error) {
66
114
  if (error instanceof Error) {
@@ -1 +1 @@
1
- {"version":3,"file":"InstallationWizard.js","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstallationWizard.js","sourceRoot":"","sources":["../../src/wizard/InstallationWizard.ts"],"names":[],"mappings":"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"}
@@ -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;CACvB;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,UAAU,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAcjF"}
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"}
@@ -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":"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"}
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.4.0",
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/**/*",
@@ -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 .env setup.");
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
- return;
71
- }
76
+ } else {
77
+ // Run the main setup function
78
+ const result = main({ generateKey: true, silent: false });
72
79
 
73
- // Run the main setup function
74
- const result = main({ generateKey: true, silent: false });
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 (result.success) {
77
- console.log("\nConfiguration setup complete!");
78
- console.log(
79
- 'Run "telegram-ssh-bot" to start the bot after configuring your credentials.',
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.error("Configuration setup failed:", result.message);
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
+ }