vpn-split 21.0.11 → 21.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/fesm2022/vpn-split-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser-prod/README.md +24 -0
- package/browser-prod/fesm2022/vpn-split-browser.mjs +187 -0
- package/browser-prod/fesm2022/vpn-split-browser.mjs.map +1 -0
- package/browser-prod/types/vpn-split-browser.d.ts +65 -0
- package/lib/build-info._auto-generated_.d.ts +5 -1
- package/lib/build-info._auto-generated_.js +6 -2
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/env/env.angular-node-app.d.ts +30 -30
- package/lib/env/env.angular-node-app.js +32 -32
- package/lib/env/env.angular-node-app.js.map +1 -1
- package/lib/env/env.docs-webapp.d.ts +30 -30
- package/lib/env/env.docs-webapp.js +32 -32
- package/lib/env/env.docs-webapp.js.map +1 -1
- package/lib/env/env.electron-app.d.ts +30 -30
- package/lib/env/env.electron-app.js +32 -32
- package/lib/env/env.electron-app.js.map +1 -1
- package/lib/env/env.mobile-app.d.ts +30 -30
- package/lib/env/env.mobile-app.js +32 -32
- package/lib/env/env.mobile-app.js.map +1 -1
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +30 -30
- package/lib/env/env.npm-lib-and-cli-tool.js +32 -32
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib/env/env.vscode-plugin.d.ts +30 -30
- package/lib/env/env.vscode-plugin.js +32 -32
- package/lib/env/env.vscode-plugin.js.map +1 -1
- package/lib/index._auto-generated_.js +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/mkcert.d.ts +0 -0
- package/lib/mkcert.js +5 -0
- package/lib/mkcert.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +30 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +64 -0
- package/lib-prod/env/env.angular-node-app.js +71 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +64 -0
- package/lib-prod/env/env.docs-webapp.js +71 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +64 -0
- package/lib-prod/env/env.electron-app.js +71 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +64 -0
- package/lib-prod/env/env.mobile-app.js +71 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
- package/lib-prod/env/env.vscode-plugin.js +71 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +23 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/hostile.backend.d.ts +37 -0
- package/lib-prod/hostile.backend.js +122 -0
- package/lib-prod/hostile.backend.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js +6 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +2 -0
- package/lib-prod/index.js +21 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/models.d.ts +61 -0
- package/lib-prod/models.js +182 -0
- package/lib-prod/models.js.map +1 -0
- package/lib-prod/start.backend.d.ts +0 -0
- package/lib-prod/start.backend.js +24 -0
- package/lib-prod/start.backend.js.map +1 -0
- package/lib-prod/vpn-split.backend.d.ts +56 -0
- package/lib-prod/vpn-split.backend.js +742 -0
- package/lib-prod/vpn-split.backend.js.map +1 -0
- package/package.json +1 -1
- package/package.json_devDependencies.json +222 -0
- package/package.json_tnp.json5 +44 -0
- package/tmp-environment.json +8 -4
- package/websql/fesm2022/vpn-split-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/README.md +24 -0
- package/websql-prod/fesm2022/vpn-split-websql.mjs +187 -0
- package/websql-prod/fesm2022/vpn-split-websql.mjs.map +1 -0
- package/websql-prod/types/vpn-split-websql.d.ts +65 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* @deprecated
|
|
3
|
+
* use normal objects
|
|
4
|
+
*/
|
|
5
|
+
export type EtcHosts = {
|
|
6
|
+
[hostName in string]: HostForServer;
|
|
7
|
+
};
|
|
8
|
+
/***
|
|
9
|
+
* @deprecated
|
|
10
|
+
* use normal objects
|
|
11
|
+
*/
|
|
12
|
+
export type IEtcHosts = {
|
|
13
|
+
[hostName in string]: Partial<Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>>;
|
|
14
|
+
};
|
|
15
|
+
export interface OptHostForServer {
|
|
16
|
+
ip?: string;
|
|
17
|
+
domain?: string;
|
|
18
|
+
ipOrDomain?: string;
|
|
19
|
+
environmentName?: string;
|
|
20
|
+
aliases?: string[];
|
|
21
|
+
skipUpdateOfServerEtcHosts?: boolean;
|
|
22
|
+
isDefault?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* ip from command: vpn-cli 192.168.1.1 192.168.1.2
|
|
25
|
+
*/
|
|
26
|
+
originHostname?: string;
|
|
27
|
+
name?: string;
|
|
28
|
+
/**
|
|
29
|
+
* if true - ip and domain will output empty string
|
|
30
|
+
*/
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare class HostForServer implements OptHostForServer {
|
|
34
|
+
private _data;
|
|
35
|
+
clone(): HostForServer;
|
|
36
|
+
static From(ipOrDomain: string | URL | Pick<OptHostForServer | HostForServer, 'ipOrDomain' | 'aliases' | 'originHostname' | 'skipUpdateOfServerEtcHosts'>, name?: string, disabled?: boolean): HostForServer;
|
|
37
|
+
constructor(data: OptHostForServer);
|
|
38
|
+
get ip(): string;
|
|
39
|
+
set ip(newIpAddress: string);
|
|
40
|
+
get domain(): string;
|
|
41
|
+
get aliases(): string[];
|
|
42
|
+
get firstAlias(): string;
|
|
43
|
+
get name(): string;
|
|
44
|
+
set name(v: string);
|
|
45
|
+
get originHostname(): string;
|
|
46
|
+
set originHostname(v: string);
|
|
47
|
+
get disabled(): boolean;
|
|
48
|
+
get isDefault(): boolean;
|
|
49
|
+
get identifier(): string;
|
|
50
|
+
set disabled(v: boolean);
|
|
51
|
+
get environmentName(): string;
|
|
52
|
+
get skipUpdateOfServerEtcHosts(): boolean;
|
|
53
|
+
set skipUpdateOfServerEtcHosts(v: boolean);
|
|
54
|
+
get ipOrDomain(): string;
|
|
55
|
+
get ipOrFirstAlias(): string;
|
|
56
|
+
get hostname(): string;
|
|
57
|
+
get hostnameFirstAlias(): string;
|
|
58
|
+
get hostnameIp(): string;
|
|
59
|
+
get nameWithIpOrDomain(): string;
|
|
60
|
+
toString: () => string;
|
|
61
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HostForServer = void 0;
|
|
4
|
+
//#region imports
|
|
5
|
+
const lib_prod_1 = require("tnp-core/lib-prod");
|
|
6
|
+
const lib_prod_2 = require("tnp-helpers/lib-prod");
|
|
7
|
+
class HostForServer {
|
|
8
|
+
_data;
|
|
9
|
+
clone() {
|
|
10
|
+
return HostForServer.From(this);
|
|
11
|
+
}
|
|
12
|
+
static From(ipOrDomain, name = '', disabled = false) {
|
|
13
|
+
if (!ipOrDomain) {
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
if (lib_prod_1._.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
17
|
+
const dataClone = lib_prod_1._.cloneDeep(ipOrDomain._data);
|
|
18
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
19
|
+
if (!lib_prod_1._.isBoolean(dataClone.disabled)) {
|
|
20
|
+
dataClone.disabled = disabled;
|
|
21
|
+
}
|
|
22
|
+
return new HostForServer(dataClone);
|
|
23
|
+
}
|
|
24
|
+
if (lib_prod_1._.isString(ipOrDomain)) {
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
const parsed = lib_prod_1.UtilsNetwork.urlParse(ipOrDomain);
|
|
27
|
+
if (parsed) {
|
|
28
|
+
ipOrDomain = parsed;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (lib_prod_1._.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
32
|
+
ipOrDomain = ipOrDomain;
|
|
33
|
+
if (lib_prod_1.UtilsNetwork.isValidIp(ipOrDomain?.host)) {
|
|
34
|
+
return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (lib_prod_1._.isString(ipOrDomain)) {
|
|
42
|
+
return new HostForServer({ ipOrDomain, name, disabled });
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
ipOrDomain.name =
|
|
46
|
+
name && name.trim() !== ''
|
|
47
|
+
? name
|
|
48
|
+
: ipOrDomain.name;
|
|
49
|
+
if (!lib_prod_1._.isBoolean(ipOrDomain.disabled)) {
|
|
50
|
+
ipOrDomain.disabled = disabled;
|
|
51
|
+
}
|
|
52
|
+
return new HostForServer(ipOrDomain);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
constructor(data) {
|
|
57
|
+
if (data?.ipOrDomain) {
|
|
58
|
+
if (lib_prod_1.UtilsNetwork.isValidIp(data.ipOrDomain)) {
|
|
59
|
+
data.ip = data.ipOrDomain;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
data.domain = data.ipOrDomain;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (data && !data.ip) {
|
|
66
|
+
data.ip = '';
|
|
67
|
+
}
|
|
68
|
+
if (data && !data.domain) {
|
|
69
|
+
data.domain = '';
|
|
70
|
+
}
|
|
71
|
+
if (!data) {
|
|
72
|
+
data = {};
|
|
73
|
+
}
|
|
74
|
+
if (lib_prod_1._.isString(data?.aliases)) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
data.aliases = lib_prod_2.Helpers.strings.splitIfNeed(data.aliases);
|
|
77
|
+
}
|
|
78
|
+
this._data = data;
|
|
79
|
+
}
|
|
80
|
+
get ip() {
|
|
81
|
+
if (this.disabled) {
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
return this._data.ip;
|
|
85
|
+
}
|
|
86
|
+
set ip(newIpAddress) {
|
|
87
|
+
this._data.ip = newIpAddress;
|
|
88
|
+
}
|
|
89
|
+
get domain() {
|
|
90
|
+
if (this.disabled) {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
return this._data.domain;
|
|
94
|
+
}
|
|
95
|
+
get aliases() {
|
|
96
|
+
if (this.disabled) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
if (lib_prod_1._.isString(this._data.aliases)) {
|
|
100
|
+
return this._data.aliases.split(' ');
|
|
101
|
+
}
|
|
102
|
+
if (!lib_prod_1._.isArray(this._data.aliases)) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
return this._data.aliases;
|
|
106
|
+
}
|
|
107
|
+
get firstAlias() {
|
|
108
|
+
return lib_prod_1._.first(this.aliases);
|
|
109
|
+
}
|
|
110
|
+
get name() {
|
|
111
|
+
return this._data.name;
|
|
112
|
+
}
|
|
113
|
+
set name(v) {
|
|
114
|
+
this._data.name = v;
|
|
115
|
+
}
|
|
116
|
+
get originHostname() {
|
|
117
|
+
return this._data.originHostname;
|
|
118
|
+
}
|
|
119
|
+
set originHostname(v) {
|
|
120
|
+
this._data.originHostname = v;
|
|
121
|
+
}
|
|
122
|
+
get disabled() {
|
|
123
|
+
return this._data.disabled;
|
|
124
|
+
}
|
|
125
|
+
get isDefault() {
|
|
126
|
+
return this._data.isDefault;
|
|
127
|
+
}
|
|
128
|
+
get identifier() {
|
|
129
|
+
return lib_prod_1._.kebabCase(this._data.name);
|
|
130
|
+
}
|
|
131
|
+
set disabled(v) {
|
|
132
|
+
this._data.disabled = v;
|
|
133
|
+
}
|
|
134
|
+
get environmentName() {
|
|
135
|
+
return this._data.environmentName || '';
|
|
136
|
+
}
|
|
137
|
+
get skipUpdateOfServerEtcHosts() {
|
|
138
|
+
return this._data.skipUpdateOfServerEtcHosts || false;
|
|
139
|
+
}
|
|
140
|
+
set skipUpdateOfServerEtcHosts(v) {
|
|
141
|
+
this._data.skipUpdateOfServerEtcHosts = v;
|
|
142
|
+
}
|
|
143
|
+
get ipOrDomain() {
|
|
144
|
+
if (this.disabled) {
|
|
145
|
+
return '';
|
|
146
|
+
}
|
|
147
|
+
const res = (this.domain ? this.domain : this.ip) || '';
|
|
148
|
+
return res;
|
|
149
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
150
|
+
}
|
|
151
|
+
get ipOrFirstAlias() {
|
|
152
|
+
if (this.disabled) {
|
|
153
|
+
return '';
|
|
154
|
+
}
|
|
155
|
+
const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
|
|
156
|
+
return res;
|
|
157
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
158
|
+
}
|
|
159
|
+
get hostname() {
|
|
160
|
+
// @ts-ignore
|
|
161
|
+
const h = lib_prod_1.UtilsNetwork.urlParse(this.ipOrFirstAlias, { forceDomain: true });
|
|
162
|
+
return h ? h.hostname : void 0;
|
|
163
|
+
}
|
|
164
|
+
get hostnameFirstAlias() {
|
|
165
|
+
// @ts-ignore
|
|
166
|
+
const h = lib_prod_1.UtilsNetwork.urlParse(this.firstAlias, { forceDomain: true });
|
|
167
|
+
return h ? h.hostname : void 0;
|
|
168
|
+
}
|
|
169
|
+
get hostnameIp() {
|
|
170
|
+
// @ts-ignore
|
|
171
|
+
const h = lib_prod_1.UtilsNetwork.urlParse(this.ip);
|
|
172
|
+
return h ? h.hostname : void 0;
|
|
173
|
+
}
|
|
174
|
+
get nameWithIpOrDomain() {
|
|
175
|
+
return lib_prod_1.chalk.underline(`${this.name} ${this.ipOrDomain}`);
|
|
176
|
+
}
|
|
177
|
+
toString = () => {
|
|
178
|
+
return `[string version] ${this.nameWithIpOrDomain}`;
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
exports.HostForServer = HostForServer;
|
|
182
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region @backend
|
|
2
|
+
// import { Helpers } from 'tnp-helpers';
|
|
3
|
+
// import { VpnSplit } from './vpn-split.backend';
|
|
4
|
+
// import { EtcHosts, HostForServer } from './models.backend';
|
|
5
|
+
// const TO_DELETE = {} as EtcHosts;
|
|
6
|
+
// export async function run(args: string[]) {
|
|
7
|
+
// Helpers.clearConsole();
|
|
8
|
+
// const { local }: { local: boolean } = require('minimist')(args);
|
|
9
|
+
// const saveHostInUserFolder = !!local;
|
|
10
|
+
// args = args.join(' ').replace('--local', '').split(' ');
|
|
11
|
+
// const ins = await VpnSplit.Instance({
|
|
12
|
+
// additionalDefaultHosts: TO_DELETE,
|
|
13
|
+
// allowNotSudo: !!saveHostInUserFolder
|
|
14
|
+
// });
|
|
15
|
+
// if (args.join().trim() === '') {
|
|
16
|
+
// await ins.startServer(saveHostInUserFolder);
|
|
17
|
+
// } else {
|
|
18
|
+
// // await ins.startClient(args.split Helpers.urlParse(args.shift()));
|
|
19
|
+
// await ins.startClient(args.map(arg => Helpers.urlParse(arg)));
|
|
20
|
+
// }
|
|
21
|
+
// process.stdin.resume();
|
|
22
|
+
// }
|
|
23
|
+
//#endregion
|
|
24
|
+
//# sourceMappingURL=start.backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,kBAAkB;AAClB,yCAAyC;AACzC,kDAAkD;AAClD,8DAA8D;AAE9D,oCAAoC;AAEpC,8CAA8C;AAC9C,4BAA4B;AAC5B,qEAAqE;AACrE,0CAA0C;AAC1C,6DAA6D;AAE7D,0CAA0C;AAC1C,yCAAyC;AACzC,2CAA2C;AAC3C,QAAQ;AAER,qCAAqC;AACrC,mDAAmD;AACnD,aAAa;AACb,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM;AAEN,4BAA4B;AAC5B,IAAI;AACJ,YAAY"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { URL } from 'url';
|
|
2
|
+
import { EtcHosts, HostForServer } from './models';
|
|
3
|
+
export declare class VpnSplit {
|
|
4
|
+
private portsToPass;
|
|
5
|
+
private hosts;
|
|
6
|
+
private cwd;
|
|
7
|
+
get hostsArr(): HostForServer[];
|
|
8
|
+
get hostsArrWithoutDefault(): HostForServer[];
|
|
9
|
+
private get serveKeyName();
|
|
10
|
+
private get serveKeyPath();
|
|
11
|
+
private get serveCertName();
|
|
12
|
+
private get serveCertPath();
|
|
13
|
+
private get serveCertChainName();
|
|
14
|
+
private get serveCertChainPath();
|
|
15
|
+
private readonly __hostile;
|
|
16
|
+
private static _instances;
|
|
17
|
+
private constructor();
|
|
18
|
+
static Instance({ ports, additionalDefaultHosts, cwd, allowNotSudo, }?: {
|
|
19
|
+
ports?: number[];
|
|
20
|
+
additionalDefaultHosts?: EtcHosts;
|
|
21
|
+
cwd?: string;
|
|
22
|
+
allowNotSudo?: boolean;
|
|
23
|
+
}): Promise<VpnSplit>;
|
|
24
|
+
startServer(saveHostInUserFolder?: boolean): Promise<void>;
|
|
25
|
+
applyHosts(hosts: EtcHosts): void;
|
|
26
|
+
applyHostsLocal(hosts: EtcHosts): void;
|
|
27
|
+
startClient(vpnServerTargets: URL[] | URL, options: {
|
|
28
|
+
saveHostInUserFolder?: boolean;
|
|
29
|
+
useHost?: EtcHosts;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
private getRemoteHosts;
|
|
32
|
+
private createCertificateIfNotExists;
|
|
33
|
+
private getTarget;
|
|
34
|
+
private getProxyConfig;
|
|
35
|
+
private getNotFoundMsg;
|
|
36
|
+
private getMaybeChangeOriginTrueMsg;
|
|
37
|
+
private filterHeaders;
|
|
38
|
+
private isHttpsPort;
|
|
39
|
+
private serverPassthrough;
|
|
40
|
+
private clientPassthrough;
|
|
41
|
+
/**
|
|
42
|
+
* Start a UDP socket for “server” mode on a given port.
|
|
43
|
+
* This example forwards inbound messages right back to the sender,
|
|
44
|
+
* or you can forward them to an external IP:port if desired.
|
|
45
|
+
*/
|
|
46
|
+
private serverUdpPassthrough;
|
|
47
|
+
/**
|
|
48
|
+
* Start a UDP socket for “client” mode on a given port.
|
|
49
|
+
* This example also just does a trivial pass-through or echo,
|
|
50
|
+
* but you can adapt to forward to a remote server.
|
|
51
|
+
*/
|
|
52
|
+
private clientUdpPassthrough;
|
|
53
|
+
private getPortFromRequest;
|
|
54
|
+
private ensureMkcertCertificate;
|
|
55
|
+
private preventBadTargetForClient;
|
|
56
|
+
}
|