vpn-split 21.0.19 → 21.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.
@@ -1,165 +1,175 @@
1
- import { chalk, ___NS__cloneDeep, ___NS__first, ___NS__isArray, ___NS__isBoolean, ___NS__isObject, ___NS__isString, ___NS__kebabCase, UtilsNetwork__NS__isValidIp, UtilsNetwork__NS__urlParse } from "tnp-core/lib-prod";
2
- import { HelpersTaon__NS__strings__NS__splitIfNeed } from "tnp-helpers/lib-prod";
3
- class HostForServer {
4
- _data;
5
- clone() {
6
- return HostForServer.From(this);
7
- }
8
- static From(ipOrDomain, name = "", disabled = false) {
9
- if (!ipOrDomain) {
10
- return void 0;
11
- }
12
- if (___NS__isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
13
- const dataClone = ___NS__cloneDeep(ipOrDomain._data);
14
- dataClone.name = name && name.trim() !== "" ? name : dataClone.name;
15
- if (!___NS__isBoolean(dataClone.disabled)) {
16
- dataClone.disabled = disabled;
17
- }
18
- return new HostForServer(dataClone);
19
- }
20
- if (___NS__isString(ipOrDomain)) {
21
- const parsed = UtilsNetwork__NS__urlParse(ipOrDomain);
22
- if (parsed) {
23
- ipOrDomain = parsed;
24
- }
25
- }
26
- if (___NS__isObject(ipOrDomain) && ipOrDomain instanceof URL) {
27
- ipOrDomain = ipOrDomain;
28
- if (UtilsNetwork__NS__isValidIp(ipOrDomain?.host)) {
29
- return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
30
- } else {
31
- return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
32
- }
33
- } else {
34
- if (___NS__isString(ipOrDomain)) {
35
- return new HostForServer({ ipOrDomain, name, disabled });
36
- } else {
37
- ipOrDomain.name = name && name.trim() !== "" ? name : ipOrDomain.name;
38
- if (!___NS__isBoolean(ipOrDomain.disabled)) {
39
- ipOrDomain.disabled = disabled;
40
- }
41
- return new HostForServer(ipOrDomain);
42
- }
43
- }
44
- }
45
- constructor(data) {
46
- if (data?.ipOrDomain) {
47
- if (UtilsNetwork__NS__isValidIp(data.ipOrDomain)) {
48
- data.ip = data.ipOrDomain;
49
- } else {
50
- data.domain = data.ipOrDomain;
51
- }
52
- }
53
- if (data && !data.ip) {
54
- data.ip = "";
55
- }
56
- if (data && !data.domain) {
57
- data.domain = "";
58
- }
59
- if (!data) {
60
- data = {};
61
- }
62
- if (___NS__isString(data?.aliases)) {
63
- data.aliases = HelpersTaon__NS__strings__NS__splitIfNeed(data.aliases);
64
- }
65
- this._data = data;
66
- }
67
- get ip() {
68
- if (this.disabled) {
69
- return "";
70
- }
71
- return this._data.ip;
72
- }
73
- set ip(newIpAddress) {
74
- this._data.ip = newIpAddress;
75
- }
76
- get domain() {
77
- if (this.disabled) {
78
- return "";
79
- }
80
- return this._data.domain;
81
- }
82
- get aliases() {
83
- if (this.disabled) {
84
- return [];
85
- }
86
- if (___NS__isString(this._data.aliases)) {
87
- return this._data.aliases.split(" ");
88
- }
89
- if (!___NS__isArray(this._data.aliases)) {
90
- return [];
91
- }
92
- return this._data.aliases;
93
- }
94
- get firstAlias() {
95
- return ___NS__first(this.aliases);
96
- }
97
- get name() {
98
- return this._data.name;
99
- }
100
- set name(v) {
101
- this._data.name = v;
102
- }
103
- get originHostname() {
104
- return this._data.originHostname;
105
- }
106
- set originHostname(v) {
107
- this._data.originHostname = v;
108
- }
109
- get disabled() {
110
- return this._data.disabled;
111
- }
112
- get isDefault() {
113
- return this._data.isDefault;
114
- }
115
- get identifier() {
116
- return ___NS__kebabCase(this._data.name);
117
- }
118
- set disabled(v) {
119
- this._data.disabled = v;
120
- }
121
- get environmentName() {
122
- return this._data.environmentName || "";
123
- }
124
- get skipUpdateOfServerEtcHosts() {
125
- return this._data.skipUpdateOfServerEtcHosts || false;
126
- }
127
- set skipUpdateOfServerEtcHosts(v) {
128
- this._data.skipUpdateOfServerEtcHosts = v;
129
- }
130
- get ipOrDomain() {
131
- if (this.disabled) {
132
- return "";
133
- }
134
- const res = (this.domain ? this.domain : this.ip) || "";
135
- return res;
136
- }
137
- get ipOrFirstAlias() {
138
- if (this.disabled) {
139
- return "";
140
- }
141
- const res = (this.firstAlias ? this.firstAlias : this.ip) || "";
142
- return res;
143
- }
144
- get hostname() {
145
- const h = UtilsNetwork__NS__urlParse(this.ipOrFirstAlias, { forceDomain: true });
146
- return h ? h.hostname : void 0;
147
- }
148
- get hostnameFirstAlias() {
149
- const h = UtilsNetwork__NS__urlParse(this.firstAlias, { forceDomain: true });
150
- return h ? h.hostname : void 0;
151
- }
152
- get hostnameIp() {
153
- const h = UtilsNetwork__NS__urlParse(this.ip);
154
- return h ? h.hostname : void 0;
155
- }
156
- get nameWithIpOrDomain() {
157
- return chalk.underline(`${this.name} ${this.ipOrDomain}`);
158
- }
159
- toString = () => {
160
- return `[string version] ${this.nameWithIpOrDomain}`;
161
- };
1
+ //#region imports
2
+ import { chalk, ___NS__cloneDeep, ___NS__first, ___NS__isArray, ___NS__isBoolean, ___NS__isObject, ___NS__isString, ___NS__kebabCase, UtilsNetwork__NS__isValidIp, UtilsNetwork__NS__urlParse } from 'tnp-core/lib-prod';
3
+ import { HelpersTaon__NS__strings__NS__splitIfNeed } from 'tnp-helpers/lib-prod';
4
+ export class HostForServer {
5
+ clone() {
6
+ return HostForServer.From(this);
7
+ }
8
+ static From(ipOrDomain, name = '', disabled = false) {
9
+ if (!ipOrDomain) {
10
+ return void 0;
11
+ }
12
+ if (___NS__isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
13
+ const dataClone = ___NS__cloneDeep(ipOrDomain._data);
14
+ dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
15
+ if (!___NS__isBoolean(dataClone.disabled)) {
16
+ dataClone.disabled = disabled;
17
+ }
18
+ return new HostForServer(dataClone);
19
+ }
20
+ if (___NS__isString(ipOrDomain)) {
21
+ // @ts-ignore
22
+ const parsed = UtilsNetwork__NS__urlParse(ipOrDomain);
23
+ if (parsed) {
24
+ ipOrDomain = parsed;
25
+ }
26
+ }
27
+ if (___NS__isObject(ipOrDomain) && ipOrDomain instanceof URL) {
28
+ ipOrDomain = ipOrDomain;
29
+ if (UtilsNetwork__NS__isValidIp(ipOrDomain?.host)) {
30
+ return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
31
+ }
32
+ else {
33
+ return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
34
+ }
35
+ }
36
+ else {
37
+ if (___NS__isString(ipOrDomain)) {
38
+ return new HostForServer({ ipOrDomain, name, disabled });
39
+ }
40
+ else {
41
+ ipOrDomain.name =
42
+ name && name.trim() !== ''
43
+ ? name
44
+ : ipOrDomain.name;
45
+ if (!___NS__isBoolean(ipOrDomain.disabled)) {
46
+ ipOrDomain.disabled = disabled;
47
+ }
48
+ return new HostForServer(ipOrDomain);
49
+ }
50
+ }
51
+ }
52
+ constructor(data) {
53
+ this.toString = () => {
54
+ return `[string version] ${this.nameWithIpOrDomain}`;
55
+ };
56
+ if (data?.ipOrDomain) {
57
+ if (UtilsNetwork__NS__isValidIp(data.ipOrDomain)) {
58
+ data.ip = data.ipOrDomain;
59
+ }
60
+ else {
61
+ data.domain = data.ipOrDomain;
62
+ }
63
+ }
64
+ if (data && !data.ip) {
65
+ data.ip = '';
66
+ }
67
+ if (data && !data.domain) {
68
+ data.domain = '';
69
+ }
70
+ if (!data) {
71
+ data = {};
72
+ }
73
+ if (___NS__isString(data?.aliases)) {
74
+ data.aliases = HelpersTaon__NS__strings__NS__splitIfNeed(data.aliases);
75
+ }
76
+ this._data = data;
77
+ }
78
+ get ip() {
79
+ if (this.disabled) {
80
+ return '';
81
+ }
82
+ return this._data.ip;
83
+ }
84
+ set ip(newIpAddress) {
85
+ this._data.ip = newIpAddress;
86
+ }
87
+ get domain() {
88
+ if (this.disabled) {
89
+ return '';
90
+ }
91
+ return this._data.domain;
92
+ }
93
+ get aliases() {
94
+ if (this.disabled) {
95
+ return [];
96
+ }
97
+ if (___NS__isString(this._data.aliases)) {
98
+ return this._data.aliases.split(' ');
99
+ }
100
+ if (!___NS__isArray(this._data.aliases)) {
101
+ return [];
102
+ }
103
+ return this._data.aliases;
104
+ }
105
+ get firstAlias() {
106
+ return ___NS__first(this.aliases);
107
+ }
108
+ get name() {
109
+ return this._data.name;
110
+ }
111
+ set name(v) {
112
+ this._data.name = v;
113
+ }
114
+ get originHostname() {
115
+ return this._data.originHostname;
116
+ }
117
+ set originHostname(v) {
118
+ this._data.originHostname = v;
119
+ }
120
+ get disabled() {
121
+ return this._data.disabled;
122
+ }
123
+ get isDefault() {
124
+ return this._data.isDefault;
125
+ }
126
+ get identifier() {
127
+ return ___NS__kebabCase(this._data.name);
128
+ }
129
+ set disabled(v) {
130
+ this._data.disabled = v;
131
+ }
132
+ get environmentName() {
133
+ return this._data.environmentName || '';
134
+ }
135
+ get skipUpdateOfServerEtcHosts() {
136
+ return this._data.skipUpdateOfServerEtcHosts || false;
137
+ }
138
+ set skipUpdateOfServerEtcHosts(v) {
139
+ this._data.skipUpdateOfServerEtcHosts = v;
140
+ }
141
+ get ipOrDomain() {
142
+ if (this.disabled) {
143
+ return '';
144
+ }
145
+ const res = (this.domain ? this.domain : this.ip) || '';
146
+ return res;
147
+ // return res.startsWith('http') ? res : `http://${res}`;
148
+ }
149
+ get ipOrFirstAlias() {
150
+ if (this.disabled) {
151
+ return '';
152
+ }
153
+ const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
154
+ return res;
155
+ // return res.startsWith('http') ? res : `http://${res}`;
156
+ }
157
+ get hostname() {
158
+ // @ts-ignore
159
+ const h = UtilsNetwork__NS__urlParse(this.ipOrFirstAlias, { forceDomain: true });
160
+ return h ? h.hostname : void 0;
161
+ }
162
+ get hostnameFirstAlias() {
163
+ // @ts-ignore
164
+ const h = UtilsNetwork__NS__urlParse(this.firstAlias, { forceDomain: true });
165
+ return h ? h.hostname : void 0;
166
+ }
167
+ get hostnameIp() {
168
+ // @ts-ignore
169
+ const h = UtilsNetwork__NS__urlParse(this.ip);
170
+ return h ? h.hostname : void 0;
171
+ }
172
+ get nameWithIpOrDomain() {
173
+ return chalk.underline(`${this.name} ${this.ipOrDomain}`);
174
+ }
162
175
  }
163
- export {
164
- HostForServer
165
- };
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "vpn-split/lib-prod",
3
- "version": "21.0.19"
3
+ "version": "21.0.20"
4
4
  }
@@ -0,0 +1,23 @@
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