xynginc 1.0.94 → 1.0.95

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
@@ -7,7 +7,6 @@ import { Plugin } from "xypriss";
7
7
  import { Logger } from "./mods/logger";
8
8
  import { validateConfig } from "./mods/validateConfig";
9
9
  import { startXNCPlugin } from "./startPlugin";
10
- import { getHostEnv } from "./mods/getHostEnv";
11
10
  /**
12
11
  * XyNginC Plugin for XyPriss.
13
12
  * Automates Nginx and SSL management for your server.
@@ -19,9 +18,11 @@ export default function XNCP(options) {
19
18
  const { domains, autoReload = true, autoFixFirewall = false, binaryPath, autoDownload = true, version = "latest", installRequirements = true, sudoPassword, } = options;
20
19
  const pkg = Plugin.manifest(__sys__);
21
20
  const effectiveSudoPassword = sudoPassword ||
22
- getHostEnv("SUDO_PASSWORD") ||
23
- getHostEnv("XY_SUDO_PASSWORD") ||
24
- getHostEnv("XYPRISS_SUDO_PASSWORD") ||
21
+ (typeof __sys__ !== "undefined"
22
+ ? __sys__.__env__?.get("SUDO_PASSWORD") ||
23
+ __sys__.__env__?.get("XY_SUDO_PASSWORD") ||
24
+ __sys__.__env__?.get("XYPRISS_SUDO_PASSWORD")
25
+ : undefined) ||
25
26
  "";
26
27
  return Plugin.create({
27
28
  name: pkg.name,
@@ -1,25 +1,27 @@
1
1
  import { ensureBinary } from "./mods/ensureBinary";
2
2
  import { Logger } from "./mods/logger";
3
3
  import { addDomain, applyConfig, checkRequirements, getStatus, installRequirementsHandler, listDomains, reloadNginx, removeDomain, testNginx, } from "./mods/requirements";
4
- import { getHostEnv } from "./mods/getHostEnv";
5
4
  const getSudo = (sudoPassword) => {
6
5
  // 1. Direct option passed by the user
7
6
  if (sudoPassword) {
8
7
  Logger.info(`[XyNginC] Using sudo password provided via plugin options(${sudoPassword.slice(0, 2)}***).`);
9
8
  return `echo '${sudoPassword}' | sudo -S`;
10
9
  }
11
- // 2. Multi-tier resolution of SUDO_PASSWORD from the host environment
12
- const envPwd = getHostEnv("SUDO_PASSWORD") ||
13
- getHostEnv("XY_SUDO_PASSWORD") ||
14
- getHostEnv("XYPRISS_SUDO_PASSWORD") ||
15
- (typeof __sys__ !== "undefined"
16
- ? __sys__.__env__?.get("SUDO_PASSWORD")
17
- : undefined);
10
+ // 2. Official XyPriss Workspace API resolution of SUDO_PASSWORD
11
+ const envPwd = typeof __sys__ !== "undefined"
12
+ ? __sys__.__env__?.get("SUDO_PASSWORD") ||
13
+ __sys__.__env__?.get("XY_SUDO_PASSWORD") ||
14
+ __sys__.__env__?.get("XYPRISS_SUDO_PASSWORD")
15
+ : undefined;
18
16
  if (envPwd) {
19
17
  Logger.info("[XyNginC] Using sudo password injected from environment variables.");
20
18
  return `echo '${envPwd}' | sudo -S`;
21
19
  }
22
- Logger.warn("[XyNginC] ⚠️ No sudo password provided. Falling back to non-interactive mode (sudo -n).");
20
+ Logger.warn("[XyNginC] ⚠️ No sudo password detected (options or __sys__.__env__). Falling back to non-interactive mode (sudo -n).");
21
+ Logger.warn("[XyNginC] 💡 If SUDO_PASSWORD is set in your host .env, this means either:");
22
+ Logger.warn("[XyNginC] 1. The variable is missing or empty in your environment.");
23
+ Logger.warn("[XyNginC] 2. The plugin lacks workspace permission to access host env in 'xypriss.config.jsonc' (under '$internal').");
24
+ Logger.warn("[XyNginC] 👉 Solution: Authorize permissions in 'xypriss.config.jsonc' or pass 'sudoPassword' directly in the plugin options.");
23
25
  Logger.warn("[XyNginC] ⚠️ If the command requires a password, it will fail immediately instead of hanging.");
24
26
  // Return non-interactive sudo to prevent infinite blocking/hanging
25
27
  return "sudo -n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xynginc",
3
- "version": "1.0.94",
3
+ "version": "1.0.95",
4
4
  "description": "XyPriss Nginx Controller - Automatic Nginx & SSL management for XyPriss servers",
5
5
  "author": "Seth Eleazar - iDevo",
6
6
  "license": "NOSL",
@@ -1,11 +1,11 @@
1
1
  --- XYPRISS SIGNATURE (G3) ---
2
- Manifest: xynginc@1.0.94
2
+ Manifest: xynginc@1.0.95
3
3
  Min-Engine: 1.0.81
4
- Fingerprint: sha256:02cff76c2401603f866188ef21d27dcc33cb8786e4353384ae479b51cb185e4b
4
+ Fingerprint: sha256:29164ca30e93b4db58ec04a683f11e643738961ff5539561b0cbc02b0fc77216
5
5
  Identity: ed25519:0e2e1accdbba45480979305256d50d368ae6cc2c0d7ee378c5f1999ae834cf58
6
6
  Privileges: XHS.HOOK.LIFECYCLE.REGISTER,XHS.HOOK.LIFECYCLE.SERVER_START,XHS.HOOK.LIFECYCLE.SERVER_STOP,XHS.HOOK.LIFECYCLE.SERVER_READY
7
- Expires: 2027-09-12T18:05:47Z
7
+ Expires: 2027-09-13T14:10:40Z
8
8
  Revision: sha256:none
9
9
  --- BEGIN CRYPTOGRAPHIC PROOF ---
10
- base64:mdMvFSrts0+fvRJHfgoqVfjr7Sc5QosURA5ZuYacpdCzdUOtFyeBrGPB/uScomtRQD4LWU3X8Ms4Q5UsiiYHBA==
10
+ base64:xPDNo3n8nqha9OGhhNRkMKdJxiMGy5ZddvDGcuv314t/imBXHpBjhrAM+AVWpsKEsP8gJC5jximCDzvaGFeDDg==
11
11
  --- END XYPRISS SIGNATURE ---