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
package/lib/models.js
CHANGED
|
@@ -1,229 +1,176 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HostForServer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.toString = function () {
|
|
10
|
-
return "[string version] ".concat(_this.nameWithIpOrDomain);
|
|
11
|
-
};
|
|
12
|
-
if (data === null || data === void 0 ? void 0 : data.ipOrDomain) { // @ts-ignore
|
|
13
|
-
if (tnp_helpers_1.Helpers.isValidIp(data.ipOrDomain)) {
|
|
14
|
-
data.ip = data.ipOrDomain;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
data.domain = data.ipOrDomain;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (data && !data.ip) {
|
|
21
|
-
data.ip = '';
|
|
22
|
-
}
|
|
23
|
-
if (data && !data.domain) {
|
|
24
|
-
data.domain = '';
|
|
25
|
-
}
|
|
26
|
-
if (!data) {
|
|
27
|
-
data = {};
|
|
28
|
-
}
|
|
29
|
-
if (tnp_core_1._.isString(data === null || data === void 0 ? void 0 : data.aliases)) { // @ts-ignore
|
|
30
|
-
data.aliases = tnp_helpers_1.Helpers.strings.splitIfNeed(data.aliases);
|
|
31
|
-
}
|
|
32
|
-
this._data = data;
|
|
33
|
-
}
|
|
34
|
-
HostForServer.prototype.clone = function () {
|
|
4
|
+
const tnp_core_1 = require("tnp-core");
|
|
5
|
+
const tnp_helpers_1 = require("tnp-helpers");
|
|
6
|
+
class HostForServer {
|
|
7
|
+
_data;
|
|
8
|
+
clone() {
|
|
35
9
|
return HostForServer.From(this);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (name === void 0) { name = ''; }
|
|
39
|
-
if (disabled === void 0) { disabled = false; }
|
|
10
|
+
}
|
|
11
|
+
static From(ipOrDomain, name = '', disabled = false) {
|
|
40
12
|
if (!ipOrDomain) {
|
|
41
13
|
return void 0;
|
|
42
14
|
}
|
|
43
15
|
if (tnp_core_1._.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
44
|
-
|
|
45
|
-
dataClone.name =
|
|
46
|
-
name : dataClone.name;
|
|
16
|
+
const dataClone = tnp_core_1._.cloneDeep(ipOrDomain._data);
|
|
17
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
47
18
|
if (!tnp_core_1._.isBoolean(dataClone.disabled)) {
|
|
48
19
|
dataClone.disabled = disabled;
|
|
49
20
|
}
|
|
50
21
|
return new HostForServer(dataClone);
|
|
51
22
|
}
|
|
52
|
-
if (tnp_core_1._.isString(ipOrDomain)) {
|
|
53
|
-
|
|
23
|
+
if (tnp_core_1._.isString(ipOrDomain)) {
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
const parsed = tnp_helpers_1.Helpers.urlParse(ipOrDomain);
|
|
54
26
|
if (parsed) {
|
|
55
27
|
ipOrDomain = parsed;
|
|
56
28
|
}
|
|
57
29
|
}
|
|
58
|
-
if (tnp_core_1._.isObject(ipOrDomain) &&
|
|
30
|
+
if (tnp_core_1._.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
59
31
|
ipOrDomain = ipOrDomain; // @ts-ignore
|
|
60
|
-
if (tnp_helpers_1.Helpers.isValidIp(ipOrDomain
|
|
61
|
-
return new HostForServer({ ip: ipOrDomain.origin, name
|
|
32
|
+
if (tnp_helpers_1.Helpers.isValidIp(ipOrDomain?.host)) {
|
|
33
|
+
return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
|
|
62
34
|
}
|
|
63
35
|
else {
|
|
64
|
-
return new HostForServer({ domain: ipOrDomain.origin, name
|
|
36
|
+
return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
|
|
65
37
|
}
|
|
66
38
|
}
|
|
67
39
|
else {
|
|
68
40
|
if (tnp_core_1._.isString(ipOrDomain)) {
|
|
69
|
-
return new HostForServer({ ipOrDomain
|
|
41
|
+
return new HostForServer({ ipOrDomain, name, disabled });
|
|
70
42
|
}
|
|
71
43
|
else {
|
|
72
|
-
ipOrDomain.name =
|
|
73
|
-
name
|
|
44
|
+
ipOrDomain.name =
|
|
45
|
+
name && name.trim() !== ''
|
|
46
|
+
? name
|
|
47
|
+
: ipOrDomain.name;
|
|
74
48
|
if (!tnp_core_1._.isBoolean(ipOrDomain.disabled)) {
|
|
75
49
|
ipOrDomain.disabled = disabled;
|
|
76
50
|
}
|
|
77
51
|
return new HostForServer(ipOrDomain);
|
|
78
52
|
}
|
|
79
53
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return this._data.ip;
|
|
87
|
-
},
|
|
88
|
-
set: function (newIpAddress) {
|
|
89
|
-
this._data.ip = newIpAddress;
|
|
90
|
-
},
|
|
91
|
-
enumerable: false,
|
|
92
|
-
configurable: true
|
|
93
|
-
});
|
|
94
|
-
Object.defineProperty(HostForServer.prototype, "domain", {
|
|
95
|
-
get: function () {
|
|
96
|
-
if (this.disabled) {
|
|
97
|
-
return '';
|
|
98
|
-
}
|
|
99
|
-
return this._data.domain;
|
|
100
|
-
},
|
|
101
|
-
enumerable: false,
|
|
102
|
-
configurable: true
|
|
103
|
-
});
|
|
104
|
-
Object.defineProperty(HostForServer.prototype, "aliases", {
|
|
105
|
-
get: function () {
|
|
106
|
-
if (this.disabled) {
|
|
107
|
-
return [];
|
|
108
|
-
}
|
|
109
|
-
if (tnp_core_1._.isString(this._data.aliases)) {
|
|
110
|
-
return this._data.aliases.split(' ');
|
|
111
|
-
}
|
|
112
|
-
if (!tnp_core_1._.isArray(this._data.aliases)) {
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
return this._data.aliases;
|
|
116
|
-
},
|
|
117
|
-
enumerable: false,
|
|
118
|
-
configurable: true
|
|
119
|
-
});
|
|
120
|
-
Object.defineProperty(HostForServer.prototype, "firstAlias", {
|
|
121
|
-
get: function () {
|
|
122
|
-
return tnp_core_1._.first(this.aliases);
|
|
123
|
-
},
|
|
124
|
-
enumerable: false,
|
|
125
|
-
configurable: true
|
|
126
|
-
});
|
|
127
|
-
Object.defineProperty(HostForServer.prototype, "name", {
|
|
128
|
-
get: function () {
|
|
129
|
-
return this._data.name;
|
|
130
|
-
},
|
|
131
|
-
set: function (v) {
|
|
132
|
-
this._data.name = v;
|
|
133
|
-
},
|
|
134
|
-
enumerable: false,
|
|
135
|
-
configurable: true
|
|
136
|
-
});
|
|
137
|
-
Object.defineProperty(HostForServer.prototype, "originHostname", {
|
|
138
|
-
get: function () {
|
|
139
|
-
return this._data.originHostname;
|
|
140
|
-
},
|
|
141
|
-
set: function (v) {
|
|
142
|
-
this._data.originHostname = v;
|
|
143
|
-
},
|
|
144
|
-
enumerable: false,
|
|
145
|
-
configurable: true
|
|
146
|
-
});
|
|
147
|
-
Object.defineProperty(HostForServer.prototype, "disabled", {
|
|
148
|
-
get: function () {
|
|
149
|
-
return this._data.disabled;
|
|
150
|
-
},
|
|
151
|
-
set: function (v) {
|
|
152
|
-
this._data.disabled = v;
|
|
153
|
-
},
|
|
154
|
-
enumerable: false,
|
|
155
|
-
configurable: true
|
|
156
|
-
});
|
|
157
|
-
Object.defineProperty(HostForServer.prototype, "isDefault", {
|
|
158
|
-
get: function () {
|
|
159
|
-
return this._data.isDefault;
|
|
160
|
-
},
|
|
161
|
-
enumerable: false,
|
|
162
|
-
configurable: true
|
|
163
|
-
});
|
|
164
|
-
Object.defineProperty(HostForServer.prototype, "identifier", {
|
|
165
|
-
get: function () {
|
|
166
|
-
return tnp_core_1._.kebabCase(this._data.name);
|
|
167
|
-
},
|
|
168
|
-
enumerable: false,
|
|
169
|
-
configurable: true
|
|
170
|
-
});
|
|
171
|
-
Object.defineProperty(HostForServer.prototype, "ipOrDomain", {
|
|
172
|
-
get: function () {
|
|
173
|
-
if (this.disabled) {
|
|
174
|
-
return '';
|
|
54
|
+
}
|
|
55
|
+
constructor(data) {
|
|
56
|
+
if (data?.ipOrDomain) {
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
if (tnp_helpers_1.Helpers.isValidIp(data.ipOrDomain)) {
|
|
59
|
+
data.ip = data.ipOrDomain;
|
|
175
60
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// return res.startsWith('http') ? res : `http://${res}`;
|
|
179
|
-
},
|
|
180
|
-
enumerable: false,
|
|
181
|
-
configurable: true
|
|
182
|
-
});
|
|
183
|
-
Object.defineProperty(HostForServer.prototype, "ipOrFirstAlias", {
|
|
184
|
-
get: function () {
|
|
185
|
-
if (this.disabled) {
|
|
186
|
-
return '';
|
|
61
|
+
else {
|
|
62
|
+
data.domain = data.ipOrDomain;
|
|
187
63
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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 (tnp_core_1._.isString(data?.aliases)) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
data.aliases = tnp_helpers_1.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 (tnp_core_1._.isString(this._data.aliases)) {
|
|
100
|
+
return this._data.aliases.split(' ');
|
|
101
|
+
}
|
|
102
|
+
if (!tnp_core_1._.isArray(this._data.aliases)) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
return this._data.aliases;
|
|
106
|
+
}
|
|
107
|
+
get firstAlias() {
|
|
108
|
+
return tnp_core_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 tnp_core_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 ipOrDomain() {
|
|
138
|
+
if (this.disabled) {
|
|
139
|
+
return '';
|
|
140
|
+
}
|
|
141
|
+
const res = (this.domain ? this.domain : this.ip) || '';
|
|
142
|
+
return res;
|
|
143
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
144
|
+
}
|
|
145
|
+
get ipOrFirstAlias() {
|
|
146
|
+
if (this.disabled) {
|
|
147
|
+
return '';
|
|
148
|
+
}
|
|
149
|
+
const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
|
|
150
|
+
return res;
|
|
151
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
152
|
+
}
|
|
153
|
+
get hostname() {
|
|
154
|
+
// @ts-ignore
|
|
155
|
+
const h = tnp_helpers_1.Helpers.urlParse(this.ipOrFirstAlias, true);
|
|
156
|
+
return h ? h.hostname : void 0;
|
|
157
|
+
}
|
|
158
|
+
get hostnameFirstAlias() {
|
|
159
|
+
// @ts-ignore
|
|
160
|
+
const h = tnp_helpers_1.Helpers.urlParse(this.firstAlias, true);
|
|
161
|
+
return h ? h.hostname : void 0;
|
|
162
|
+
}
|
|
163
|
+
get hostnameIp() {
|
|
164
|
+
// @ts-ignore
|
|
165
|
+
const h = tnp_helpers_1.Helpers.urlParse(this.ip);
|
|
166
|
+
return h ? h.hostname : void 0;
|
|
167
|
+
}
|
|
168
|
+
get nameWithIpOrDomain() {
|
|
169
|
+
return tnp_core_1.chalk.underline(`${this.name} ${this.ipOrDomain}`);
|
|
170
|
+
}
|
|
171
|
+
toString = () => {
|
|
172
|
+
return `[string version] ${this.nameWithIpOrDomain}`;
|
|
173
|
+
};
|
|
174
|
+
}
|
|
228
175
|
exports.HostForServer = HostForServer;
|
|
229
176
|
//# sourceMappingURL=models.js.map
|
package/lib/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/models.ts"],"names":[],"mappings":"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"}
|
package/lib/start.backend.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/start.backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,kBAAkB;AAClB,yCAAyC;AACzC,kDAAkD;AAClD,8DAA8D;AAG9D,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"}
|
|
1
|
+
{"version":3,"file":"start.backend.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/vpn-split/src/lib/start.backend.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,yCAAyC;AACzC,kDAAkD;AAClD,8DAA8D;AAG9D,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"}
|
|
@@ -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
|
}
|