vpn-split 18.0.18 → 18.0.20
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/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/hostile.backend.js +25 -31
- package/lib/hostile.backend.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js +16 -3
- package/lib/index.js.map +1 -1
- package/lib/models.d.ts +3 -1
- package/lib/models.js +140 -193
- package/lib/models.js.map +1 -1
- package/lib/start.backend.d.ts +1 -0
- package/lib/start.backend.js.map +1 -1
- package/lib/vpn-split.backend.d.ts +18 -22
- package/lib/vpn-split.backend.js +469 -547
- package/lib/vpn-split.backend.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +8 -44
- package/src.d.ts +1 -1
- package/taon.jsonc +33 -33
- package/tmp-environment.json +8 -375
- 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
- package/browser/package.json +0 -25
- package/websql/package.json +0 -25
|
@@ -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":"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"}
|
|
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":";;;MAuCa,aAAa,CAAA;IAGjB,KAAK,GAAA;AACV,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGjC,OAAO,IAAI,CACT,UAMK,EACL,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,KAAK,EAAA;QAEhB,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;YACnE,SAAS,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI;YACnE,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;;AAErC,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;;YAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC3C,IAAI,MAAM,EAAE;gBACV,UAAU,GAAG,MAAa;;;QAI9B,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,GAAG,EAAE;AACvD,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;AACnC,oBAAA,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK;AACtB,0BAAE;AACF,0BAAG,UAA+B,CAAC,IAAI;gBAC3C,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;;;;AAIjD,IAAA,WAAA,CAAY,IAAsB,EAAA;QA6HlC,IAAQ,CAAA,QAAA,GAAG,MAAK;AACd,YAAA,OAAO,CAAoB,iBAAA,EAAA,IAAI,CAAC,kBAAkB,EAAE;AACtD,SAAC;AA9HC,QAAA,IAAI,IAAI,EAAE,UAAU,EAAE;;YAEpB,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;;AAE7B,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,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE;;AAEzC,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;;AAEjB,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;;AAE3B,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;;QAEnB,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;AAEA;AAAC,CAAC,EAAE,EAAE;;ACjOP;AACA;AAGC;AAAC,CAAC,EAAE,EAAE;;;ACPP;;AAEG;;;;"}
|
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/index.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
tslib_1.__exportStar(require("./lib"), exports);
|
|
17
|
+
__exportStar(require("./lib"), exports);
|
|
5
18
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/build-info._auto-generated_.ts"],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
|
package/lib/hostile.backend.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Hostile = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function Hostile() {
|
|
8
|
-
}
|
|
4
|
+
const hostile = require("hostile");
|
|
5
|
+
const tnp_core_1 = require("tnp-core");
|
|
6
|
+
class Hostile {
|
|
9
7
|
/**
|
|
10
8
|
* Display all current ip records
|
|
11
9
|
*/
|
|
12
|
-
|
|
10
|
+
list() {
|
|
13
11
|
var lines;
|
|
14
12
|
try {
|
|
15
13
|
lines = hostile.get(false);
|
|
@@ -17,7 +15,7 @@ var Hostile = /** @class */ (function () {
|
|
|
17
15
|
catch (err) {
|
|
18
16
|
return this.error(err);
|
|
19
17
|
}
|
|
20
|
-
lines.forEach(
|
|
18
|
+
lines.forEach((item) => {
|
|
21
19
|
if (item.length > 1) {
|
|
22
20
|
console.log(item[0], tnp_core_1.chalk.green(item[1]));
|
|
23
21
|
}
|
|
@@ -25,13 +23,13 @@ var Hostile = /** @class */ (function () {
|
|
|
25
23
|
console.log(item);
|
|
26
24
|
}
|
|
27
25
|
});
|
|
28
|
-
}
|
|
26
|
+
}
|
|
29
27
|
/**
|
|
30
28
|
* Set a new host
|
|
31
29
|
* @param {string} ip
|
|
32
30
|
* @param {string} host
|
|
33
31
|
*/
|
|
34
|
-
|
|
32
|
+
set(ip, host) {
|
|
35
33
|
if (!ip || !host) {
|
|
36
34
|
return this.error('Invalid syntax: hostile set <ip> <host>');
|
|
37
35
|
}
|
|
@@ -48,13 +46,12 @@ var Hostile = /** @class */ (function () {
|
|
|
48
46
|
return this.error('Error: ' + err.message + '. Are you running as root?');
|
|
49
47
|
}
|
|
50
48
|
console.log(tnp_core_1.chalk.green('Added ' + host));
|
|
51
|
-
}
|
|
49
|
+
}
|
|
52
50
|
/**
|
|
53
51
|
* Remove a host
|
|
54
52
|
* @param {string} host
|
|
55
53
|
*/
|
|
56
|
-
|
|
57
|
-
var _this = this;
|
|
54
|
+
remove(host) {
|
|
58
55
|
var lines;
|
|
59
56
|
try {
|
|
60
57
|
lines = hostile.get(false);
|
|
@@ -62,47 +59,45 @@ var Hostile = /** @class */ (function () {
|
|
|
62
59
|
catch (err) {
|
|
63
60
|
return this.error(err);
|
|
64
61
|
}
|
|
65
|
-
lines.forEach(
|
|
62
|
+
lines.forEach((item) => {
|
|
66
63
|
if (item[1] === host) {
|
|
67
64
|
try {
|
|
68
65
|
hostile.remove(item[0], host);
|
|
69
66
|
}
|
|
70
67
|
catch (err) {
|
|
71
|
-
return
|
|
68
|
+
return this.error('Error: ' + err.message + '. Are you running as root?');
|
|
72
69
|
}
|
|
73
70
|
console.log(tnp_core_1.chalk.green('Removed ' + host));
|
|
74
71
|
}
|
|
75
72
|
});
|
|
76
|
-
}
|
|
73
|
+
}
|
|
77
74
|
/**
|
|
78
75
|
* Load hosts given a file
|
|
79
76
|
* @param {string} filePath
|
|
80
77
|
*/
|
|
81
|
-
|
|
82
|
-
var _this = this;
|
|
78
|
+
load(filePath) {
|
|
83
79
|
var lines = this.parseFile(filePath);
|
|
84
|
-
lines.forEach(
|
|
85
|
-
|
|
80
|
+
lines.forEach((item) => {
|
|
81
|
+
this.set(item[0], item[1]);
|
|
86
82
|
});
|
|
87
83
|
console.log(tnp_core_1.chalk.green('\nAdded %d hosts!'), lines.length);
|
|
88
|
-
}
|
|
84
|
+
}
|
|
89
85
|
/**
|
|
90
86
|
* Remove hosts given a file
|
|
91
87
|
* @param {string} filePath
|
|
92
88
|
*/
|
|
93
|
-
|
|
94
|
-
var _this = this;
|
|
89
|
+
unload(filePath) {
|
|
95
90
|
var lines = this.parseFile(filePath);
|
|
96
|
-
lines.forEach(
|
|
97
|
-
|
|
91
|
+
lines.forEach((item) => {
|
|
92
|
+
this.remove(item[1]);
|
|
98
93
|
});
|
|
99
94
|
console.log(tnp_core_1.chalk.green('Removed %d hosts!'), lines.length);
|
|
100
|
-
}
|
|
95
|
+
}
|
|
101
96
|
/**
|
|
102
97
|
* Get all the lines of the file as array of arrays [[IP, host]]
|
|
103
98
|
* @param {string} filePath
|
|
104
99
|
*/
|
|
105
|
-
|
|
100
|
+
parseFile(filePath) {
|
|
106
101
|
var lines;
|
|
107
102
|
try {
|
|
108
103
|
lines = hostile.getFile(filePath, false);
|
|
@@ -111,16 +106,15 @@ var Hostile = /** @class */ (function () {
|
|
|
111
106
|
return this.error(err);
|
|
112
107
|
}
|
|
113
108
|
return lines;
|
|
114
|
-
}
|
|
109
|
+
}
|
|
115
110
|
/**
|
|
116
111
|
* Print an error and exit the program
|
|
117
112
|
* @param {string} message
|
|
118
113
|
*/
|
|
119
|
-
|
|
114
|
+
error(err) {
|
|
120
115
|
console.error(tnp_core_1.chalk.red(err.message || err));
|
|
121
116
|
process.exit(-1);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
}());
|
|
117
|
+
}
|
|
118
|
+
}
|
|
125
119
|
exports.Hostile = Hostile;
|
|
126
120
|
//# sourceMappingURL=hostile.backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostile.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"hostile.backend.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/hostile.backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,2BAA2B;AAC3B,uDAAuD;AACvD,2CAA2C"}
|
|
1
|
+
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/index._auto-generated_.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,2BAA2B;AAC3B,uDAAuD;AACvD,2CAA2C"}
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
tslib_1.__exportStar(require("./models"), exports);
|
|
17
|
+
__exportStar(require("./models"), exports);
|
|
5
18
|
//#region @backend
|
|
6
|
-
|
|
19
|
+
__exportStar(require("./vpn-split.backend"), exports);
|
|
7
20
|
//#endregion
|
|
8
21
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kBAAkB;AAClB,sDAAoC;AACpC,YAAY"}
|
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;
|