vpn-split 16.444.1 → 16.444.6

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,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (vpn-split@16.444.1)
3
+ Assets from this folder are being shipped with this npm package (vpn-split@16.444.6)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "hostile": "1.3.3",
39
39
  "is-elevated": "3.0.0",
40
- "tnp-db": "16.444.1"
40
+ "tnp-db": "~16.444.13"
41
41
  },
42
42
  "name": "vpn-split",
43
43
  "license": "MIT",
@@ -46,8 +46,8 @@
46
46
  "vpn-split": "bin/vpn-split",
47
47
  "vpn-split-debug": "bin/vpn-split-debug"
48
48
  },
49
- "version": "16.444.1",
50
- "lastBuildTagHash": "c57e3b0fdcbebc76e3c76e245efd7b52a0539660",
49
+ "version": "16.444.6",
50
+ "lastBuildTagHash": "798c54679eb3a42dfa7f6a1c8c4e95fbb164a0ff",
51
51
  "devDependencies": {
52
52
  "@angular-builders/custom-webpack": "~16.0.2-beta.2",
53
53
  "@angular-devkit/build-angular": "~16.0.5",
@@ -74,9 +74,10 @@
74
74
  "@angular/router": "~16.0.0",
75
75
  "@angular/service-worker": "~16.0.4",
76
76
  "@babel/cli": "7.18.6",
77
- "@compodoc/compodoc": "1.1.20",
77
+ "@compodoc/compodoc": "1.1.23",
78
78
  "@iconify/icons-fa-solid": "1.2.2",
79
79
  "@iconify/icons-mdi": "1.2.1",
80
+ "@inquirer/prompts": "5.3.2",
80
81
  "@mdi/js": "7.2.96",
81
82
  "@ng-matero/extensions": "16.0.0",
82
83
  "@ngneat/falso": "6.4.0",
@@ -134,16 +135,16 @@
134
135
  "angular-material-css-vars": "5.0.2",
135
136
  "angular-resize-event": "3.2.0",
136
137
  "animate.css": "4.1.1 ",
137
- "any-project-cli": "16.444.1",
138
+ "any-project-cli": "16.444.12",
138
139
  "app-root-path": "3.0.0",
139
140
  "axios": "1.3.5",
140
- "background-worker-process": "16.100.10",
141
+ "background-worker-process": "~16.100.10",
141
142
  "base32": "0.0.7",
142
143
  "bcryptjs": "2.4.3",
143
- "better-sqlite3": "9.5.0",
144
144
  "body-parser": "1.18.2",
145
145
  "bootstrap": "4.6.2",
146
146
  "buffer-shims": "1.0.0",
147
+ "bun": "1.1.17",
147
148
  "callsite-record": "4.1.3",
148
149
  "chai": "4.3.7",
149
150
  "chalk": "2.3.2",
@@ -190,12 +191,12 @@
190
191
  "file-saver": "2.0.5",
191
192
  "file-type": "18.5.0",
192
193
  "firedev": "^16",
193
- "firedev-crud": "16.444.1",
194
- "firedev-crud-deamon": "16.444.1",
195
- "firedev-ports": "16.444.1",
196
- "firedev-storage": "16.444.1",
197
- "firedev-type-sql": "16.444.1",
198
- "firedev-typeorm": "16.444.1",
194
+ "firedev-crud": "~16.444.14",
195
+ "firedev-crud-deamon": "~16.444.14",
196
+ "firedev-ports": "~16.444.14",
197
+ "firedev-storage": "~16.444.10",
198
+ "firedev-type-sql": "~16.444.14",
199
+ "firedev-typeorm": "~16.444.10",
199
200
  "firedev-ui": "16.444.1",
200
201
  "fkill": "6.1.0",
201
202
  "font-awesome": "4.7.0",
@@ -213,10 +214,10 @@
213
214
  "image-focus": "1.2.1",
214
215
  "immer": "10.0.2",
215
216
  "immutable": "4.3.0",
216
- "incremental-compiler": "16.444.2",
217
+ "incremental-compiler": "~16.444.15",
217
218
  "inquirer": "7.3.3",
218
219
  "inquirer-autocomplete-prompt": "1.3.0",
219
- "isomorphic-region-loader": "16.444.1",
220
+ "isomorphic-region-loader": "~16.444.14",
220
221
  "istanbul-instrumenter-loader": "2.0.0",
221
222
  "jest": "29.5.0",
222
223
  "jest-date-mock": "1.0.8",
@@ -227,8 +228,8 @@
227
228
  "joi": "17.9.2",
228
229
  "jscodeshift": "0.6.3",
229
230
  "json-stringify-safe": "5.0.1",
230
- "json10": "16.444.1",
231
- "json10-writer": "16.444.2",
231
+ "json10": "~16.444.14",
232
+ "json10-writer": "~16.444.14",
232
233
  "json5": "2.2.1",
233
234
  "json5-writer": "0.2.0",
234
235
  "jszip": "3.10.1",
@@ -237,9 +238,9 @@
237
238
  "localforage": "1.10.0",
238
239
  "lockfile": "1.0.4",
239
240
  "lodash": "4.17.20",
240
- "lodash-walk-object": "16.444.1",
241
+ "lodash-walk-object": "~16.444.13",
241
242
  "lowdb": "7.0.1",
242
- "magic-renamer": "16.444.1",
243
+ "magic-renamer": "~16.444.13",
243
244
  "material-design-icons": "3.0.1",
244
245
  "method-override": "2.3.10",
245
246
  "minimist": "1.2.0",
@@ -250,10 +251,10 @@
250
251
  "ng-in-viewport": "15.0.2",
251
252
  "ng-lock": "16.0.1",
252
253
  "ng-packagr": "16.0.1",
253
- "ng-talkback": "16.444.1",
254
- "ng2-logger": "16.444.2",
254
+ "ng-talkback": "~16.444.6",
255
+ "ng2-logger": "~16.444.14",
255
256
  "ng2-pdfjs-viewer": "16.0.4",
256
- "ng2-rest": "16.444.1",
257
+ "ng2-rest": "~16.444.13",
257
258
  "ngx-ace-wrapper": "14.0.0",
258
259
  "ngx-editor": "15.3.0",
259
260
  "ngx-highlightjs": "9.0.0",
@@ -266,7 +267,7 @@
266
267
  "ngx-scrolltop": "6.0.0",
267
268
  "ngx-store": "3.1.1",
268
269
  "ngx-typed-js": "2.1.1",
269
- "node-cli-tester": "16.444.1",
270
+ "node-cli-tester": "~16.444.6",
270
271
  "node-localstorage": "2.1.6",
271
272
  "node-notifier": "6.0.0",
272
273
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -295,18 +296,19 @@
295
296
  "q": "1.5.1",
296
297
  "rallax.js": "2.0.4",
297
298
  "randomcolor": "0.5.3",
298
- "record-replay-req-res-scenario": "16.444.1",
299
+ "record-replay-req-res-scenario": "~16.444.6",
299
300
  "reflect-metadata": "0.1.10",
300
301
  "rimraf": "2.6.2",
301
302
  "rxjs": "~7.8.0",
302
303
  "semver": "6.3.0",
303
- "simple-git": "1.96.0",
304
+ "simple-git": "3.25.0",
304
305
  "sinon": "15.2.0",
305
306
  "sloc": "0.2.0",
306
- "socket.io": "2.4.1",
307
+ "socket.io": "4.7.5",
308
+ "socket.io-client": "4.7.5",
307
309
  "sort-package-json": "1.11.0",
308
310
  "sql.js": "1.8.0",
309
- "static-columns": "16.444.1",
311
+ "static-columns": "~16.444.9",
310
312
  "string-similarity": "4.0.2",
311
313
  "sudo-block": "3.0.0",
312
314
  "supertest": "6.3.3",
@@ -314,11 +316,11 @@
314
316
  "systeminformation": "3.45.7",
315
317
  "task.js": "0.1.5",
316
318
  "threads": "1.7.0",
317
- "tnp-cli": "16.444.1",
318
- "tnp-config": "16.444.2",
319
- "tnp-core": "16.444.2",
320
- "tnp-helpers": "16.444.2",
321
- "tnp-models": "16.444.2",
319
+ "tnp-cli": "~16.444.6",
320
+ "tnp-config": "~16.444.14",
321
+ "tnp-core": "~16.444.16",
322
+ "tnp-helpers": "~16.444.21",
323
+ "tnp-models": "~16.444.14",
322
324
  "ts-debug": "1.3.0",
323
325
  "ts-json-schema-generator": "2.1.1",
324
326
  "ts-loader": "2.3.1",
@@ -326,14 +328,16 @@
326
328
  "tslib": "~2.3.0",
327
329
  "tslint": "5.9.1",
328
330
  "turndown": "7.1.2",
331
+ "typedoc": "0.25.13",
332
+ "typedoc-plugin-markdown": "4.0.3",
329
333
  "typescript": "~5.0.2",
330
- "typescript-class-helpers": "~16.444.2",
334
+ "typescript-class-helpers": "~16.444.14",
331
335
  "typescript-formatter": "~7.2.2",
332
336
  "underscore": "1.9.1",
333
337
  "uuid": "8.3.2",
334
338
  "validator": "9.2.0",
335
339
  "video.js": "8.3.0",
336
- "vpn-split": "16.100.5",
340
+ "vpn-split": "~16.444.5",
337
341
  "vscode": "1.1.37",
338
342
  "wait-on": "7.0.1",
339
343
  "watch": "1.0.2",
@@ -0,0 +1 @@
1
+ export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BUILD_FRAMEWORK_CLI_NAME = void 0;
4
+ exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
5
+ //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
@@ -9,7 +9,6 @@ export declare class VpnSplit {
9
9
  private portsToPass;
10
10
  private hosts;
11
11
  private cwd;
12
- static HOST_FILE_PATH: string;
13
12
  get hostsArr(): HostForServer[];
14
13
  get hostsArrWithoutDefault(): HostForServer[];
15
14
  private get serveKeyName();
@@ -21,7 +20,7 @@ export declare class VpnSplit {
21
20
  private readonly __hostile;
22
21
  private static _instances;
23
22
  private constructor();
24
- static Instance({ ports, additionalDefaultHosts, cwd, allowNotSudo }?: {
23
+ static Instance({ ports, additionalDefaultHosts, cwd, allowNotSudo, }?: {
25
24
  ports?: number[];
26
25
  additionalDefaultHosts?: EtcHosts;
27
26
  cwd?: string;
@@ -32,14 +31,28 @@ export declare class VpnSplit {
32
31
  startClient(vpnServerTargets: URL[] | URL, saveHostInUserFolder?: boolean): Promise<void>;
33
32
  private getRemoteHosts;
34
33
  private createCertificateIfNotExists;
35
- getTarget(req: express.Request, res: express.Response, port: number, hostname: string): string;
36
- getProxyConfig(req: express.Request, res: express.Response, port: number, hostname?: string): httpProxy.ServerOptions;
34
+ getTarget({ req, res, port, hostname, }: {
35
+ req: express.Request;
36
+ res: express.Response;
37
+ port: number;
38
+ hostname: string;
39
+ }): string;
40
+ getProxyConfig({ req, res, port, hostname, isHttps, }: {
41
+ req: express.Request;
42
+ res: express.Response;
43
+ port: number;
44
+ hostname?: string;
45
+ isHttps: boolean;
46
+ }): httpProxy.ServerOptions;
47
+ private getGetRequestInfo;
37
48
  getNotFoundMsg(req: express.Request, res: express.Response, port: number, type: 'client' | 'server'): string;
49
+ getMaybeChangeOriginTrueMs(req: express.Request, res: express.Response, port: number, type: 'client' | 'server'): string;
38
50
  get headersToRemove(): any[];
39
51
  filterHeaders(req: http.IncomingMessage & express.Request, res: http.ServerResponse & express.Response): void;
40
52
  private isHttpsPort;
41
53
  private serverPassthrough;
42
54
  private resolveProperTarget;
43
55
  private clientPassthrough;
56
+ private getPortFromRequest;
44
57
  private preventBadTargetForClient;
45
58
  }
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VpnSplit = void 0;
4
4
  var tslib_1 = require("tslib");
5
- // @ts-nocheck
6
5
  //#region imports
7
6
  var tnp_core_1 = require("tnp-core");
8
7
  var express = require("express");
@@ -18,15 +17,12 @@ var log = ng2_logger_1.Log.create('vpn-split', ng2_logger_1.Level.INFO);
18
17
  //#endregion
19
18
  //#region consts
20
19
  var GENERATED = '#GENERATED_BY_CLI#';
21
- var WINDOWS = process.platform === 'win32';
22
- var EOL = WINDOWS
23
- ? '\r\n'
24
- : '\n';
20
+ var EOL = process.platform === 'win32' ? '\r\n' : '\n';
25
21
  var SERVERS_PATH = '/$$$$servers$$$$';
26
- var HOST_FILE_PATHUSER = (0, tnp_core_1.crossPlatformPath)([tnp_core_1.os.userInfo().homedir, 'hosts-file__vpn-split']);
27
- var HOST_FILE_PATH = WINDOWS
28
- ? 'C:/Windows/System32/drivers/etc/hosts'
29
- : '/etc/hosts';
22
+ var HOST_FILE_PATHUSER = (0, tnp_core_1.crossPlatformPath)([
23
+ tnp_core_1.os.userInfo().homedir,
24
+ 'hosts-file__vpn-split',
25
+ ]);
30
26
  var from = models_1.HostForServer.From;
31
27
  var defaultHosts = {
32
28
  'localhost alias': from({
@@ -34,7 +30,7 @@ var defaultHosts = {
34
30
  aliases: 'localhost',
35
31
  isDefault: true,
36
32
  }),
37
- 'broadcasthost': from({
33
+ broadcasthost: from({
38
34
  ipOrDomain: '255.255.255.255',
39
35
  aliases: 'broadcasthost',
40
36
  isDefault: true,
@@ -74,32 +70,44 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
74
70
  configurable: true
75
71
  });
76
72
  Object.defineProperty(VpnSplit.prototype, "serveKeyName", {
77
- get: function () { return 'tmp-' + tnp_config_1.config.file.server_key; },
73
+ get: function () {
74
+ return 'tmp-' + tnp_config_1.config.file.server_key;
75
+ },
78
76
  enumerable: false,
79
77
  configurable: true
80
78
  });
81
79
  Object.defineProperty(VpnSplit.prototype, "serveKeyPath", {
82
- get: function () { return tnp_core_1.path.join(this.cwd, this.serveKeyName); },
80
+ get: function () {
81
+ return tnp_core_1.path.join(this.cwd, this.serveKeyName);
82
+ },
83
83
  enumerable: false,
84
84
  configurable: true
85
85
  });
86
86
  Object.defineProperty(VpnSplit.prototype, "serveCertName", {
87
- get: function () { return 'tmp-' + tnp_config_1.config.file.server_cert; },
87
+ get: function () {
88
+ return 'tmp-' + tnp_config_1.config.file.server_cert;
89
+ },
88
90
  enumerable: false,
89
91
  configurable: true
90
92
  });
91
93
  Object.defineProperty(VpnSplit.prototype, "serveCertPath", {
92
- get: function () { return tnp_core_1.path.join(this.cwd, this.serveCertName); },
94
+ get: function () {
95
+ return tnp_core_1.path.join(this.cwd, this.serveCertName);
96
+ },
93
97
  enumerable: false,
94
98
  configurable: true
95
99
  });
96
100
  Object.defineProperty(VpnSplit.prototype, "serveCertChainName", {
97
- get: function () { return 'tmp-' + tnp_config_1.config.file.server_chain_cert; },
101
+ get: function () {
102
+ return 'tmp-' + tnp_config_1.config.file.server_chain_cert;
103
+ },
98
104
  enumerable: false,
99
105
  configurable: true
100
106
  });
101
107
  Object.defineProperty(VpnSplit.prototype, "serveCertChainPath", {
102
- get: function () { return tnp_core_1.path.join(this.cwd, this.serveCertChainName); },
108
+ get: function () {
109
+ return tnp_core_1.path.join(this.cwd, this.serveCertChainName);
110
+ },
103
111
  enumerable: false,
104
112
  configurable: true
105
113
  });
@@ -233,11 +241,13 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
233
241
  return [7 /*endfinally*/];
234
242
  case 8:
235
243
  originalHosts = this.hostsArr;
236
- cloned = tnp_core_1._.values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(originalHosts), false), tslib_1.__read(hosts.map(function (h) { return models_1.HostForServer.From({
237
- aliases: h.alias,
238
- ipOrDomain: h.ip,
239
- originHostname: h.originHostname,
240
- }, "external host ".concat(h.alias, " ").concat(h.ip)); })), false).map(function (c) {
244
+ cloned = tnp_core_1._.values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(originalHosts), false), tslib_1.__read(hosts.map(function (h) {
245
+ return models_1.HostForServer.From({
246
+ aliases: h.alias,
247
+ ipOrDomain: h.ip,
248
+ originHostname: h.originHostname,
249
+ }, "external host ".concat(h.alias, " ").concat(h.ip));
250
+ })), false).map(function (c) {
241
251
  var copy = c.clone();
242
252
  if (!copy.isDefault) {
243
253
  copy.ip = "127.0.0.1";
@@ -245,7 +255,8 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
245
255
  // copy = HostForServer.From(copy);
246
256
  // console.log('cloned host.originHostname' + copy.originHostname)
247
257
  return copy;
248
- }).reduce(function (prev, curr) {
258
+ })
259
+ .reduce(function (prev, curr) {
249
260
  var _a;
250
261
  return tnp_core_1._.merge(prev, (_a = {},
251
262
  _a[curr.aliases.join(' ')] = curr,
@@ -286,7 +297,6 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
286
297
  });
287
298
  };
288
299
  //#endregion
289
- //#region private methods
290
300
  //#region private methods / get remote hosts
291
301
  VpnSplit.prototype.getRemoteHosts = function (vpnServerTarget) {
292
302
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -301,12 +311,12 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
301
311
  method: 'GET',
302
312
  })];
303
313
  case 1:
304
- response = _a.sent();
314
+ response = (_a.sent());
305
315
  return [2 /*return*/, response.data];
306
316
  case 2:
307
317
  err_1 = _a.sent();
308
- tnp_helpers_1.Helpers.error("Remote server: ".concat(vpnServerTarget.hostname, " maybe inactive...")
309
- + " nothing to passthrought ", true, true);
318
+ tnp_helpers_1.Helpers.error("Remote server: ".concat(vpnServerTarget.hostname, " maybe inactive...") +
319
+ " nothing to passthrought ", true, true);
310
320
  return [2 /*return*/, []];
311
321
  case 3: return [2 /*return*/];
312
322
  }
@@ -316,7 +326,8 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
316
326
  //#endregion
317
327
  //#region private methods / create certificate
318
328
  VpnSplit.prototype.createCertificateIfNotExists = function () {
319
- if (!tnp_helpers_1.Helpers.exists(this.serveKeyPath) || !tnp_helpers_1.Helpers.exists(this.serveCertPath)) {
329
+ if (!tnp_helpers_1.Helpers.exists(this.serveKeyPath) ||
330
+ !tnp_helpers_1.Helpers.exists(this.serveCertPath)) {
320
331
  tnp_helpers_1.Helpers.info("[vpn-split] Generating new certification for localhost... please follow instructions..");
321
332
  var commandGen = "openssl req -nodes -new -x509 -keyout ".concat(this.serveKeyName, " -out ").concat(this.serveCertName);
322
333
  tnp_helpers_1.Helpers.run(commandGen, { cwd: this.cwd, output: true }).sync();
@@ -326,34 +337,51 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
326
337
  };
327
338
  //#endregion
328
339
  //#region private methods / proxy passthrough
329
- VpnSplit.prototype.getTarget = function (req, res, port, hostname) {
340
+ VpnSplit.prototype.getTarget = function (_a) {
341
+ var req = _a.req, res = _a.res, port = _a.port, hostname = _a.hostname;
330
342
  // console.log(`protocol="${req.protocol}", hostname="${hostname}", port="${port}"`)
331
343
  return "".concat(req.protocol, "://").concat(hostname, ":").concat(port);
332
344
  };
333
- VpnSplit.prototype.getProxyConfig = function (req, res, port, hostname) {
345
+ VpnSplit.prototype.getProxyConfig = function (_a) {
346
+ var req = _a.req, res = _a.res, port = _a.port, hostname = _a.hostname, isHttps = _a.isHttps;
334
347
  var serverPassthrough = !!hostname;
335
- var target = this.getTarget(req, res, port, serverPassthrough ? hostname : req.hostname);
348
+ var target = this.getTarget({
349
+ req: req,
350
+ res: res,
351
+ port: port,
352
+ hostname: serverPassthrough ? hostname : req.hostname,
353
+ });
336
354
  // console.log(`[target] [${serverPassthrough ? 'server' : 'client'}] target="${target}", hostname="${hostname}",`
337
355
  // +` protocol="${req.protocol}", ip="${req.ip}", origin="${req.originalUrl}"`)
338
- return {
339
- target: target,
340
- ssl: {
341
- key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
342
- cert: tnp_core_1.fse.readFileSync(this.serveCertPath),
343
- },
344
- agent: new tnp_core_1.https.Agent({
345
- // for self signed you could also add
346
- // rejectUnauthorized: false,
347
- // allow legacy server
348
- secureOptions: crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT,
349
- }),
350
- secure: false,
351
- // followRedirects: true,
352
- // changeOrigin: true,
353
- };
356
+ return isHttps
357
+ ? {
358
+ target: target,
359
+ ssl: {
360
+ key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
361
+ cert: tnp_core_1.fse.readFileSync(this.serveCertPath),
362
+ },
363
+ agent: new tnp_core_1.https.Agent({
364
+ // for self signed you could also add
365
+ // rejectUnauthorized: false,
366
+ // allow legacy server
367
+ secureOptions: crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT,
368
+ }),
369
+ secure: false,
370
+ // followRedirects: true,
371
+ // changeOrigin: true,
372
+ }
373
+ : {
374
+ target: target,
375
+ };
376
+ };
377
+ VpnSplit.prototype.getGetRequestInfo = function (req, res, port, type) {
378
+ return "server passthrough type: ".concat(type, "\nprotocol: ").concat(req.protocol, " <br>\nhostname: ").concat(req.hostname, " <br>\noriginalUrl: ").concat(req.originalUrl, " <br>\nreq.method ").concat(req.method, " <br>\nport: ").concat(port, " <br>\nSERVERS_PATH ").concat(SERVERS_PATH, " <br>");
354
379
  };
355
380
  VpnSplit.prototype.getNotFoundMsg = function (req, res, port, type) {
356
- return "hello from here... server passthrough ".concat(type, "\n protocol: ").concat(req.protocol, " <br>\n hostname: ").concat(req.hostname, " <br>\n originalUrl: ").concat(req.originalUrl, " <br>\n req.method ").concat(req.method, " <br>\n SERVERS_PATH ").concat(SERVERS_PATH, " <br>\n ");
381
+ return "[vpn-split] You are requesting url that is not in proxy reach ".concat(type, "\n").concat(this.getGetRequestInfo(req, res, port, type), "\n ");
382
+ };
383
+ VpnSplit.prototype.getMaybeChangeOriginTrueMs = function (req, res, port, type) {
384
+ return "[vpn-split] maybe changeOrigin: true, in your porxy config ?\n".concat(this.getGetRequestInfo(req, res, port, type), "\n ");
357
385
  };
358
386
  Object.defineProperty(VpnSplit.prototype, "headersToRemove", {
359
387
  get: function () {
@@ -376,8 +404,7 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
376
404
  };
377
405
  VpnSplit.prototype.isHttpsPort = function (port) {
378
406
  var httpPorts = [
379
- 443,
380
- 4443,
407
+ 443, 4443,
381
408
  // 2222,
382
409
  // 22,
383
410
  ];
@@ -385,54 +412,60 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
385
412
  return httpPorts.includes(port);
386
413
  };
387
414
  //#region start server passthrough
388
- VpnSplit.prototype.serverPassthrough = function (port) {
415
+ VpnSplit.prototype.serverPassthrough = function (portToPassthrough) {
389
416
  return tslib_1.__awaiter(this, void 0, void 0, function () {
390
417
  var isHttps, app, proxy, currentLocalIps, h;
391
418
  var _this = this;
392
419
  return tslib_1.__generator(this, function (_a) {
393
420
  switch (_a.label) {
394
421
  case 0:
395
- isHttps = this.isHttpsPort(port);
396
- process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
422
+ isHttps = this.isHttpsPort(portToPassthrough);
423
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
397
424
  app = express();
398
425
  proxy = httpProxy.createProxyServer({});
399
426
  currentLocalIps = tslib_1.__spreadArray([
400
427
  'localhost',
401
428
  '127.0.0.1'
402
429
  ], tslib_1.__read(tnp_helpers_1.Helpers.allLocalIpAddresses().map(function (a) { return a.hostname; })), false);
430
+ // console.log({ currentLocalIps });
403
431
  app.use(function (req, res, next) {
404
432
  _this.filterHeaders(req, res);
405
433
  if (currentLocalIps.includes(req.hostname)) {
406
434
  if (req.method === 'GET' && req.originalUrl === SERVERS_PATH) {
407
435
  res.send(JSON.stringify(_this.hostsArrWithoutDefault.map(function (h) {
408
- return { ip: h.ip, alias: tnp_helpers_1.Helpers.arrays.from(h.aliases).join(' ') };
436
+ return {
437
+ ip: h.ip,
438
+ alias: tnp_helpers_1.Helpers.arrays.from(h.aliases).join(' '),
439
+ };
409
440
  })));
410
441
  }
411
442
  else {
412
- var msg = _this.getNotFoundMsg(req, res, port, 'server');
443
+ var msg = _this.getNotFoundMsg(req, res, portToPassthrough, 'server');
413
444
  log.d(msg);
414
445
  res.send(msg);
415
446
  }
416
447
  next();
417
448
  }
418
449
  else {
419
- proxy.web(req, res, _this.getProxyConfig(req, res, port), next);
450
+ proxy.web(req, res, _this.getProxyConfig({ req: req, res: res, port: portToPassthrough, isHttps: isHttps }), next);
420
451
  }
421
452
  });
422
- h = isHttps ? (new tnp_core_1.https.Server({
423
- key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
424
- cert: tnp_core_1.fse.readFileSync(this.serveCertPath)
425
- }, app)) : (new tnp_core_1.http.Server(app));
426
- return [4 /*yield*/, tnp_helpers_1.Helpers.killProcessByPort(port, { silent: true })];
453
+ h = isHttps
454
+ ? new tnp_core_1.https.Server({
455
+ key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
456
+ cert: tnp_core_1.fse.readFileSync(this.serveCertPath),
457
+ }, app)
458
+ : new tnp_core_1.http.Server(app);
459
+ return [4 /*yield*/, tnp_helpers_1.Helpers.killProcessByPort(portToPassthrough, { silent: true })];
427
460
  case 1:
428
461
  _a.sent();
429
- return [4 /*yield*/, (new Promise(function (resolve, reject) {
430
- h.listen(port, function () {
431
- log.i("Passthrough ".concat(isHttps ? 'SECURE' : '', " server")
432
- + " listening on por: ".concat(port, "\n env: ").concat(app.settings.env, "\n "));
462
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
463
+ h.listen(portToPassthrough, function () {
464
+ console.log("Passthrough ".concat(isHttps ? 'SECURE' : 'UNSECURE', " server") +
465
+ " listening on port: ".concat(portToPassthrough, "\n env: ").concat(app.settings.env, "\n "));
433
466
  });
434
467
  resolve(void 0);
435
- }))];
468
+ })];
436
469
  case 2:
437
470
  _a.sent();
438
471
  return [2 /*return*/];
@@ -453,7 +486,7 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
453
486
  // })
454
487
  return vpnServerTargetsObj[originHostname];
455
488
  };
456
- VpnSplit.prototype.clientPassthrough = function (port, vpnServerTargets, hostsArr) {
489
+ VpnSplit.prototype.clientPassthrough = function (portToPassthrough, vpnServerTargets, hostsArr) {
457
490
  return tslib_1.__awaiter(this, void 0, void 0, function () {
458
491
  var hosts, vpnServerTargetsObj, isHttps, app, proxy, h;
459
492
  var _this = this;
@@ -484,37 +517,56 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
484
517
  _a[b.hostname] = b,
485
518
  _a));
486
519
  }, {});
487
- isHttps = this.isHttpsPort(port);
520
+ delete hosts['localhost'];
521
+ delete hosts['broadcasthost'];
522
+ isHttps = this.isHttpsPort(portToPassthrough);
488
523
  // if (isHttps) {
489
- process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
524
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
490
525
  app = express();
491
526
  proxy = httpProxy.createProxyServer({});
492
527
  app.use(function (req, res, next) {
528
+ // console.log('req', req );
493
529
  _this.filterHeaders(req, res);
530
+ var port = _this.getPortFromRequest(req);
494
531
  if (req.hostname === 'localhost') {
495
- var msg = _this.getNotFoundMsg(req, res, port, 'client');
496
- // log.d(msg)
497
- res.send(msg);
532
+ if (_this.portsToPass.includes(port)) {
533
+ var msg = _this.getNotFoundMsg(req, res, portToPassthrough, 'client');
534
+ // log.d(msg)
535
+ res.send(msg);
536
+ }
537
+ else {
538
+ var msg = _this.getMaybeChangeOriginTrueMs(req, res, portToPassthrough, 'client');
539
+ // log.d(msg)
540
+ res.send(msg);
541
+ }
498
542
  next();
499
543
  }
500
544
  else {
501
- proxy.web(req, res, _this.getProxyConfig(req, res, port, _this.resolveProperTarget(vpnServerTargetsObj, req, hosts).hostname), next);
545
+ proxy.web(req, res, _this.getProxyConfig({
546
+ req: req,
547
+ res: res,
548
+ port: portToPassthrough,
549
+ isHttps: isHttps,
550
+ hostname: _this.resolveProperTarget(vpnServerTargetsObj, req, hosts).hostname,
551
+ }), next);
502
552
  }
503
553
  });
504
- h = isHttps ? (new tnp_core_1.https.Server({
505
- key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
506
- cert: tnp_core_1.fse.readFileSync(this.serveCertPath)
507
- }, app)) : (new tnp_core_1.http.Server(app));
508
- return [4 /*yield*/, tnp_helpers_1.Helpers.killProcessByPort(port, { silent: true })];
554
+ h = isHttps
555
+ ? new tnp_core_1.https.Server({
556
+ key: tnp_core_1.fse.readFileSync(this.serveKeyPath),
557
+ cert: tnp_core_1.fse.readFileSync(this.serveCertPath),
558
+ }, app)
559
+ : new tnp_core_1.http.Server(app);
560
+ return [4 /*yield*/, tnp_helpers_1.Helpers.killProcessByPort(portToPassthrough, { silent: true })];
509
561
  case 1:
510
562
  _a.sent();
511
- return [4 /*yield*/, (new Promise(function (resolve, reject) {
512
- h.listen(port, function () {
513
- log.i("Passthrough ".concat(isHttps ? 'SECURE' : '', " client")
514
- + " listening on port: ".concat(port, "\n env: ").concat(app.settings.env, "\n "));
563
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
564
+ h.listen(portToPassthrough, function () {
565
+ log.i("Passthrough ".concat(isHttps ? 'SECURE' : '', " client") +
566
+ " listening on port: ".concat(portToPassthrough, "\n env: ").concat(app.settings.env, "\n "));
515
567
  });
516
568
  resolve(void 0);
517
- }))];
569
+ })];
518
570
  case 2:
519
571
  _a.sent();
520
572
  return [2 /*return*/];
@@ -524,6 +576,28 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
524
576
  };
525
577
  //#endregion
526
578
  //#endregion
579
+ //#region private methods / get port from request
580
+ VpnSplit.prototype.getPortFromRequest = function (req) {
581
+ var host = req.headers.host;
582
+ var protocol = req.protocol;
583
+ var port;
584
+ if (host) {
585
+ var hostParts = host.split(':');
586
+ if (hostParts.length === 2) {
587
+ port = hostParts[1];
588
+ }
589
+ else {
590
+ // Default ports based on protocol
591
+ port = protocol === 'https' ? '443' : '80';
592
+ }
593
+ }
594
+ else {
595
+ // Default to port 80 if no host header is present (uncommon)
596
+ port = '80';
597
+ }
598
+ return Number(port);
599
+ };
600
+ //#endregion
527
601
  //#region private methods / prevent bad target for client
528
602
  VpnSplit.prototype.preventBadTargetForClient = function (vpnServerTarget) {
529
603
  if (!vpnServerTarget) {
@@ -531,17 +605,15 @@ var VpnSplit = exports.VpnSplit = /** @class */ (function () {
531
605
  tnp_helpers_1.Helpers.error("[vpn-server] Please provide (correct?) target server\n Example:\n vpn-server ".concat(currentLocalIp, " # or whatever ip of your machine with vpn\n\n # your local ip is: ").concat(currentLocalIp, "\n\n your args:\n ").concat(process.argv.slice(2).join(', '), "\n "), false, true);
532
606
  }
533
607
  };
534
- VpnSplit.HOST_FILE_PATH = HOST_FILE_PATH;
535
608
  //#endregion
536
609
  //#region singleton
537
610
  VpnSplit._instances = {};
538
611
  return VpnSplit;
539
612
  }());
540
- //#region helpers
541
- //#region gen msg
542
- var genMsg = "\n################################################\n## This file is generated by coomand navi vpn ##\n################################################\n".trim() + EOL;
613
+ //#region helper / gen msg
614
+ var genMsg = "\n################################################\n## This file is generated #####################\n################################################\n".trim() + EOL;
543
615
  //#endregion
544
- //#region save hosts
616
+ //#region helpers / save hosts
545
617
  function saveHosts(hosts, options) {
546
618
  // console.log({ hosts })
547
619
  var saveHostInUserFolder = (options || {}).saveHostInUserFolder;
@@ -560,26 +632,32 @@ function saveHosts(hosts, options) {
560
632
  tnp_helpers_1.Helpers.writeFile(HOST_FILE_PATHUSER, toSave);
561
633
  }
562
634
  else {
563
- tnp_helpers_1.Helpers.writeFile(HOST_FILE_PATH, toSave);
635
+ tnp_helpers_1.Helpers.writeFile(tnp_config_1.HOST_FILE_PATH, toSave);
564
636
  }
565
637
  }
566
638
  //#endregion
567
- //#region parse hosts
639
+ //#region helpers / parse hosts
568
640
  function parseHost(hosts, options) {
569
641
  var saveHostInUserFolder = (options || {}).saveHostInUserFolder;
570
642
  tnp_core_1._.keys(hosts).forEach(function (hostName) {
571
643
  var v = hosts[hostName];
572
644
  v.name = hostName;
573
645
  });
574
- return genMsg + EOL + tnp_core_1._.keys(hosts).map(function (hostName) {
575
- var v = hosts[hostName];
576
- if (saveHostInUserFolder) {
577
- return "".concat(v.disabled ? '#' : '').concat(v.ipOrDomain, " ").concat(v.aliases.join(' '));
578
- }
579
- return "".concat(v.disabled ? '#' : '').concat(v.ipOrDomain, " ").concat(v.aliases.join(' '))
580
- + " # ".concat(v.name, " ").concat(GENERATED);
581
- }).join(EOL) + EOL + EOL + genMsg;
646
+ return (genMsg +
647
+ EOL +
648
+ tnp_core_1._.keys(hosts)
649
+ .map(function (hostName) {
650
+ var v = hosts[hostName];
651
+ if (saveHostInUserFolder) {
652
+ return "".concat(v.disabled ? '#' : '').concat(v.ipOrDomain, " ").concat(v.aliases.join(' '));
653
+ }
654
+ return ("".concat(v.disabled ? '#' : '').concat(v.ipOrDomain, " ").concat(v.aliases.join(' ')) +
655
+ " # ".concat(v.name, " ").concat(GENERATED));
656
+ })
657
+ .join(EOL) +
658
+ EOL +
659
+ EOL +
660
+ genMsg);
582
661
  }
583
662
  //#endregion
584
- //#endregion
585
663
  //# sourceMappingURL=vpn-split.backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpn-split.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vpn-split.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "hostile": "1.3.3",
39
39
  "is-elevated": "3.0.0",
40
- "tnp-db": "16.444.1"
40
+ "tnp-db": "~16.444.13"
41
41
  },
42
42
  "name": "vpn-split",
43
43
  "license": "MIT",
@@ -46,8 +46,8 @@
46
46
  "vpn-split": "bin/vpn-split",
47
47
  "vpn-split-debug": "bin/vpn-split-debug"
48
48
  },
49
- "version": "16.444.1",
50
- "lastBuildTagHash": "c57e3b0fdcbebc76e3c76e245efd7b52a0539660",
49
+ "version": "16.444.6",
50
+ "lastBuildTagHash": "798c54679eb3a42dfa7f6a1c8c4e95fbb164a0ff",
51
51
  "devDependencies": {},
52
52
  "main": "dist/app.electron.js"
53
53
  }
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "hostile": "1.3.3",
43
43
  "is-elevated": "3.0.0",
44
- "tnp-db": "16.444.1"
44
+ "tnp-db": "~16.444.13"
45
45
  },
46
46
  "name": "vpn-split",
47
47
  "license": "MIT",
@@ -50,8 +50,8 @@
50
50
  "vpn-split": "bin/vpn-split",
51
51
  "vpn-split-debug": "bin/vpn-split-debug"
52
52
  },
53
- "version": "16.444.1",
54
- "lastBuildTagHash": "c57e3b0fdcbebc76e3c76e245efd7b52a0539660",
53
+ "version": "16.444.6",
54
+ "lastBuildTagHash": "798c54679eb3a42dfa7f6a1c8c4e95fbb164a0ff",
55
55
  "devDependencies": {
56
56
  "@angular-builders/custom-webpack": "~16.0.2-beta.2",
57
57
  "@angular-devkit/build-angular": "~16.0.5",
@@ -78,9 +78,10 @@
78
78
  "@angular/router": "~16.0.0",
79
79
  "@angular/service-worker": "~16.0.4",
80
80
  "@babel/cli": "7.18.6",
81
- "@compodoc/compodoc": "1.1.20",
81
+ "@compodoc/compodoc": "1.1.23",
82
82
  "@iconify/icons-fa-solid": "1.2.2",
83
83
  "@iconify/icons-mdi": "1.2.1",
84
+ "@inquirer/prompts": "5.3.2",
84
85
  "@mdi/js": "7.2.96",
85
86
  "@ng-matero/extensions": "16.0.0",
86
87
  "@ngneat/falso": "6.4.0",
@@ -138,16 +139,16 @@
138
139
  "angular-material-css-vars": "5.0.2",
139
140
  "angular-resize-event": "3.2.0",
140
141
  "animate.css": "4.1.1 ",
141
- "any-project-cli": "16.444.1",
142
+ "any-project-cli": "16.444.12",
142
143
  "app-root-path": "3.0.0",
143
144
  "axios": "1.3.5",
144
- "background-worker-process": "16.100.10",
145
+ "background-worker-process": "~16.100.10",
145
146
  "base32": "0.0.7",
146
147
  "bcryptjs": "2.4.3",
147
- "better-sqlite3": "9.5.0",
148
148
  "body-parser": "1.18.2",
149
149
  "bootstrap": "4.6.2",
150
150
  "buffer-shims": "1.0.0",
151
+ "bun": "1.1.17",
151
152
  "callsite-record": "4.1.3",
152
153
  "chai": "4.3.7",
153
154
  "chalk": "2.3.2",
@@ -194,12 +195,12 @@
194
195
  "file-saver": "2.0.5",
195
196
  "file-type": "18.5.0",
196
197
  "firedev": "^16",
197
- "firedev-crud": "16.444.1",
198
- "firedev-crud-deamon": "16.444.1",
199
- "firedev-ports": "16.444.1",
200
- "firedev-storage": "16.444.1",
201
- "firedev-type-sql": "16.444.1",
202
- "firedev-typeorm": "16.444.1",
198
+ "firedev-crud": "~16.444.14",
199
+ "firedev-crud-deamon": "~16.444.14",
200
+ "firedev-ports": "~16.444.14",
201
+ "firedev-storage": "~16.444.10",
202
+ "firedev-type-sql": "~16.444.14",
203
+ "firedev-typeorm": "~16.444.10",
203
204
  "firedev-ui": "16.444.1",
204
205
  "fkill": "6.1.0",
205
206
  "font-awesome": "4.7.0",
@@ -217,10 +218,10 @@
217
218
  "image-focus": "1.2.1",
218
219
  "immer": "10.0.2",
219
220
  "immutable": "4.3.0",
220
- "incremental-compiler": "16.444.2",
221
+ "incremental-compiler": "~16.444.15",
221
222
  "inquirer": "7.3.3",
222
223
  "inquirer-autocomplete-prompt": "1.3.0",
223
- "isomorphic-region-loader": "16.444.1",
224
+ "isomorphic-region-loader": "~16.444.14",
224
225
  "istanbul-instrumenter-loader": "2.0.0",
225
226
  "jest": "29.5.0",
226
227
  "jest-date-mock": "1.0.8",
@@ -231,8 +232,8 @@
231
232
  "joi": "17.9.2",
232
233
  "jscodeshift": "0.6.3",
233
234
  "json-stringify-safe": "5.0.1",
234
- "json10": "16.444.1",
235
- "json10-writer": "16.444.2",
235
+ "json10": "~16.444.14",
236
+ "json10-writer": "~16.444.14",
236
237
  "json5": "2.2.1",
237
238
  "json5-writer": "0.2.0",
238
239
  "jszip": "3.10.1",
@@ -241,9 +242,9 @@
241
242
  "localforage": "1.10.0",
242
243
  "lockfile": "1.0.4",
243
244
  "lodash": "4.17.20",
244
- "lodash-walk-object": "16.444.1",
245
+ "lodash-walk-object": "~16.444.13",
245
246
  "lowdb": "7.0.1",
246
- "magic-renamer": "16.444.1",
247
+ "magic-renamer": "~16.444.13",
247
248
  "material-design-icons": "3.0.1",
248
249
  "method-override": "2.3.10",
249
250
  "minimist": "1.2.0",
@@ -254,10 +255,10 @@
254
255
  "ng-in-viewport": "15.0.2",
255
256
  "ng-lock": "16.0.1",
256
257
  "ng-packagr": "16.0.1",
257
- "ng-talkback": "16.444.1",
258
- "ng2-logger": "16.444.2",
258
+ "ng-talkback": "~16.444.6",
259
+ "ng2-logger": "~16.444.14",
259
260
  "ng2-pdfjs-viewer": "16.0.4",
260
- "ng2-rest": "16.444.1",
261
+ "ng2-rest": "~16.444.13",
261
262
  "ngx-ace-wrapper": "14.0.0",
262
263
  "ngx-editor": "15.3.0",
263
264
  "ngx-highlightjs": "9.0.0",
@@ -270,7 +271,7 @@
270
271
  "ngx-scrolltop": "6.0.0",
271
272
  "ngx-store": "3.1.1",
272
273
  "ngx-typed-js": "2.1.1",
273
- "node-cli-tester": "16.444.1",
274
+ "node-cli-tester": "~16.444.6",
274
275
  "node-localstorage": "2.1.6",
275
276
  "node-notifier": "6.0.0",
276
277
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -299,18 +300,19 @@
299
300
  "q": "1.5.1",
300
301
  "rallax.js": "2.0.4",
301
302
  "randomcolor": "0.5.3",
302
- "record-replay-req-res-scenario": "16.444.1",
303
+ "record-replay-req-res-scenario": "~16.444.6",
303
304
  "reflect-metadata": "0.1.10",
304
305
  "rimraf": "2.6.2",
305
306
  "rxjs": "~7.8.0",
306
307
  "semver": "6.3.0",
307
- "simple-git": "1.96.0",
308
+ "simple-git": "3.25.0",
308
309
  "sinon": "15.2.0",
309
310
  "sloc": "0.2.0",
310
- "socket.io": "2.4.1",
311
+ "socket.io": "4.7.5",
312
+ "socket.io-client": "4.7.5",
311
313
  "sort-package-json": "1.11.0",
312
314
  "sql.js": "1.8.0",
313
- "static-columns": "16.444.1",
315
+ "static-columns": "~16.444.9",
314
316
  "string-similarity": "4.0.2",
315
317
  "sudo-block": "3.0.0",
316
318
  "supertest": "6.3.3",
@@ -318,11 +320,11 @@
318
320
  "systeminformation": "3.45.7",
319
321
  "task.js": "0.1.5",
320
322
  "threads": "1.7.0",
321
- "tnp-cli": "16.444.1",
322
- "tnp-config": "16.444.2",
323
- "tnp-core": "16.444.2",
324
- "tnp-helpers": "16.444.2",
325
- "tnp-models": "16.444.2",
323
+ "tnp-cli": "~16.444.6",
324
+ "tnp-config": "~16.444.14",
325
+ "tnp-core": "~16.444.16",
326
+ "tnp-helpers": "~16.444.21",
327
+ "tnp-models": "~16.444.14",
326
328
  "ts-debug": "1.3.0",
327
329
  "ts-json-schema-generator": "2.1.1",
328
330
  "ts-loader": "2.3.1",
@@ -330,14 +332,16 @@
330
332
  "tslib": "~2.3.0",
331
333
  "tslint": "5.9.1",
332
334
  "turndown": "7.1.2",
335
+ "typedoc": "0.25.13",
336
+ "typedoc-plugin-markdown": "4.0.3",
333
337
  "typescript": "~5.0.2",
334
- "typescript-class-helpers": "~16.444.2",
338
+ "typescript-class-helpers": "~16.444.14",
335
339
  "typescript-formatter": "~7.2.2",
336
340
  "underscore": "1.9.1",
337
341
  "uuid": "8.3.2",
338
342
  "validator": "9.2.0",
339
343
  "video.js": "8.3.0",
340
- "vpn-split": "16.100.5",
344
+ "vpn-split": "~16.444.5",
341
345
  "vscode": "1.1.37",
342
346
  "wait-on": "7.0.1",
343
347
  "watch": "1.0.2",
@@ -350,17 +354,17 @@
350
354
  "main": "dist/app.electron.js"
351
355
  },
352
356
  "build": {
353
- "number": 212,
354
- "date": "2024-06-05T11:35:32.000Z",
355
- "hash": "d9f2247c1e8038d72e85ff3ff0dbc8a760a8445b"
357
+ "number": 228,
358
+ "date": "2024-07-26T09:05:08.000Z",
359
+ "hash": "26bddcc3aa057f72991c01377588bb2e7c59a036"
356
360
  },
357
361
  "currentProjectName": "vpn-split",
358
362
  "currentProjectGenericName": "vpn-split",
359
363
  "currentProjectType": "isomorphic-lib",
360
- "currentFrameworkVersion": "16.444.1",
364
+ "currentFrameworkVersion": "16.444.16",
361
365
  "isStandaloneProject": true,
362
366
  "isSmartContainer": false,
363
367
  "pathesTsconfig": "\"paths\": {\"vpn-split\":[\"./src/lib\"],\"vpn-split/*\":[\"./src/lib/*\"]},",
364
368
  "customRootDir": "\"rootDir\": \"./src\",",
365
369
  "currentLibProjectSourceFolder": "src"
366
- }
370
+ }