vpn-split 21.0.22 → 21.0.23

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.
Files changed (36) hide show
  1. package/browser/package.json +1 -1
  2. package/browser-prod/package.json +1 -1
  3. package/lib/build-info._auto-generated_.d.ts +1 -1
  4. package/lib/build-info._auto-generated_.js +1 -1
  5. package/lib/package.json +1 -1
  6. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  7. package/lib-prod/build-info._auto-generated_.js +6 -9
  8. package/lib-prod/build-info._auto-generated_.js.map +1 -1
  9. package/lib-prod/env/env.angular-node-app.js +64 -68
  10. package/lib-prod/env/env.angular-node-app.js.map +1 -1
  11. package/lib-prod/env/env.docs-webapp.js +64 -68
  12. package/lib-prod/env/env.docs-webapp.js.map +1 -1
  13. package/lib-prod/env/env.electron-app.js +64 -68
  14. package/lib-prod/env/env.electron-app.js.map +1 -1
  15. package/lib-prod/env/env.mobile-app.js +64 -68
  16. package/lib-prod/env/env.mobile-app.js.map +1 -1
  17. package/lib-prod/env/env.npm-lib-and-cli-tool.js +64 -68
  18. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
  19. package/lib-prod/env/env.vscode-plugin.js +64 -68
  20. package/lib-prod/env/env.vscode-plugin.js.map +1 -1
  21. package/lib-prod/env/index.js +6 -22
  22. package/lib-prod/env/index.js.map +1 -1
  23. package/lib-prod/hostile.backend.js +10 -14
  24. package/lib-prod/hostile.backend.js.map +1 -1
  25. package/lib-prod/index.js +2 -18
  26. package/lib-prod/index.js.map +1 -1
  27. package/lib-prod/migrations/index.js +1 -17
  28. package/lib-prod/migrations/index.js.map +1 -1
  29. package/lib-prod/models.js +23 -27
  30. package/lib-prod/models.js.map +1 -1
  31. package/lib-prod/package.json +1 -1
  32. package/lib-prod/vpn-split.backend.js +95 -99
  33. package/lib-prod/vpn-split.backend.js.map +1 -1
  34. package/package.json +1 -1
  35. package/websql/package.json +1 -1
  36. package/websql-prod/package.json +1 -1
@@ -1,33 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VpnSplit = void 0;
4
1
  //#region imports
5
- const child_process_1 = require("child_process");
2
+ import { execSync } from 'child_process';
6
3
  // TODO I am using TCP ugrade not UDP!
7
- const dgram = require("dgram"); // <-- For UDP sockets
8
- const http = require("http");
9
- const axios_1 = require("axios");
10
- const express = require("express");
11
- const httpProxy = require("http-proxy");
12
- const lib_prod_1 = require("ng2-logger/lib-prod");
13
- const lib_prod_2 = require("tnp-core/lib-prod");
14
- const lib_prod_3 = require("tnp-core/lib-prod");
15
- const lib_prod_4 = require("tnp-core/lib-prod");
16
- const lib_prod_5 = require("tnp-helpers/lib-prod");
17
- const hostile_backend_1 = require("./hostile.backend");
18
- const models_1 = require("./models");
19
- const HOST_FILE_PATH = (0, lib_prod_3.UtilsNetwork__NS__getEtcHostsPath)();
20
- const log = lib_prod_1.Log.create('vpn-split', lib_prod_1.Level.INFO);
4
+ import * as dgram from 'dgram'; // <-- For UDP sockets
5
+ import * as http from 'http';
6
+ import axios from 'axios';
7
+ import * as express from 'express';
8
+ import * as httpProxy from 'http-proxy';
9
+ import { Log, Level } from 'ng2-logger/lib-prod';
10
+ import { config } from 'tnp-core/lib-prod';
11
+ import { path, fse, https, isElevated, crossPlatformPath, ___NS__includes, ___NS__isArray, ___NS__keys, ___NS__merge, ___NS__values, UtilsNetwork__NS__getEtcHostsPath, UtilsNetwork__NS__getFirstIpV4LocalActiveIpAddress, UtilsNetwork__NS__getLocalIpAddresses, UtilsOs__NS__commandExistsSync, UtilsOs__NS__getRealHomeDir, UtilsOs__NS__isRunningInWindowsPowerShell } from 'tnp-core/lib-prod';
12
+ import { CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127 } from 'tnp-core/lib-prod';
13
+ import { Helpers__NS__error, Helpers__NS__exists, Helpers__NS__info, Helpers__NS__killProcessByPort, Helpers__NS__run, Helpers__NS__writeFile, HelpersTaon__NS__arrays__NS__from } from 'tnp-helpers/lib-prod';
14
+ import { Hostile } from './hostile.backend';
15
+ import { HostForServer } from './models';
16
+ const HOST_FILE_PATH = UtilsNetwork__NS__getEtcHostsPath();
17
+ const log = Log.create('vpn-split', Level.INFO);
21
18
  //#endregion
22
19
  //#region consts
23
20
  const GENERATED = '#GENERATED_BY_CLI#';
24
21
  const EOL = process.platform === 'win32' ? '\r\n' : '\n';
25
22
  const SERVERS_PATH = '/$$$$servers$$$$';
26
- const HOST_FILE_PATHUSER = (0, lib_prod_3.crossPlatformPath)([
27
- (0, lib_prod_3.UtilsOs__NS__getRealHomeDir)(),
23
+ const HOST_FILE_PATHUSER = crossPlatformPath([
24
+ UtilsOs__NS__getRealHomeDir(),
28
25
  'hosts-file__vpn-split',
29
26
  ]);
30
- const from = models_1.HostForServer.From;
27
+ const from = HostForServer.From;
31
28
  const DefaultEtcHosts = {
32
29
  'localhost alias': from({
33
30
  ipOrDomain: '127.0.0.1',
@@ -46,14 +43,14 @@ const DefaultEtcHosts = {
46
43
  }),
47
44
  };
48
45
  //#endregion
49
- class VpnSplit {
46
+ export class VpnSplit {
50
47
  portsToPass;
51
48
  hosts;
52
49
  cwd;
53
50
  //#region getters
54
51
  get hostsArr() {
55
52
  const hosts = this.hosts;
56
- return (0, lib_prod_3.___NS__keys)(hosts).map(hostName => {
53
+ return ___NS__keys(hosts).map(hostName => {
57
54
  const v = hosts[hostName];
58
55
  v.name = hostName;
59
56
  return v;
@@ -63,22 +60,22 @@ class VpnSplit {
63
60
  return this.hostsArr.filter(f => !f.isDefault);
64
61
  }
65
62
  get serveKeyName() {
66
- return 'tmp-' + lib_prod_2.config.file.server_key;
63
+ return 'tmp-' + config.file.server_key;
67
64
  }
68
65
  get serveKeyPath() {
69
- return lib_prod_3.path.join(this.cwd, this.serveKeyName);
66
+ return path.join(this.cwd, this.serveKeyName);
70
67
  }
71
68
  get serveCertName() {
72
- return 'tmp-' + lib_prod_2.config.file.server_cert;
69
+ return 'tmp-' + config.file.server_cert;
73
70
  }
74
71
  get serveCertPath() {
75
- return lib_prod_3.path.join(this.cwd, this.serveCertName);
72
+ return path.join(this.cwd, this.serveCertName);
76
73
  }
77
74
  get serveCertChainName() {
78
- return 'tmp-' + lib_prod_2.config.file.server_chain_cert;
75
+ return 'tmp-' + config.file.server_chain_cert;
79
76
  }
80
77
  get serveCertChainPath() {
81
- return lib_prod_3.path.join(this.cwd, this.serveCertChainName);
78
+ return path.join(this.cwd, this.serveCertChainName);
82
79
  }
83
80
  //#endregion
84
81
  //#region fields
@@ -90,14 +87,14 @@ class VpnSplit {
90
87
  this.portsToPass = portsToPass;
91
88
  this.hosts = hosts;
92
89
  this.cwd = cwd;
93
- this.__hostile = new hostile_backend_1.Hostile();
90
+ this.__hostile = new Hostile();
94
91
  }
95
92
  static async Instance({ ports = [80, 443, 4443, 22, 2222, 8180, 8080, 4407, 7999, 9443], additionalDefaultHosts = {}, cwd = process.cwd(), allowNotSudo = false, } = {}) {
96
- if (!(await (0, lib_prod_3.isElevated)()) && !allowNotSudo) {
97
- (0, lib_prod_5.Helpers__NS__error)(`[vpn-split] Please run this program as sudo (or admin on windows)`, false, true);
93
+ if (!(await isElevated()) && !allowNotSudo) {
94
+ Helpers__NS__error(`[vpn-split] Please run this program as sudo (or admin on windows)`, false, true);
98
95
  }
99
96
  if (!VpnSplit._instances[cwd]) {
100
- VpnSplit._instances[cwd] = new VpnSplit(ports, (0, lib_prod_3.___NS__merge)(DefaultEtcHosts, additionalDefaultHosts), cwd);
97
+ VpnSplit._instances[cwd] = new VpnSplit(ports, ___NS__merge(DefaultEtcHosts, additionalDefaultHosts), cwd);
101
98
  }
102
99
  return VpnSplit._instances[cwd];
103
100
  }
@@ -129,7 +126,7 @@ class VpnSplit {
129
126
  for (const portToPassthrough of this.portsToPass) {
130
127
  await this.serverUdpPassthrough(portToPassthrough);
131
128
  }
132
- (0, lib_prod_5.Helpers__NS__info)(`Activated (server).`);
129
+ Helpers__NS__info(`Activated (server).`);
133
130
  }
134
131
  //#endregion
135
132
  //#region apply hosts
@@ -165,9 +162,9 @@ class VpnSplit {
165
162
  }
166
163
  // Merge with original, redirecting all non-default entries to 127.0.0.1
167
164
  const originalHosts = this.hostsArr;
168
- const combinedHostsObj = (0, lib_prod_3.___NS__values)([
165
+ const combinedHostsObj = ___NS__values([
169
166
  ...originalHosts,
170
- ...hosts.map(h => models_1.HostForServer.From({
167
+ ...hosts.map(h => HostForServer.From({
171
168
  aliases: h.alias,
172
169
  ipOrDomain: h.ip,
173
170
  originHostname: h.originHostname,
@@ -181,7 +178,7 @@ class VpnSplit {
181
178
  return copy;
182
179
  })
183
180
  .reduce((prev, curr) => {
184
- return (0, lib_prod_3.___NS__merge)(prev, {
181
+ return ___NS__merge(prev, {
185
182
  [curr.aliases.join(' ')]: curr,
186
183
  });
187
184
  }, {}));
@@ -209,31 +206,31 @@ class VpnSplit {
209
206
  for (const portToPassthrough of this.portsToPass) {
210
207
  await this.clientUdpPassthrough(portToPassthrough, vpnServerTargets, combinedHostsObj);
211
208
  }
212
- (0, lib_prod_5.Helpers__NS__info)(`Client activated`);
209
+ Helpers__NS__info(`Client activated`);
213
210
  }
214
211
  //#endregion
215
212
  //#region private methods / get remote hosts
216
213
  async getRemoteHosts(vpnServerTarget) {
217
214
  try {
218
215
  const url = `http://${vpnServerTarget.hostname}${SERVERS_PATH}`;
219
- const response = await (0, axios_1.default)({ url, method: 'GET' });
216
+ const response = await axios({ url, method: 'GET' });
220
217
  return response.data;
221
218
  }
222
219
  catch (err) {
223
- (0, lib_prod_5.Helpers__NS__error)(`Remote server: ${vpnServerTarget.hostname} may be inactive...`, true, true);
220
+ Helpers__NS__error(`Remote server: ${vpnServerTarget.hostname} may be inactive...`, true, true);
224
221
  return [];
225
222
  }
226
223
  }
227
224
  //#endregion
228
225
  //#region private methods / create certificate
229
226
  createCertificateIfNotExists() {
230
- if (!(0, lib_prod_5.Helpers__NS__exists)(this.serveKeyPath) ||
231
- !(0, lib_prod_5.Helpers__NS__exists)(this.serveCertPath)) {
232
- (0, lib_prod_5.Helpers__NS__info)(`[vpn-split] Generating new self-signed certificate for localhost...`);
233
- const commandGen = (0, lib_prod_3.UtilsOs__NS__isRunningInWindowsPowerShell)()
227
+ if (!Helpers__NS__exists(this.serveKeyPath) ||
228
+ !Helpers__NS__exists(this.serveCertPath)) {
229
+ Helpers__NS__info(`[vpn-split] Generating new self-signed certificate for localhost...`);
230
+ const commandGen = UtilsOs__NS__isRunningInWindowsPowerShell()
234
231
  ? `powershell -Command "& 'C:\\Program Files\\Git\\usr\\bin\\openssl.exe' req -nodes -new -x509 -keyout ${this.serveKeyName} -out ${this.serveCertName}"`
235
232
  : `openssl req -nodes -new -x509 -keyout ${this.serveKeyName} -out ${this.serveCertName}`;
236
- (0, lib_prod_5.Helpers__NS__run)(commandGen, { cwd: this.cwd, output: true }).sync();
233
+ Helpers__NS__run(commandGen, { cwd: this.cwd, output: true }).sync();
237
234
  }
238
235
  }
239
236
  //#endregion
@@ -260,8 +257,8 @@ class VpnSplit {
260
257
  ? {
261
258
  target,
262
259
  ssl: {
263
- key: lib_prod_3.fse.readFileSync(this.serveKeyPath),
264
- cert: lib_prod_3.fse.readFileSync(this.serveCertPath),
260
+ key: fse.readFileSync(this.serveKeyPath),
261
+ cert: fse.readFileSync(this.serveCertPath),
265
262
  },
266
263
  // agent: new https.Agent({
267
264
  // secureOptions: crypto.constants.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION,
@@ -310,10 +307,10 @@ Port: ${port}`;
310
307
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
311
308
  const app = express();
312
309
  const proxy = httpProxy.createProxyServer({});
313
- const localIp = await (0, lib_prod_3.UtilsNetwork__NS__getLocalIpAddresses)();
310
+ const localIp = await UtilsNetwork__NS__getLocalIpAddresses();
314
311
  const currentLocalIps = [
315
- lib_prod_4.CoreModels__NS__localhostDomain,
316
- lib_prod_4.CoreModels__NS__localhostIp127,
312
+ CoreModels__NS__localhostDomain,
313
+ CoreModels__NS__localhostIp127,
317
314
  ...localIp.map(a => a.address),
318
315
  ];
319
316
  app.use((req, res, next) => {
@@ -322,7 +319,7 @@ Port: ${port}`;
322
319
  if (req.method === 'GET' && req.originalUrl === SERVERS_PATH) {
323
320
  res.send(JSON.stringify(this.hostsArrWithoutDefault.map(h => ({
324
321
  ip: h.ip,
325
- alias: (0, lib_prod_5.HelpersTaon__NS__arrays__NS__from)(h.aliases).join(' '),
322
+ alias: HelpersTaon__NS__arrays__NS__from(h.aliases).join(' '),
326
323
  }))));
327
324
  }
328
325
  else {
@@ -337,12 +334,12 @@ Port: ${port}`;
337
334
  }
338
335
  });
339
336
  const server = isHttps
340
- ? lib_prod_3.https.createServer({
341
- key: lib_prod_3.fse.readFileSync(this.serveKeyPath),
342
- cert: lib_prod_3.fse.readFileSync(this.serveCertPath),
337
+ ? https.createServer({
338
+ key: fse.readFileSync(this.serveKeyPath),
339
+ cert: fse.readFileSync(this.serveCertPath),
343
340
  }, app)
344
341
  : http.createServer(app);
345
- await (0, lib_prod_5.Helpers__NS__killProcessByPort)(portToPassthrough, { silent: true });
342
+ await Helpers__NS__killProcessByPort(portToPassthrough, { silent: true });
346
343
  await new Promise((resolve, reject) => {
347
344
  server.listen(portToPassthrough, () => {
348
345
  console.log(`TCP/HTTPS server listening on port ${portToPassthrough} (secure=${isHttps})`);
@@ -401,12 +398,12 @@ Port: ${port}`;
401
398
  }), next);
402
399
  });
403
400
  const server = isHttps
404
- ? lib_prod_3.https.createServer({
405
- key: lib_prod_3.fse.readFileSync(this.serveKeyPath),
406
- cert: lib_prod_3.fse.readFileSync(this.serveCertPath),
401
+ ? https.createServer({
402
+ key: fse.readFileSync(this.serveKeyPath),
403
+ cert: fse.readFileSync(this.serveCertPath),
407
404
  }, app)
408
405
  : http.createServer(app);
409
- await (0, lib_prod_5.Helpers__NS__killProcessByPort)(portToPassthrough, { silent: true });
406
+ await Helpers__NS__killProcessByPort(portToPassthrough, { silent: true });
410
407
  await new Promise((resolve, reject) => {
411
408
  server.listen(portToPassthrough, () => {
412
409
  log.i(`TCP/HTTPS client listening on port ${portToPassthrough} (secure=${isHttps})`);
@@ -482,7 +479,7 @@ Port: ${port}`;
482
479
  // If the message is from the server, forward back to the correct client.
483
480
  //
484
481
  // Check if it’s from local or remote by address. This is simplistic:
485
- const isFromLocal = !(0, lib_prod_3.___NS__includes)(hostsArr.map(h => h.ipOrDomain), rinfo.address);
482
+ const isFromLocal = !___NS__includes(hostsArr.map(h => h.ipOrDomain), rinfo.address);
486
483
  if (isFromLocal) {
487
484
  // Received from local => forward to “server” (the VPN server)
488
485
  // Keep track of who we got this from (the local client)
@@ -542,8 +539,8 @@ Port: ${port}`;
542
539
  //#region @backendFunc
543
540
  // console.log('Domains for cert:', domains);
544
541
  // Helpers__NS__error(``,false,true);
545
- if (!(0, lib_prod_3.UtilsOs__NS__commandExistsSync)('mkcert')) {
546
- (0, lib_prod_5.Helpers__NS__error)('[vpn-split] mkcert is not installed.', false, true);
542
+ if (!UtilsOs__NS__commandExistsSync('mkcert')) {
543
+ Helpers__NS__error('[vpn-split] mkcert is not installed.', false, true);
547
544
  }
548
545
  const certPath = this.serveCertPath; // e.g. .../tmp-server_cert
549
546
  const keyPath = this.serveKeyPath; // e.g. .../tmp-server_key
@@ -560,12 +557,12 @@ Port: ${port}`;
560
557
  // Helper: run mkcert and capture output
561
558
  const runMkcert = (args) => {
562
559
  try {
563
- return (0, child_process_1.execSync)(`mkcert ${args}`, { stdio: 'pipe' }).toString().trim();
560
+ return execSync(`mkcert ${args}`, { stdio: 'pipe' }).toString().trim();
564
561
  }
565
562
  catch (err) {
566
563
  const stderr = err.stderr?.toString() || '';
567
564
  if (stderr.includes('command not found')) {
568
- (0, lib_prod_5.Helpers__NS__error)('[vpn-split] mkcert is not installed. Install it first: https://github.com/FiloSottile/mkcert', false, true);
565
+ Helpers__NS__error('[vpn-split] mkcert is not installed. Install it first: https://github.com/FiloSottile/mkcert', false, true);
569
566
  }
570
567
  throw err;
571
568
  }
@@ -575,28 +572,28 @@ Port: ${port}`;
575
572
  try {
576
573
  const output = runMkcert('-CAROOT');
577
574
  // If -CAROOT succeeds and the root files exist → CA is installed
578
- const rootDir = (0, lib_prod_3.crossPlatformPath)(output.trim());
575
+ const rootDir = crossPlatformPath(output.trim());
579
576
  if (rootDir &&
580
- lib_prod_3.fse.pathExistsSync((0, lib_prod_3.crossPlatformPath)([rootDir, 'rootCA.pem']))) {
581
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] mkcert local CA is already installed');
577
+ fse.pathExistsSync(crossPlatformPath([rootDir, 'rootCA.pem']))) {
578
+ Helpers__NS__info('[vpn-split] mkcert local CA is already installed');
582
579
  caInstalled = true;
583
580
  }
584
581
  else {
585
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] mkcert local CA is NOT installed');
582
+ Helpers__NS__info('[vpn-split] mkcert local CA is NOT installed');
586
583
  }
587
584
  }
588
585
  catch {
589
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] mkcert error checking local CA installation');
586
+ Helpers__NS__info('[vpn-split] mkcert error checking local CA installation');
590
587
  }
591
588
  // 2. Install the local CA if needed (requires sudo once)
592
589
  if (!caInstalled) {
593
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] Installing mkcert local CA (requires sudo once)...');
590
+ Helpers__NS__info('[vpn-split] Installing mkcert local CA (requires sudo once)...');
594
591
  try {
595
- (0, child_process_1.execSync)('mkcert -install', { stdio: 'inherit' });
596
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] Local CA installed and trusted system-wide');
592
+ execSync('mkcert -install', { stdio: 'inherit' });
593
+ Helpers__NS__info('[vpn-split] Local CA installed and trusted system-wide');
597
594
  }
598
595
  catch (err) {
599
- (0, lib_prod_5.Helpers__NS__error)('[vpn-split] Failed to run "mkcert -install". Run it manually with sudo.', false, true);
596
+ Helpers__NS__error('[vpn-split] Failed to run "mkcert -install". Run it manually with sudo.', false, true);
600
597
  }
601
598
  }
602
599
  const isWindows = process.platform === 'win32';
@@ -607,59 +604,58 @@ Port: ${port}`;
607
604
  // Small list or non-Windows: one shot
608
605
  const namesArg = allNames.map(d => `"${d}"`).join(' ');
609
606
  const mkcertCmd = `-key-file "${keyPath}" -cert-file "${certPath}" ${namesArg}`;
610
- lib_prod_3.fse.ensureDirSync(lib_prod_3.path.dirname(certPath));
607
+ fse.ensureDirSync(path.dirname(certPath));
611
608
  runMkcert(mkcertCmd);
612
609
  }
613
610
  else {
614
611
  // Big list on Windows: Batch into chunks of ~20 domains
615
612
  const chunkSize = 20;
616
- lib_prod_3.fse.ensureDirSync(lib_prod_3.path.dirname(certPath));
613
+ fse.ensureDirSync(path.dirname(certPath));
617
614
  for (let i = 0; i < allNames.length; i += chunkSize) {
618
615
  const chunk = allNames.slice(i, i + chunkSize);
619
616
  const tempCert = `${certPath}.${i}.pem`;
620
617
  const tempKey = `${keyPath}.${i}.pem`;
621
618
  const namesArg = chunk.map(d => `"${d}"`).join(' ');
622
619
  const mkcertCmd = `-key-file "${tempKey}" -cert-file "${tempCert}" ${namesArg}`;
623
- (0, lib_prod_5.Helpers__NS__info)(`[vpn-split] Generating batch ${Math.floor(i / chunkSize) + 1}/${Math.ceil(allNames.length / chunkSize)}...`);
620
+ Helpers__NS__info(`[vpn-split] Generating batch ${Math.floor(i / chunkSize) + 1}/${Math.ceil(allNames.length / chunkSize)}...`);
624
621
  runMkcert(mkcertCmd);
625
622
  tempCertFiles.push(tempCert);
626
623
  tempKeyFiles.push(tempKey);
627
624
  }
628
625
  // 3. Merge all temp certs into one (cert chain + leaves) and pick first key
629
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] Merging batches into final cert...');
626
+ Helpers__NS__info('[vpn-split] Merging batches into final cert...');
630
627
  const firstKey = tempKeyFiles[0];
631
- lib_prod_3.fse.copySync(firstKey, keyPath); // Use the first key (all are identical)
628
+ fse.copySync(firstKey, keyPath); // Use the first key (all are identical)
632
629
  // Concat all certs (mkcert output is already PEM-formatted)
633
630
  const mergedCertContent = tempCertFiles
634
- .map(f => lib_prod_3.fse.readFileSync(f, 'utf8'))
631
+ .map(f => fse.readFileSync(f, 'utf8'))
635
632
  .join('\n'); // PEM certs stack nicely
636
- lib_prod_3.fse.writeFileSync(certPath, mergedCertContent);
633
+ fse.writeFileSync(certPath, mergedCertContent);
637
634
  // Clean up temps
638
- tempCertFiles.forEach(f => lib_prod_3.fse.removeSync(f));
639
- tempKeyFiles.slice(1).forEach(f => lib_prod_3.fse.removeSync(f)); // Keep first key as backup if needed
640
- (0, lib_prod_5.Helpers__NS__info)('[vpn-split] Merged cert ready!');
635
+ tempCertFiles.forEach(f => fse.removeSync(f));
636
+ tempKeyFiles.slice(1).forEach(f => fse.removeSync(f)); // Keep first key as backup if needed
637
+ Helpers__NS__info('[vpn-split] Merged cert ready!');
641
638
  }
642
639
  // Verify
643
- if (!lib_prod_3.fse.existsSync(certPath) || !lib_prod_3.fse.existsSync(keyPath)) {
644
- (0, lib_prod_5.Helpers__NS__error)('[vpn-split] Files missing after generation!', false, true);
640
+ if (!fse.existsSync(certPath) || !fse.existsSync(keyPath)) {
641
+ Helpers__NS__error('[vpn-split] Files missing after generation!', false, true);
645
642
  }
646
643
  else {
647
- (0, lib_prod_5.Helpers__NS__info)(`[vpn-split] Trusted cert ready: ${allNames.length} hostnames covered`);
644
+ Helpers__NS__info(`[vpn-split] Trusted cert ready: ${allNames.length} hostnames covered`);
648
645
  }
649
646
  //#endregion
650
647
  }
651
648
  //#region private methods / prevent bad target for client
652
649
  async preventBadTargetForClient(vpnServerTarget) {
653
650
  if (!vpnServerTarget) {
654
- const currentLocalIp = await (0, lib_prod_3.UtilsNetwork__NS__getFirstIpV4LocalActiveIpAddress)();
655
- (0, lib_prod_5.Helpers__NS__error)(`[vpn-server] Please provide a correct target server.\n` +
651
+ const currentLocalIp = await UtilsNetwork__NS__getFirstIpV4LocalActiveIpAddress();
652
+ Helpers__NS__error(`[vpn-server] Please provide a correct target server.\n` +
656
653
  `Example:\n` +
657
654
  `vpn-server ${currentLocalIp}\n\n` +
658
655
  `Your local IP is: ${currentLocalIp}`, false, true);
659
656
  }
660
657
  }
661
658
  }
662
- exports.VpnSplit = VpnSplit;
663
659
  //#region helper / gen msg
664
660
  const genMsg = `
665
661
  ################################################
@@ -670,36 +666,36 @@ const genMsg = `
670
666
  //#region helpers / save hosts
671
667
  function saveHosts(hosts, options) {
672
668
  const { saveHostInUserFolder } = options || {};
673
- if ((0, lib_prod_3.___NS__isArray)(hosts)) {
669
+ if (___NS__isArray(hosts)) {
674
670
  hosts = hosts.reduce((prev, curr) => {
675
- return (0, lib_prod_3.___NS__merge)(prev, {
671
+ return ___NS__merge(prev, {
676
672
  [curr.name]: curr,
677
673
  });
678
674
  }, {});
679
675
  }
680
676
  const toSave = parseHost(hosts, !!saveHostInUserFolder);
681
677
  if (saveHostInUserFolder) {
682
- (0, lib_prod_5.Helpers__NS__writeFile)(HOST_FILE_PATHUSER, toSave);
678
+ Helpers__NS__writeFile(HOST_FILE_PATHUSER, toSave);
683
679
  }
684
680
  else {
685
- (0, lib_prod_5.Helpers__NS__writeFile)(HOST_FILE_PATH, toSave);
681
+ Helpers__NS__writeFile(HOST_FILE_PATH, toSave);
686
682
  }
687
683
  }
688
684
  function saveHostsLocal(hosts, options) {
689
685
  const { saveHostInUserFolder } = options || {};
690
- if ((0, lib_prod_3.___NS__isArray)(hosts)) {
686
+ if (___NS__isArray(hosts)) {
691
687
  hosts = hosts.reduce((prev, curr) => {
692
- return (0, lib_prod_3.___NS__merge)(prev, {
688
+ return ___NS__merge(prev, {
693
689
  [curr.name]: curr,
694
690
  });
695
691
  }, {});
696
692
  }
697
693
  const toSave = parseHost(hosts, !!saveHostInUserFolder, true);
698
694
  if (saveHostInUserFolder) {
699
- (0, lib_prod_5.Helpers__NS__writeFile)(HOST_FILE_PATHUSER, toSave);
695
+ Helpers__NS__writeFile(HOST_FILE_PATHUSER, toSave);
700
696
  }
701
697
  else {
702
- (0, lib_prod_5.Helpers__NS__writeFile)(HOST_FILE_PATH, toSave);
698
+ Helpers__NS__writeFile(HOST_FILE_PATH, toSave);
703
699
  }
704
700
  }
705
701
  //#endregion
@@ -710,13 +706,13 @@ function parseHost(hosts, saveHostInUserFolder, useLocal = false) {
710
706
  ...DefaultEtcHosts,
711
707
  ...hosts,
712
708
  };
713
- (0, lib_prod_3.___NS__keys)(hosts).forEach(hostName => {
709
+ ___NS__keys(hosts).forEach(hostName => {
714
710
  const v = hosts[hostName];
715
711
  v.name = hostName;
716
712
  });
717
713
  return (genMsg +
718
714
  EOL +
719
- (0, lib_prod_3.___NS__keys)(hosts)
715
+ ___NS__keys(hosts)
720
716
  .map(hostName => {
721
717
  const v = hosts[hostName];
722
718
  if (v.skipUpdateOfServerEtcHosts) {
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vpn-split",
3
- "version": "21.0.22",
3
+ "version": "21.0.23",
4
4
  "scripts": {
5
5
  "taon init": "taon init",
6
6
  "taon start": "taon start",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vpn-split/websql",
3
- "version": "21.0.22",
3
+ "version": "21.0.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vpn-split/websql-prod",
3
- "version": "21.0.22",
3
+ "version": "21.0.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"