pinggy 0.5.0 → 0.5.1

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/README.md CHANGED
@@ -24,6 +24,8 @@ Create secure, shareable tunnels to your localhost and manage them from the comm
24
24
  ## Architecture at a glance
25
25
  The CLI runs as two processes. A short-lived foreground process is what you invoke. A long-running daemon owns every tunnel and the `@pinggy/pinggy` SDK. They talk over HTTP and WebSocket on `127.0.0.1`.
26
26
 
27
+ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full breakdown of the two-process model, IPC routes, daemon discovery, session ownership, and filesystem layout.
28
+
27
29
  ## Requirements
28
30
  - Node.js 18+ (recommended). The CLI uses modern ESM and WebSocket features.
29
31
  - A network connection that allows outgoing WebSocket/HTTPS traffic.
@@ -1491,7 +1491,7 @@ async function ensureDaemonRunning() {
1491
1491
  const existing = getDaemonInfo();
1492
1492
  if (existing) return existing;
1493
1493
  if (process.versions.electron) {
1494
- const { runDaemonChild } = await import("./daemonChild-E2CORSSB.js");
1494
+ const { runDaemonChild } = await import("./daemonChild-KXERF36J.js");
1495
1495
  const handle = await runDaemonChild({
1496
1496
  installSignalHandlers: false,
1497
1497
  exitOnFailure: false
@@ -10,7 +10,7 @@ import {
10
10
  startDaemon,
11
11
  startRemoteManagement,
12
12
  stopDaemon
13
- } from "./chunk-FVLXFHBL.js";
13
+ } from "./chunk-VJ4VSZGX.js";
14
14
  import {
15
15
  readDaemonConfig
16
16
  } from "./chunk-MT44NAXX.js";
@@ -274,7 +274,7 @@ import { isIP } from "net";
274
274
  function parseExtendedOptions(options, config, localServerTls) {
275
275
  if (!options) return localServerTls;
276
276
  for (const opt of options) {
277
- const [key, value] = opt.replace(/^"|"$/g, "").split(/:(.+)/).filter(Boolean);
277
+ const [key, value] = opt.replace(/^"|"$/g, "").split(/:(.*)/).filter(Boolean);
278
278
  switch (key) {
279
279
  case "x":
280
280
  switch (value) {
@@ -335,7 +335,7 @@ function parseExtendedOptions(options, config, localServerTls) {
335
335
  break;
336
336
  case "b":
337
337
  if (value && value.includes(":")) {
338
- const [username, password] = value.split(/:(.+)/);
338
+ const [username, password] = value.split(/:(.*)/);
339
339
  if (!config.basicAuth) config.basicAuth = [];
340
340
  config.basicAuth.push({ username, password });
341
341
  } else {
@@ -345,7 +345,7 @@ function parseExtendedOptions(options, config, localServerTls) {
345
345
  break;
346
346
  case "a":
347
347
  if (value && value.includes(":")) {
348
- const [key2, val] = value.split(/:(.+)/);
348
+ const [key2, val] = value.split(/:(.*)/);
349
349
  if (!config.headerModification) config.headerModification = [];
350
350
  config.headerModification.push({ type: "add", key: key2, value: [val] });
351
351
  } else {
@@ -355,7 +355,7 @@ function parseExtendedOptions(options, config, localServerTls) {
355
355
  break;
356
356
  case "u":
357
357
  if (value && value.includes(":")) {
358
- const [key2, val] = value.split(/:(.+)/);
358
+ const [key2, val] = value.split(/:(.*)/);
359
359
  if (!config.headerModification) config.headerModification = [];
360
360
  config.headerModification.push({ type: "update", key: key2, value: [val] });
361
361
  } else {
@@ -3364,7 +3364,7 @@ async function main() {
3364
3364
  const { values, positionals, hasAnyArgs } = parseCliArgs(cliOptions);
3365
3365
  configureLogger(values);
3366
3366
  if (values["_daemon-child"]) {
3367
- const { runDaemonChild: runDaemonChild2 } = await import("./daemonChild-E2CORSSB.js");
3367
+ const { runDaemonChild: runDaemonChild2 } = await import("./daemonChild-KXERF36J.js");
3368
3368
  await runDaemonChild2();
3369
3369
  return;
3370
3370
  }
@@ -5,8 +5,8 @@ import {
5
5
  trackIPCTunnelStart,
6
6
  trackTunnelStart,
7
7
  trackTunnelStop
8
- } from "./chunk-YJQC6LQN.js";
9
- import "./chunk-FVLXFHBL.js";
8
+ } from "./chunk-Y65A4BL2.js";
9
+ import "./chunk-VJ4VSZGX.js";
10
10
  import "./chunk-MT44NAXX.js";
11
11
  import "./chunk-BFARGPGP.js";
12
12
  import "./chunk-HUP6YWH6.js";
package/dist/index.cjs CHANGED
@@ -3872,7 +3872,7 @@ var init_defaults = __esm({
3872
3872
  function parseExtendedOptions(options, config, localServerTls) {
3873
3873
  if (!options) return localServerTls;
3874
3874
  for (const opt of options) {
3875
- const [key, value] = opt.replace(/^"|"$/g, "").split(/:(.+)/).filter(Boolean);
3875
+ const [key, value] = opt.replace(/^"|"$/g, "").split(/:(.*)/).filter(Boolean);
3876
3876
  switch (key) {
3877
3877
  case "x":
3878
3878
  switch (value) {
@@ -3933,7 +3933,7 @@ function parseExtendedOptions(options, config, localServerTls) {
3933
3933
  break;
3934
3934
  case "b":
3935
3935
  if (value && value.includes(":")) {
3936
- const [username, password] = value.split(/:(.+)/);
3936
+ const [username, password] = value.split(/:(.*)/);
3937
3937
  if (!config.basicAuth) config.basicAuth = [];
3938
3938
  config.basicAuth.push({ username, password });
3939
3939
  } else {
@@ -3943,7 +3943,7 @@ function parseExtendedOptions(options, config, localServerTls) {
3943
3943
  break;
3944
3944
  case "a":
3945
3945
  if (value && value.includes(":")) {
3946
- const [key2, val] = value.split(/:(.+)/);
3946
+ const [key2, val] = value.split(/:(.*)/);
3947
3947
  if (!config.headerModification) config.headerModification = [];
3948
3948
  config.headerModification.push({ type: "add", key: key2, value: [val] });
3949
3949
  } else {
@@ -3953,7 +3953,7 @@ function parseExtendedOptions(options, config, localServerTls) {
3953
3953
  break;
3954
3954
  case "u":
3955
3955
  if (value && value.includes(":")) {
3956
- const [key2, val] = value.split(/:(.+)/);
3956
+ const [key2, val] = value.split(/:(.*)/);
3957
3957
  if (!config.headerModification) config.headerModification = [];
3958
3958
  config.headerModification.push({ type: "update", key: key2, value: [val] });
3959
3959
  } else {
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  getRemoteManagementState,
11
11
  initiateRemoteManagement,
12
12
  startRemoteManagement
13
- } from "./chunk-FVLXFHBL.js";
13
+ } from "./chunk-VJ4VSZGX.js";
14
14
  import "./chunk-BFARGPGP.js";
15
15
  import {
16
16
  TunnelManager,
@@ -112,7 +112,7 @@ async function verifyAndLoad() {
112
112
  process.exit(1);
113
113
  }
114
114
  }
115
- await import("./main-F4U5R4SW.js");
115
+ await import("./main-KXUDW6W5.js");
116
116
  }
117
117
  verifyAndLoad().catch((err) => {
118
118
  printer_default.fatal(`Failed to start CLI:, ${err}`);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDaemonChild
4
- } from "./chunk-YJQC6LQN.js";
4
+ } from "./chunk-Y65A4BL2.js";
5
5
  import {
6
6
  RemoteManagementUnauthorizedError,
7
7
  TunnelOperations,
@@ -13,7 +13,7 @@ import {
13
13
  getRemoteManagementState,
14
14
  initiateRemoteManagement,
15
15
  isDaemonRunning
16
- } from "./chunk-FVLXFHBL.js";
16
+ } from "./chunk-VJ4VSZGX.js";
17
17
  import "./chunk-MT44NAXX.js";
18
18
  import "./chunk-BFARGPGP.js";
19
19
  import "./chunk-HUP6YWH6.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinggy",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Create secure, shareable tunnels to your localhost and manage them from the command line. ",
@@ -52,7 +52,7 @@
52
52
  ]
53
53
  },
54
54
  "dependencies": {
55
- "@pinggy/pinggy": "^0.4.8",
55
+ "@pinggy/pinggy": "^0.4.9",
56
56
  "blessed": "^0.1.81",
57
57
  "clipboardy": "^5.0.0",
58
58
  "mime": "^4.1.0",
@@ -84,4 +84,4 @@
84
84
  "type": "git",
85
85
  "url": "git+https://github.com/Pinggy-io/cli-js.git"
86
86
  }
87
- }
87
+ }