vpn-split 18.0.18 → 18.0.19
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/assets/shared/shared_folder_info.txt +1 -1
- package/bin/vpn-split +11 -11
- package/bin/vpn-split-debug +11 -11
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/models.mjs +19 -9
- package/browser/fesm2022/vpn-split.mjs +18 -8
- package/browser/fesm2022/vpn-split.mjs.map +1 -1
- package/browser/lib/models.d.ts +3 -1
- package/client/README.md +24 -24
- package/client/esm2022/lib/models.mjs +19 -9
- package/client/fesm2022/vpn-split.mjs +18 -8
- package/client/fesm2022/vpn-split.mjs.map +1 -1
- package/client/lib/models.d.ts +3 -1
- package/lib/models.d.ts +3 -1
- package/lib/models.js +22 -8
- package/lib/models.js.map +1 -1
- package/lib/vpn-split.backend.d.ts +18 -22
- package/lib/vpn-split.backend.js +292 -206
- package/lib/vpn-split.backend.js.map +1 -1
- package/package.json +3 -3
- package/taon.jsonc +33 -33
- package/tmp-environment.json +29 -29
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/models.mjs +19 -9
- package/websql/fesm2022/vpn-split.mjs +18 -8
- package/websql/fesm2022/vpn-split.mjs.map +1 -1
- package/websql/lib/models.d.ts +3 -1
|
@@ -11,20 +11,20 @@ class HostForServer {
|
|
|
11
11
|
}
|
|
12
12
|
if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
13
13
|
const dataClone = _.cloneDeep(ipOrDomain._data);
|
|
14
|
-
dataClone.name =
|
|
15
|
-
name : dataClone.name;
|
|
14
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
16
15
|
if (!_.isBoolean(dataClone.disabled)) {
|
|
17
16
|
dataClone.disabled = disabled;
|
|
18
17
|
}
|
|
19
18
|
return new HostForServer(dataClone);
|
|
20
19
|
}
|
|
21
|
-
if (_.isString(ipOrDomain)) {
|
|
20
|
+
if (_.isString(ipOrDomain)) {
|
|
21
|
+
// @ts-ignore
|
|
22
22
|
const parsed = Helpers.urlParse(ipOrDomain);
|
|
23
23
|
if (parsed) {
|
|
24
24
|
ipOrDomain = parsed;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
if (_.isObject(ipOrDomain) &&
|
|
27
|
+
if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
28
28
|
ipOrDomain = ipOrDomain; // @ts-ignore
|
|
29
29
|
if (Helpers.isValidIp(ipOrDomain?.host)) {
|
|
30
30
|
return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
|
|
@@ -38,8 +38,10 @@ class HostForServer {
|
|
|
38
38
|
return new HostForServer({ ipOrDomain, name, disabled });
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
41
|
-
ipOrDomain.name =
|
|
42
|
-
name
|
|
41
|
+
ipOrDomain.name =
|
|
42
|
+
name && name.trim() !== ''
|
|
43
|
+
? name
|
|
44
|
+
: ipOrDomain.name;
|
|
43
45
|
if (!_.isBoolean(ipOrDomain.disabled)) {
|
|
44
46
|
ipOrDomain.disabled = disabled;
|
|
45
47
|
}
|
|
@@ -51,7 +53,8 @@ class HostForServer {
|
|
|
51
53
|
this.toString = () => {
|
|
52
54
|
return `[string version] ${this.nameWithIpOrDomain}`;
|
|
53
55
|
};
|
|
54
|
-
if (data?.ipOrDomain) {
|
|
56
|
+
if (data?.ipOrDomain) {
|
|
57
|
+
// @ts-ignore
|
|
55
58
|
if (Helpers.isValidIp(data.ipOrDomain)) {
|
|
56
59
|
data.ip = data.ipOrDomain;
|
|
57
60
|
}
|
|
@@ -68,7 +71,8 @@ class HostForServer {
|
|
|
68
71
|
if (!data) {
|
|
69
72
|
data = {};
|
|
70
73
|
}
|
|
71
|
-
if (_.isString(data?.aliases)) {
|
|
74
|
+
if (_.isString(data?.aliases)) {
|
|
75
|
+
// @ts-ignore
|
|
72
76
|
data.aliases = Helpers.strings.splitIfNeed(data.aliases);
|
|
73
77
|
}
|
|
74
78
|
this._data = data;
|
|
@@ -127,6 +131,9 @@ class HostForServer {
|
|
|
127
131
|
set disabled(v) {
|
|
128
132
|
this._data.disabled = v;
|
|
129
133
|
}
|
|
134
|
+
get environmentName() {
|
|
135
|
+
return this._data.environmentName || '';
|
|
136
|
+
}
|
|
130
137
|
get ipOrDomain() {
|
|
131
138
|
if (this.disabled) {
|
|
132
139
|
return '';
|
|
@@ -142,14 +149,17 @@ class HostForServer {
|
|
|
142
149
|
return res;
|
|
143
150
|
}
|
|
144
151
|
get hostname() {
|
|
152
|
+
// @ts-ignore
|
|
145
153
|
const h = Helpers.urlParse(this.ipOrFirstAlias, true);
|
|
146
154
|
return h ? h.hostname : void 0;
|
|
147
155
|
}
|
|
148
156
|
get hostnameFirstAlias() {
|
|
157
|
+
// @ts-ignore
|
|
149
158
|
const h = Helpers.urlParse(this.firstAlias, true);
|
|
150
159
|
return h ? h.hostname : void 0;
|
|
151
160
|
}
|
|
152
161
|
get hostnameIp() {
|
|
162
|
+
// @ts-ignore
|
|
153
163
|
const h = Helpers.urlParse(this.ip);
|
|
154
164
|
return h ? h.hostname : void 0;
|
|
155
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer; };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = { [hostName in string]: Pick<HostForServer, 'aliases' | 'ipOrDomain'>; };\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(ipOrDomain: string | URL | Pick<OptHostForServer | HostForServer, 'ipOrDomain' | 'aliases' | 'originHostname'>, name = '', disabled = false): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = (name && (name.trim() !== '')) ?\n name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) { // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && (ipOrDomain instanceof URL)) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name = (name && (name.trim() !== '')) ?\n name : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) { // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) { // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() { // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() { // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() { // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`\n }\n}\n\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAkCa,aAAa,CAAA;IAGjB,KAAK,GAAA;AACV,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGjC,OAAO,IAAI,CAAC,UAA8G,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAA;QACrJ,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,KAAK,CAAC;;QAEf,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,aAAa,EAAE;YACjE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAqB;AACnE,YAAA,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5C,gBAAA,IAAI,GAAG,SAAS,CAAC,IAAI;YACvB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACpC,gBAAA,SAAS,CAAC,QAAQ,GAAG,QAAQ;;AAE/B,YAAA,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC;;QAErC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC3C,IAAI,MAAM,EAAE;gBACV,UAAU,GAAG,MAAa;;;AAI9B,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,UAAU,YAAY,GAAG,CAAC,EAAE;AACzD,YAAA,UAAU,GAAG,UAAiB,CAAC;YAC/B,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;AACvC,gBAAA,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;iBAC9D;AACL,gBAAA,OAAO,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;;aAEpE;AACL,YAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC1B,OAAO,IAAI,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;iBACnD;AACJ,gBAAA,UAA+B,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACnE,oBAAA,IAAI,GAAI,UAA+B,CAAC,IAAI;gBAC9C,IAAI,CAAC,CAAC,CAAC,SAAS,CAAE,UAA+B,CAAC,QAAQ,CAAC,EAAE;AAC1D,oBAAA,UAA+B,CAAC,QAAQ,GAAG,QAAQ;;AAEtD,gBAAA,OAAO,IAAI,aAAa,CAAC,UAAiB,CAAC;;;;AAKjD,IAAA,WAAA,CAAY,IAAsB,EAAA;QAqHlC,IAAQ,CAAA,QAAA,GAAG,MAAK;AACd,YAAA,OAAO,CAAoB,iBAAA,EAAA,IAAI,CAAC,kBAAkB,EAAE;AACtD,SAAC;AAtHC,QAAA,IAAI,IAAI,EAAE,UAAU,EAAE;YACpB,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU;;iBACpB;AACL,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;;;AAGjC,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,EAAE,GAAG,EAAE;;AAEd,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;QAElB,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE;;QAEX,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE1D,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;AAEnB,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;;IAEtB,IAAW,EAAE,CAAC,YAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY;;AAE9B,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;;AAG1B,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;;AAEtC,QAAA,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAClC,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;;AAG3B,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;AAG9B,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;;IAExB,IAAW,IAAI,CAAC,CAAC,EAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;;AAGrB,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc;;IAElC,IAAW,cAAc,CAAC,CAAC,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC;;AAG/B,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;;AAE5B,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;;AAE7B,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;IAErC,IAAW,QAAQ,CAAC,CAAC,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;;AAEzB,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE;AACvD,QAAA,OAAO,GAAG;;AAIZ,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE;AAC/D,QAAA,OAAO,GAAG;;AAIZ,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AACrD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,kBAAkB,GAAA;AAC3B,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;AACjD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,UAAU,GAAA;QACnB,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACnC,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,kBAAkB,GAAA;AAC3B,QAAA,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,CAAA,CAAE,CAAC;;AAK5D;AAGA;AAAC,CAAC,EAAE,EAAE;;AC1MP;AACA;AAGC;AAAC,CAAC,EAAE,EAAE;;;ACPP;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/client/lib/models.d.ts
CHANGED
|
@@ -11,12 +11,13 @@ export type EtcHosts = {
|
|
|
11
11
|
* use normal objects
|
|
12
12
|
*/
|
|
13
13
|
export type IEtcHosts = {
|
|
14
|
-
[hostName in string]: Pick<HostForServer, 'aliases' | 'ipOrDomain'
|
|
14
|
+
[hostName in string]: Partial<Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>>;
|
|
15
15
|
};
|
|
16
16
|
export interface OptHostForServer {
|
|
17
17
|
ip?: string;
|
|
18
18
|
domain?: string;
|
|
19
19
|
ipOrDomain?: string;
|
|
20
|
+
environmentName?: string;
|
|
20
21
|
aliases?: string[];
|
|
21
22
|
isDefault?: boolean;
|
|
22
23
|
/**
|
|
@@ -47,6 +48,7 @@ export declare class HostForServer implements OptHostForServer {
|
|
|
47
48
|
get isDefault(): boolean;
|
|
48
49
|
get identifier(): string;
|
|
49
50
|
set disabled(v: boolean);
|
|
51
|
+
get environmentName(): string;
|
|
50
52
|
get ipOrDomain(): string;
|
|
51
53
|
get ipOrFirstAlias(): string;
|
|
52
54
|
get hostname(): string;
|
package/lib/models.d.ts
CHANGED
|
@@ -10,12 +10,13 @@ export type EtcHosts = {
|
|
|
10
10
|
* use normal objects
|
|
11
11
|
*/
|
|
12
12
|
export type IEtcHosts = {
|
|
13
|
-
[hostName in string]: Pick<HostForServer, 'aliases' | 'ipOrDomain'
|
|
13
|
+
[hostName in string]: Partial<Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>>;
|
|
14
14
|
};
|
|
15
15
|
export interface OptHostForServer {
|
|
16
16
|
ip?: string;
|
|
17
17
|
domain?: string;
|
|
18
18
|
ipOrDomain?: string;
|
|
19
|
+
environmentName?: string;
|
|
19
20
|
aliases?: string[];
|
|
20
21
|
isDefault?: boolean;
|
|
21
22
|
/**
|
|
@@ -46,6 +47,7 @@ export declare class HostForServer implements OptHostForServer {
|
|
|
46
47
|
get isDefault(): boolean;
|
|
47
48
|
get identifier(): string;
|
|
48
49
|
set disabled(v: boolean);
|
|
50
|
+
get environmentName(): string;
|
|
49
51
|
get ipOrDomain(): string;
|
|
50
52
|
get ipOrFirstAlias(): string;
|
|
51
53
|
get hostname(): string;
|
package/lib/models.js
CHANGED
|
@@ -9,7 +9,8 @@ var HostForServer = /** @class */ (function () {
|
|
|
9
9
|
this.toString = function () {
|
|
10
10
|
return "[string version] ".concat(_this.nameWithIpOrDomain);
|
|
11
11
|
};
|
|
12
|
-
if (data === null || data === void 0 ? void 0 : data.ipOrDomain) {
|
|
12
|
+
if (data === null || data === void 0 ? void 0 : data.ipOrDomain) {
|
|
13
|
+
// @ts-ignore
|
|
13
14
|
if (tnp_helpers_1.Helpers.isValidIp(data.ipOrDomain)) {
|
|
14
15
|
data.ip = data.ipOrDomain;
|
|
15
16
|
}
|
|
@@ -26,7 +27,8 @@ var HostForServer = /** @class */ (function () {
|
|
|
26
27
|
if (!data) {
|
|
27
28
|
data = {};
|
|
28
29
|
}
|
|
29
|
-
if (tnp_core_1._.isString(data === null || data === void 0 ? void 0 : data.aliases)) {
|
|
30
|
+
if (tnp_core_1._.isString(data === null || data === void 0 ? void 0 : data.aliases)) {
|
|
31
|
+
// @ts-ignore
|
|
30
32
|
data.aliases = tnp_helpers_1.Helpers.strings.splitIfNeed(data.aliases);
|
|
31
33
|
}
|
|
32
34
|
this._data = data;
|
|
@@ -42,20 +44,20 @@ var HostForServer = /** @class */ (function () {
|
|
|
42
44
|
}
|
|
43
45
|
if (tnp_core_1._.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
44
46
|
var dataClone = tnp_core_1._.cloneDeep(ipOrDomain._data);
|
|
45
|
-
dataClone.name =
|
|
46
|
-
name : dataClone.name;
|
|
47
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
47
48
|
if (!tnp_core_1._.isBoolean(dataClone.disabled)) {
|
|
48
49
|
dataClone.disabled = disabled;
|
|
49
50
|
}
|
|
50
51
|
return new HostForServer(dataClone);
|
|
51
52
|
}
|
|
52
|
-
if (tnp_core_1._.isString(ipOrDomain)) {
|
|
53
|
+
if (tnp_core_1._.isString(ipOrDomain)) {
|
|
54
|
+
// @ts-ignore
|
|
53
55
|
var parsed = tnp_helpers_1.Helpers.urlParse(ipOrDomain);
|
|
54
56
|
if (parsed) {
|
|
55
57
|
ipOrDomain = parsed;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
|
-
if (tnp_core_1._.isObject(ipOrDomain) &&
|
|
60
|
+
if (tnp_core_1._.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
59
61
|
ipOrDomain = ipOrDomain; // @ts-ignore
|
|
60
62
|
if (tnp_helpers_1.Helpers.isValidIp(ipOrDomain === null || ipOrDomain === void 0 ? void 0 : ipOrDomain.host)) {
|
|
61
63
|
return new HostForServer({ ip: ipOrDomain.origin, name: name, disabled: disabled });
|
|
@@ -69,8 +71,10 @@ var HostForServer = /** @class */ (function () {
|
|
|
69
71
|
return new HostForServer({ ipOrDomain: ipOrDomain, name: name, disabled: disabled });
|
|
70
72
|
}
|
|
71
73
|
else {
|
|
72
|
-
ipOrDomain.name =
|
|
73
|
-
name
|
|
74
|
+
ipOrDomain.name =
|
|
75
|
+
name && name.trim() !== ''
|
|
76
|
+
? name
|
|
77
|
+
: ipOrDomain.name;
|
|
74
78
|
if (!tnp_core_1._.isBoolean(ipOrDomain.disabled)) {
|
|
75
79
|
ipOrDomain.disabled = disabled;
|
|
76
80
|
}
|
|
@@ -168,6 +172,13 @@ var HostForServer = /** @class */ (function () {
|
|
|
168
172
|
enumerable: false,
|
|
169
173
|
configurable: true
|
|
170
174
|
});
|
|
175
|
+
Object.defineProperty(HostForServer.prototype, "environmentName", {
|
|
176
|
+
get: function () {
|
|
177
|
+
return this._data.environmentName || '';
|
|
178
|
+
},
|
|
179
|
+
enumerable: false,
|
|
180
|
+
configurable: true
|
|
181
|
+
});
|
|
171
182
|
Object.defineProperty(HostForServer.prototype, "ipOrDomain", {
|
|
172
183
|
get: function () {
|
|
173
184
|
if (this.disabled) {
|
|
@@ -194,6 +205,7 @@ var HostForServer = /** @class */ (function () {
|
|
|
194
205
|
});
|
|
195
206
|
Object.defineProperty(HostForServer.prototype, "hostname", {
|
|
196
207
|
get: function () {
|
|
208
|
+
// @ts-ignore
|
|
197
209
|
var h = tnp_helpers_1.Helpers.urlParse(this.ipOrFirstAlias, true);
|
|
198
210
|
return h ? h.hostname : void 0;
|
|
199
211
|
},
|
|
@@ -202,6 +214,7 @@ var HostForServer = /** @class */ (function () {
|
|
|
202
214
|
});
|
|
203
215
|
Object.defineProperty(HostForServer.prototype, "hostnameFirstAlias", {
|
|
204
216
|
get: function () {
|
|
217
|
+
// @ts-ignore
|
|
205
218
|
var h = tnp_helpers_1.Helpers.urlParse(this.firstAlias, true);
|
|
206
219
|
return h ? h.hostname : void 0;
|
|
207
220
|
},
|
|
@@ -210,6 +223,7 @@ var HostForServer = /** @class */ (function () {
|
|
|
210
223
|
});
|
|
211
224
|
Object.defineProperty(HostForServer.prototype, "hostnameIp", {
|
|
212
225
|
get: function () {
|
|
226
|
+
// @ts-ignore
|
|
213
227
|
var h = tnp_helpers_1.Helpers.urlParse(this.ip);
|
|
214
228
|
return h ? h.hostname : void 0;
|
|
215
229
|
},
|
package/lib/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,qCAAoC;AACpC,2CAAsC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { http } from 'tnp-core';
|
|
2
|
-
import * as express from 'express';
|
|
3
|
-
import * as httpProxy from 'http-proxy';
|
|
4
1
|
import { URL } from 'url';
|
|
5
2
|
import { EtcHosts, HostForServer } from './models';
|
|
6
3
|
export declare class VpnSplit {
|
|
@@ -26,31 +23,30 @@ export declare class VpnSplit {
|
|
|
26
23
|
}): Promise<VpnSplit>;
|
|
27
24
|
startServer(saveHostInUserFolder?: boolean): Promise<void>;
|
|
28
25
|
applyHosts(hosts: EtcHosts): void;
|
|
26
|
+
applyHostsLocal(hosts: EtcHosts): void;
|
|
29
27
|
startClient(vpnServerTargets: URL[] | URL, saveHostInUserFolder?: boolean): Promise<void>;
|
|
30
28
|
private getRemoteHosts;
|
|
31
29
|
private createCertificateIfNotExists;
|
|
32
|
-
getTarget
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}): string;
|
|
38
|
-
getProxyConfig({ req, res, port, hostname, isHttps, }: {
|
|
39
|
-
req: express.Request;
|
|
40
|
-
res: express.Response;
|
|
41
|
-
port: number;
|
|
42
|
-
hostname?: string;
|
|
43
|
-
isHttps: boolean;
|
|
44
|
-
}): httpProxy.ServerOptions;
|
|
45
|
-
private getGetRequestInfo;
|
|
46
|
-
getNotFoundMsg(req: express.Request, res: express.Response, port: number, type: 'client' | 'server'): string;
|
|
47
|
-
getMaybeChangeOriginTrueMs(req: express.Request, res: express.Response, port: number, type: 'client' | 'server'): string;
|
|
48
|
-
get headersToRemove(): any[];
|
|
49
|
-
filterHeaders(req: http.IncomingMessage & express.Request, res: http.ServerResponse & express.Response): void;
|
|
30
|
+
private getTarget;
|
|
31
|
+
private getProxyConfig;
|
|
32
|
+
private getNotFoundMsg;
|
|
33
|
+
private getMaybeChangeOriginTrueMsg;
|
|
34
|
+
private filterHeaders;
|
|
50
35
|
private isHttpsPort;
|
|
51
36
|
private serverPassthrough;
|
|
52
|
-
private resolveProperTarget;
|
|
53
37
|
private clientPassthrough;
|
|
38
|
+
/**
|
|
39
|
+
* Start a UDP socket for “server” mode on a given port.
|
|
40
|
+
* This example forwards inbound messages right back to the sender,
|
|
41
|
+
* or you can forward them to an external IP:port if desired.
|
|
42
|
+
*/
|
|
43
|
+
private serverUdpPassthrough;
|
|
44
|
+
/**
|
|
45
|
+
* Start a UDP socket for “client” mode on a given port.
|
|
46
|
+
* This example also just does a trivial pass-through or echo,
|
|
47
|
+
* but you can adapt to forward to a remote server.
|
|
48
|
+
*/
|
|
49
|
+
private clientUdpPassthrough;
|
|
54
50
|
private getPortFromRequest;
|
|
55
51
|
private preventBadTargetForClient;
|
|
56
52
|
}
|