vpn-split 16.444.1 → 16.444.5

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.5)
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.12"
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.5",
50
+ "lastBuildTagHash": "d9f2247c1e8038d72e85ff3ff0dbc8a760a8445b",
51
51
  "devDependencies": {
52
52
  "@angular-builders/custom-webpack": "~16.0.2-beta.2",
53
53
  "@angular-devkit/build-angular": "~16.0.5",
@@ -74,7 +74,7 @@
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
80
  "@mdi/js": "7.2.96",
@@ -134,16 +134,16 @@
134
134
  "angular-material-css-vars": "5.0.2",
135
135
  "angular-resize-event": "3.2.0",
136
136
  "animate.css": "4.1.1 ",
137
- "any-project-cli": "16.444.1",
137
+ "any-project-cli": "16.444.12",
138
138
  "app-root-path": "3.0.0",
139
139
  "axios": "1.3.5",
140
- "background-worker-process": "16.100.10",
140
+ "background-worker-process": "~16.100.10",
141
141
  "base32": "0.0.7",
142
142
  "bcryptjs": "2.4.3",
143
- "better-sqlite3": "9.5.0",
144
143
  "body-parser": "1.18.2",
145
144
  "bootstrap": "4.6.2",
146
145
  "buffer-shims": "1.0.0",
146
+ "bun": "1.1.17",
147
147
  "callsite-record": "4.1.3",
148
148
  "chai": "4.3.7",
149
149
  "chalk": "2.3.2",
@@ -190,12 +190,12 @@
190
190
  "file-saver": "2.0.5",
191
191
  "file-type": "18.5.0",
192
192
  "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",
193
+ "firedev-crud": "~16.444.13",
194
+ "firedev-crud-deamon": "~16.444.13",
195
+ "firedev-ports": "~16.444.13",
196
+ "firedev-storage": "~16.444.9",
197
+ "firedev-type-sql": "~16.444.13",
198
+ "firedev-typeorm": "~16.444.9",
199
199
  "firedev-ui": "16.444.1",
200
200
  "fkill": "6.1.0",
201
201
  "font-awesome": "4.7.0",
@@ -213,10 +213,10 @@
213
213
  "image-focus": "1.2.1",
214
214
  "immer": "10.0.2",
215
215
  "immutable": "4.3.0",
216
- "incremental-compiler": "16.444.2",
216
+ "incremental-compiler": "~16.444.14",
217
217
  "inquirer": "7.3.3",
218
218
  "inquirer-autocomplete-prompt": "1.3.0",
219
- "isomorphic-region-loader": "16.444.1",
219
+ "isomorphic-region-loader": "~16.444.13",
220
220
  "istanbul-instrumenter-loader": "2.0.0",
221
221
  "jest": "29.5.0",
222
222
  "jest-date-mock": "1.0.8",
@@ -227,8 +227,8 @@
227
227
  "joi": "17.9.2",
228
228
  "jscodeshift": "0.6.3",
229
229
  "json-stringify-safe": "5.0.1",
230
- "json10": "16.444.1",
231
- "json10-writer": "16.444.2",
230
+ "json10": "~16.444.13",
231
+ "json10-writer": "~16.444.13",
232
232
  "json5": "2.2.1",
233
233
  "json5-writer": "0.2.0",
234
234
  "jszip": "3.10.1",
@@ -237,9 +237,9 @@
237
237
  "localforage": "1.10.0",
238
238
  "lockfile": "1.0.4",
239
239
  "lodash": "4.17.20",
240
- "lodash-walk-object": "16.444.1",
240
+ "lodash-walk-object": "~16.444.12",
241
241
  "lowdb": "7.0.1",
242
- "magic-renamer": "16.444.1",
242
+ "magic-renamer": "~16.444.12",
243
243
  "material-design-icons": "3.0.1",
244
244
  "method-override": "2.3.10",
245
245
  "minimist": "1.2.0",
@@ -250,10 +250,10 @@
250
250
  "ng-in-viewport": "15.0.2",
251
251
  "ng-lock": "16.0.1",
252
252
  "ng-packagr": "16.0.1",
253
- "ng-talkback": "16.444.1",
254
- "ng2-logger": "16.444.2",
253
+ "ng-talkback": "~16.444.5",
254
+ "ng2-logger": "~16.444.13",
255
255
  "ng2-pdfjs-viewer": "16.0.4",
256
- "ng2-rest": "16.444.1",
256
+ "ng2-rest": "~16.444.12",
257
257
  "ngx-ace-wrapper": "14.0.0",
258
258
  "ngx-editor": "15.3.0",
259
259
  "ngx-highlightjs": "9.0.0",
@@ -266,7 +266,7 @@
266
266
  "ngx-scrolltop": "6.0.0",
267
267
  "ngx-store": "3.1.1",
268
268
  "ngx-typed-js": "2.1.1",
269
- "node-cli-tester": "16.444.1",
269
+ "node-cli-tester": "~16.444.5",
270
270
  "node-localstorage": "2.1.6",
271
271
  "node-notifier": "6.0.0",
272
272
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -295,7 +295,7 @@
295
295
  "q": "1.5.1",
296
296
  "rallax.js": "2.0.4",
297
297
  "randomcolor": "0.5.3",
298
- "record-replay-req-res-scenario": "16.444.1",
298
+ "record-replay-req-res-scenario": "~16.444.5",
299
299
  "reflect-metadata": "0.1.10",
300
300
  "rimraf": "2.6.2",
301
301
  "rxjs": "~7.8.0",
@@ -303,10 +303,11 @@
303
303
  "simple-git": "1.96.0",
304
304
  "sinon": "15.2.0",
305
305
  "sloc": "0.2.0",
306
- "socket.io": "2.4.1",
306
+ "socket.io": "4.7.5",
307
+ "socket.io-client": "4.7.5",
307
308
  "sort-package-json": "1.11.0",
308
309
  "sql.js": "1.8.0",
309
- "static-columns": "16.444.1",
310
+ "static-columns": "~16.444.8",
310
311
  "string-similarity": "4.0.2",
311
312
  "sudo-block": "3.0.0",
312
313
  "supertest": "6.3.3",
@@ -314,11 +315,11 @@
314
315
  "systeminformation": "3.45.7",
315
316
  "task.js": "0.1.5",
316
317
  "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",
318
+ "tnp-cli": "~16.444.5",
319
+ "tnp-config": "~16.444.13",
320
+ "tnp-core": "~16.444.15",
321
+ "tnp-helpers": "~16.444.20",
322
+ "tnp-models": "~16.444.13",
322
323
  "ts-debug": "1.3.0",
323
324
  "ts-json-schema-generator": "2.1.1",
324
325
  "ts-loader": "2.3.1",
@@ -326,14 +327,16 @@
326
327
  "tslib": "~2.3.0",
327
328
  "tslint": "5.9.1",
328
329
  "turndown": "7.1.2",
330
+ "typedoc": "0.25.13",
331
+ "typedoc-plugin-markdown": "4.0.3",
329
332
  "typescript": "~5.0.2",
330
- "typescript-class-helpers": "~16.444.2",
333
+ "typescript-class-helpers": "~16.444.13",
331
334
  "typescript-formatter": "~7.2.2",
332
335
  "underscore": "1.9.1",
333
336
  "uuid": "8.3.2",
334
337
  "validator": "9.2.0",
335
338
  "video.js": "8.3.0",
336
- "vpn-split": "16.100.5",
339
+ "vpn-split": "~16.444.1",
337
340
  "vscode": "1.1.37",
338
341
  "wait-on": "7.0.1",
339
342
  "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.12"
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.5",
50
+ "lastBuildTagHash": "d9f2247c1e8038d72e85ff3ff0dbc8a760a8445b",
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.12"
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.5",
54
+ "lastBuildTagHash": "d9f2247c1e8038d72e85ff3ff0dbc8a760a8445b",
55
55
  "devDependencies": {
56
56
  "@angular-builders/custom-webpack": "~16.0.2-beta.2",
57
57
  "@angular-devkit/build-angular": "~16.0.5",
@@ -78,7 +78,7 @@
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
84
  "@mdi/js": "7.2.96",
@@ -138,16 +138,16 @@
138
138
  "angular-material-css-vars": "5.0.2",
139
139
  "angular-resize-event": "3.2.0",
140
140
  "animate.css": "4.1.1 ",
141
- "any-project-cli": "16.444.1",
141
+ "any-project-cli": "16.444.12",
142
142
  "app-root-path": "3.0.0",
143
143
  "axios": "1.3.5",
144
- "background-worker-process": "16.100.10",
144
+ "background-worker-process": "~16.100.10",
145
145
  "base32": "0.0.7",
146
146
  "bcryptjs": "2.4.3",
147
- "better-sqlite3": "9.5.0",
148
147
  "body-parser": "1.18.2",
149
148
  "bootstrap": "4.6.2",
150
149
  "buffer-shims": "1.0.0",
150
+ "bun": "1.1.17",
151
151
  "callsite-record": "4.1.3",
152
152
  "chai": "4.3.7",
153
153
  "chalk": "2.3.2",
@@ -194,12 +194,12 @@
194
194
  "file-saver": "2.0.5",
195
195
  "file-type": "18.5.0",
196
196
  "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",
197
+ "firedev-crud": "~16.444.13",
198
+ "firedev-crud-deamon": "~16.444.13",
199
+ "firedev-ports": "~16.444.13",
200
+ "firedev-storage": "~16.444.9",
201
+ "firedev-type-sql": "~16.444.13",
202
+ "firedev-typeorm": "~16.444.9",
203
203
  "firedev-ui": "16.444.1",
204
204
  "fkill": "6.1.0",
205
205
  "font-awesome": "4.7.0",
@@ -217,10 +217,10 @@
217
217
  "image-focus": "1.2.1",
218
218
  "immer": "10.0.2",
219
219
  "immutable": "4.3.0",
220
- "incremental-compiler": "16.444.2",
220
+ "incremental-compiler": "~16.444.14",
221
221
  "inquirer": "7.3.3",
222
222
  "inquirer-autocomplete-prompt": "1.3.0",
223
- "isomorphic-region-loader": "16.444.1",
223
+ "isomorphic-region-loader": "~16.444.13",
224
224
  "istanbul-instrumenter-loader": "2.0.0",
225
225
  "jest": "29.5.0",
226
226
  "jest-date-mock": "1.0.8",
@@ -231,8 +231,8 @@
231
231
  "joi": "17.9.2",
232
232
  "jscodeshift": "0.6.3",
233
233
  "json-stringify-safe": "5.0.1",
234
- "json10": "16.444.1",
235
- "json10-writer": "16.444.2",
234
+ "json10": "~16.444.13",
235
+ "json10-writer": "~16.444.13",
236
236
  "json5": "2.2.1",
237
237
  "json5-writer": "0.2.0",
238
238
  "jszip": "3.10.1",
@@ -241,9 +241,9 @@
241
241
  "localforage": "1.10.0",
242
242
  "lockfile": "1.0.4",
243
243
  "lodash": "4.17.20",
244
- "lodash-walk-object": "16.444.1",
244
+ "lodash-walk-object": "~16.444.12",
245
245
  "lowdb": "7.0.1",
246
- "magic-renamer": "16.444.1",
246
+ "magic-renamer": "~16.444.12",
247
247
  "material-design-icons": "3.0.1",
248
248
  "method-override": "2.3.10",
249
249
  "minimist": "1.2.0",
@@ -254,10 +254,10 @@
254
254
  "ng-in-viewport": "15.0.2",
255
255
  "ng-lock": "16.0.1",
256
256
  "ng-packagr": "16.0.1",
257
- "ng-talkback": "16.444.1",
258
- "ng2-logger": "16.444.2",
257
+ "ng-talkback": "~16.444.5",
258
+ "ng2-logger": "~16.444.13",
259
259
  "ng2-pdfjs-viewer": "16.0.4",
260
- "ng2-rest": "16.444.1",
260
+ "ng2-rest": "~16.444.12",
261
261
  "ngx-ace-wrapper": "14.0.0",
262
262
  "ngx-editor": "15.3.0",
263
263
  "ngx-highlightjs": "9.0.0",
@@ -270,7 +270,7 @@
270
270
  "ngx-scrolltop": "6.0.0",
271
271
  "ngx-store": "3.1.1",
272
272
  "ngx-typed-js": "2.1.1",
273
- "node-cli-tester": "16.444.1",
273
+ "node-cli-tester": "~16.444.5",
274
274
  "node-localstorage": "2.1.6",
275
275
  "node-notifier": "6.0.0",
276
276
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -299,7 +299,7 @@
299
299
  "q": "1.5.1",
300
300
  "rallax.js": "2.0.4",
301
301
  "randomcolor": "0.5.3",
302
- "record-replay-req-res-scenario": "16.444.1",
302
+ "record-replay-req-res-scenario": "~16.444.5",
303
303
  "reflect-metadata": "0.1.10",
304
304
  "rimraf": "2.6.2",
305
305
  "rxjs": "~7.8.0",
@@ -307,10 +307,11 @@
307
307
  "simple-git": "1.96.0",
308
308
  "sinon": "15.2.0",
309
309
  "sloc": "0.2.0",
310
- "socket.io": "2.4.1",
310
+ "socket.io": "4.7.5",
311
+ "socket.io-client": "4.7.5",
311
312
  "sort-package-json": "1.11.0",
312
313
  "sql.js": "1.8.0",
313
- "static-columns": "16.444.1",
314
+ "static-columns": "~16.444.8",
314
315
  "string-similarity": "4.0.2",
315
316
  "sudo-block": "3.0.0",
316
317
  "supertest": "6.3.3",
@@ -318,11 +319,11 @@
318
319
  "systeminformation": "3.45.7",
319
320
  "task.js": "0.1.5",
320
321
  "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",
322
+ "tnp-cli": "~16.444.5",
323
+ "tnp-config": "~16.444.13",
324
+ "tnp-core": "~16.444.15",
325
+ "tnp-helpers": "~16.444.20",
326
+ "tnp-models": "~16.444.13",
326
327
  "ts-debug": "1.3.0",
327
328
  "ts-json-schema-generator": "2.1.1",
328
329
  "ts-loader": "2.3.1",
@@ -330,14 +331,16 @@
330
331
  "tslib": "~2.3.0",
331
332
  "tslint": "5.9.1",
332
333
  "turndown": "7.1.2",
334
+ "typedoc": "0.25.13",
335
+ "typedoc-plugin-markdown": "4.0.3",
333
336
  "typescript": "~5.0.2",
334
- "typescript-class-helpers": "~16.444.2",
337
+ "typescript-class-helpers": "~16.444.13",
335
338
  "typescript-formatter": "~7.2.2",
336
339
  "underscore": "1.9.1",
337
340
  "uuid": "8.3.2",
338
341
  "validator": "9.2.0",
339
342
  "video.js": "8.3.0",
340
- "vpn-split": "16.100.5",
343
+ "vpn-split": "~16.444.1",
341
344
  "vscode": "1.1.37",
342
345
  "wait-on": "7.0.1",
343
346
  "watch": "1.0.2",
@@ -350,17 +353,17 @@
350
353
  "main": "dist/app.electron.js"
351
354
  },
352
355
  "build": {
353
- "number": 212,
354
- "date": "2024-06-05T11:35:32.000Z",
355
- "hash": "d9f2247c1e8038d72e85ff3ff0dbc8a760a8445b"
356
+ "number": 225,
357
+ "date": "2024-07-23T17:59:37.000Z",
358
+ "hash": "798c54679eb3a42dfa7f6a1c8c4e95fbb164a0ff"
356
359
  },
357
360
  "currentProjectName": "vpn-split",
358
361
  "currentProjectGenericName": "vpn-split",
359
362
  "currentProjectType": "isomorphic-lib",
360
- "currentFrameworkVersion": "16.444.1",
363
+ "currentFrameworkVersion": "16.444.15",
361
364
  "isStandaloneProject": true,
362
365
  "isSmartContainer": false,
363
366
  "pathesTsconfig": "\"paths\": {\"vpn-split\":[\"./src/lib\"],\"vpn-split/*\":[\"./src/lib/*\"]},",
364
367
  "customRootDir": "\"rootDir\": \"./src\",",
365
368
  "currentLibProjectSourceFolder": "src"
366
- }
369
+ }